mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-04 07:31:38 +02:00
Standby cluster promotion by changing manifest (#2472)
* Standby cluster promotion by changing manifest * Updated the documentation --------- Co-authored-by: Senthilnathan M <snathanm@vmware.com>
This commit is contained in:
co-authored by
Senthilnathan M
parent
bbba15f9bf
commit
dad5b132ec
@@ -34,6 +34,7 @@ type Interface interface {
|
||||
GetClusterMembers(master *v1.Pod) ([]ClusterMember, error)
|
||||
Switchover(master *v1.Pod, candidate string) error
|
||||
SetPostgresParameters(server *v1.Pod, options map[string]string) error
|
||||
SetStandbyClusterParameters(server *v1.Pod, options map[string]interface{}) error
|
||||
GetMemberData(server *v1.Pod) (MemberData, error)
|
||||
Restart(server *v1.Pod) error
|
||||
GetConfig(server *v1.Pod) (acidv1.Patroni, map[string]string, error)
|
||||
@@ -150,7 +151,7 @@ func (p *Patroni) Switchover(master *v1.Pod, candidate string) error {
|
||||
|
||||
//TODO: add an option call /patroni to check if it is necessary to restart the server
|
||||
|
||||
//SetPostgresParameters sets Postgres options via Patroni patch API call.
|
||||
// SetPostgresParameters sets Postgres options via Patroni patch API call.
|
||||
func (p *Patroni) SetPostgresParameters(server *v1.Pod, parameters map[string]string) error {
|
||||
buf := &bytes.Buffer{}
|
||||
err := json.NewEncoder(buf).Encode(map[string]map[string]interface{}{"postgresql": {"parameters": parameters}})
|
||||
@@ -164,7 +165,12 @@ func (p *Patroni) SetPostgresParameters(server *v1.Pod, parameters map[string]st
|
||||
return p.httpPostOrPatch(http.MethodPatch, apiURLString+configPath, buf)
|
||||
}
|
||||
|
||||
//SetConfig sets Patroni options via Patroni patch API call.
|
||||
// SetStandbyClusterParameters sets StandbyCluster options via Patroni patch API call.
|
||||
func (p *Patroni) SetStandbyClusterParameters(server *v1.Pod, parameters map[string]interface{}) error {
|
||||
return p.SetConfig(server, map[string]interface{}{"standby_cluster": parameters})
|
||||
}
|
||||
|
||||
// SetConfig sets Patroni options via Patroni patch API call.
|
||||
func (p *Patroni) SetConfig(server *v1.Pod, config map[string]interface{}) error {
|
||||
buf := &bytes.Buffer{}
|
||||
err := json.NewEncoder(buf).Encode(config)
|
||||
|
||||
Reference in New Issue
Block a user