From 3e0a5d03a908198a182ff5ee2b1a0882697d550c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Mu=C3=9Fler?= Date: Mon, 22 Feb 2021 23:48:27 +0100 Subject: [PATCH] Adding more patroni fields. Added example result. --- pkg/util/patroni/patroni.go | 14 +++++++++----- pkg/util/patroni/patroni_test.go | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/pkg/util/patroni/patroni.go b/pkg/util/patroni/patroni.go index c4024a146..7912adde3 100644 --- a/pkg/util/patroni/patroni.go +++ b/pkg/util/patroni/patroni.go @@ -73,7 +73,9 @@ func (p *Patroni) httpPostOrPatch(method string, url string, body *bytes.Buffer) return fmt.Errorf("could not create request: %v", err) } - p.logger.Debugf("making %s http request: %s", method, request.URL.String()) + if p.logger != nil { + p.logger.Debugf("making %s http request: %s", method, request.URL.String()) + } resp, err := p.httpClient.Do(request) if err != nil { @@ -139,10 +141,12 @@ type MemberDataPatroni struct { // MemberData Patroni member data from Patroni API type MemberData struct { - State string `json:"state"` - Role string `json:"role"` - ServerVersion int `json:"server_version"` - Patroni MemberDataPatroni `json:"patroni"` + State string `json:"state"` + Role string `json:"role"` + ServerVersion int `json:"server_version"` + PendingRestart string `json:"pending_restart"` + ClusterUnlocked bool `json:"cluster_unlocked"` + Patroni MemberDataPatroni `json:"patroni"` } // GetMemberData read member data from patroni API diff --git a/pkg/util/patroni/patroni_test.go b/pkg/util/patroni/patroni_test.go index f485107d5..40537aa5e 100644 --- a/pkg/util/patroni/patroni_test.go +++ b/pkg/util/patroni/patroni_test.go @@ -84,7 +84,7 @@ func TestPatroniAPI(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() - json := `{"name":"Test Name","full_name":"test full name","owner":{"login": "octocat"}}` + json := `{"state": "running", "postmaster_start_time": "2021-02-19 14:31:50.053 CET", "role": "master", "server_version": 90621, "cluster_unlocked": false, "xlog": {"location": 55978296057856}, "timeline": 6, "database_system_identifier": "6462555844314089962", "pending_restart": true, "patroni": {"version": "2.0.1", "scope": "acid-rest92-standby"}}` r := ioutil.NopCloser(bytes.NewReader([]byte(json))) response := http.Response{