mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-19 00:01:06 +02:00
do not create endpoints when use config maps (#1760)
* do not create endpoints when use config maps * delete cluster objects with 'leader' suffix Co-authored-by: Евграфов Александр Александрович <aevgrafov@cmx.ru>
This commit is contained in:
co-authored by
Евграфов Александр Александрович
parent
7e92fa6cb0
commit
30f2ba6525
+16
-13
@@ -43,7 +43,7 @@ var (
|
|||||||
alphaNumericRegexp = regexp.MustCompile("^[a-zA-Z][a-zA-Z0-9]*$")
|
alphaNumericRegexp = regexp.MustCompile("^[a-zA-Z][a-zA-Z0-9]*$")
|
||||||
databaseNameRegexp = regexp.MustCompile("^[a-zA-Z_][a-zA-Z0-9_]*$")
|
databaseNameRegexp = regexp.MustCompile("^[a-zA-Z_][a-zA-Z0-9_]*$")
|
||||||
userRegexp = regexp.MustCompile(`^[a-z0-9]([-_a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-_a-z0-9]*[a-z0-9])?)*$`)
|
userRegexp = regexp.MustCompile(`^[a-z0-9]([-_a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-_a-z0-9]*[a-z0-9])?)*$`)
|
||||||
patroniObjectSuffixes = []string{"config", "failover", "sync"}
|
patroniObjectSuffixes = []string{"config", "failover", "sync", "leader"}
|
||||||
)
|
)
|
||||||
|
|
||||||
// Config contains operator-wide clients and configuration used from a cluster. TODO: remove struct duplication.
|
// Config contains operator-wide clients and configuration used from a cluster. TODO: remove struct duplication.
|
||||||
@@ -258,18 +258,20 @@ func (c *Cluster) Create() error {
|
|||||||
|
|
||||||
for _, role := range []PostgresRole{Master, Replica} {
|
for _, role := range []PostgresRole{Master, Replica} {
|
||||||
|
|
||||||
if c.Endpoints[role] != nil {
|
if !c.patroniKubernetesUseConfigMaps() {
|
||||||
return fmt.Errorf("%s endpoint already exists in the cluster", role)
|
if c.Endpoints[role] != nil {
|
||||||
}
|
return fmt.Errorf("%s endpoint already exists in the cluster", role)
|
||||||
if role == Master {
|
}
|
||||||
// replica endpoint will be created by the replica service. Master endpoint needs to be created by us,
|
if role == Master {
|
||||||
// since the corresponding master service does not define any selectors.
|
// replica endpoint will be created by the replica service. Master endpoint needs to be created by us,
|
||||||
ep, err = c.createEndpoint(role)
|
// since the corresponding master service does not define any selectors.
|
||||||
if err != nil {
|
ep, err = c.createEndpoint(role)
|
||||||
return fmt.Errorf("could not create %s endpoint: %v", role, err)
|
if err != nil {
|
||||||
|
return fmt.Errorf("could not create %s endpoint: %v", role, err)
|
||||||
|
}
|
||||||
|
c.logger.Infof("endpoint %q has been successfully created", util.NameFromMeta(ep.ObjectMeta))
|
||||||
|
c.eventRecorder.Eventf(c.GetReference(), v1.EventTypeNormal, "Endpoints", "Endpoint %q has been successfully created", util.NameFromMeta(ep.ObjectMeta))
|
||||||
}
|
}
|
||||||
c.logger.Infof("endpoint %q has been successfully created", util.NameFromMeta(ep.ObjectMeta))
|
|
||||||
c.eventRecorder.Eventf(c.GetReference(), v1.EventTypeNormal, "Endpoints", "Endpoint %q has been successfully created", util.NameFromMeta(ep.ObjectMeta))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.Services[role] != nil {
|
if c.Services[role] != nil {
|
||||||
@@ -1576,8 +1578,9 @@ func (c *Cluster) deletePatroniClusterObjects() error {
|
|||||||
|
|
||||||
if !c.patroniKubernetesUseConfigMaps() {
|
if !c.patroniKubernetesUseConfigMaps() {
|
||||||
actionsList = append(actionsList, c.deletePatroniClusterEndpoints)
|
actionsList = append(actionsList, c.deletePatroniClusterEndpoints)
|
||||||
|
} else {
|
||||||
|
actionsList = append(actionsList, c.deletePatroniClusterServices, c.deletePatroniClusterConfigMaps)
|
||||||
}
|
}
|
||||||
actionsList = append(actionsList, c.deletePatroniClusterServices, c.deletePatroniClusterConfigMaps)
|
|
||||||
|
|
||||||
c.logger.Debugf("removing leftover Patroni objects (endpoints / services and configmaps)")
|
c.logger.Debugf("removing leftover Patroni objects (endpoints / services and configmaps)")
|
||||||
for _, deleter := range actionsList {
|
for _, deleter := range actionsList {
|
||||||
|
|||||||
Reference in New Issue
Block a user