percona / percona/postgres-packaging

pgsql 16.x Etcd Reports Version that breaks Patroni

Open
#928 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
12
Forks
15
Avg merge
1h 26m
Merged PRs (30d)
18

Description

Discussion with Patroni explains the issue and workaround of patroni/dcs/etcd3.py

https://github.com/patroni/patroni/discussions/3385

Summary:

curl --cacert /etc/pki/tls/certs/ca.crt --cert /etc/pki/tls/certs/host.crt --key /etc/pki/tls/private/host.key https://my-host-psqldb03.mydomain.com:2379/version -X GET -d '{}'

Curl returns {"etcdserver":"3.5.21","etcdcluster":"3.0.0"}

Patroni uses 3.0.0 to formulate the URL to get the cluster state. The URL returns 404 because etcd deprecated the API endpoint assuming it's a very old version of etcd API.

Curl needs to return something like {"etcdserver":"3.5.21","etcdcluster":"3.5.0"}

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the linked Patroni discussion and patroni/dcs/etcd3.py, then reproduce the /version request with the curl command and certificates shown in the issue. Compare the returned etcdcluster value with the value Patroni uses and verify that the resulting cluster-state request no longer returns 404.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.