From c1d108a8321190559e4280b440ffe448339f656f Mon Sep 17 00:00:00 2001 From: Sergey Dudoladov Date: Mon, 15 Apr 2019 13:52:38 +0200 Subject: [PATCH] Fix CRD-based operator configuration (#541) * Fix CRD-based operator configuration * add inherited labels, update docker image --- charts/postgres-operator/values.yaml | 7 +++++-- manifests/configmap.yaml | 3 ++- manifests/postgresql-operator-default-configuration.yaml | 3 +++ pkg/apis/acid.zalan.do/v1/operator_configuration_type.go | 5 +++-- pkg/controller/operator_config.go | 1 + 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/charts/postgres-operator/values.yaml b/charts/postgres-operator/values.yaml index 1f3397bad..21813fbe9 100644 --- a/charts/postgres-operator/values.yaml +++ b/charts/postgres-operator/values.yaml @@ -21,7 +21,7 @@ config: debug_logging: "true" workers: "4" - docker_image: registry.opensource.zalan.do/acid/spilo-cdp-10:1.5-p35 + docker_image: registry.opensource.zalan.do/acid/spilo-cdp-11:1.5-p70 secret_name_template: '{username}.{cluster}.credentials' super_username: postgres enable_teams_api: "false" @@ -37,6 +37,7 @@ config: # pam_role_name: zalandos # pam_configuration: | # https://info.example.com/oauth2/tokeninfo?access_token= uid realm=/employees + # inherited_labels: "" aws_region: eu-central-1 db_hosted_zone: db.example.com master_dns_name_format: '{cluster}.{team}.staging.{hostedzone}' @@ -58,7 +59,9 @@ config: resource_check_interval: 3s resource_check_timeout: 10m resync_period: 5m - + pod_management_policy: "ordered_ready" + enable_pod_antiaffinity: "false" + pod_antiaffinity_topology_key: "kubernetes.io/hostname" rbac: # Specifies whether RBAC resources should be created create: true diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index 9b951e582..17830c41f 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -10,7 +10,7 @@ data: debug_logging: "true" workers: "4" - docker_image: registry.opensource.zalan.do/acid/spilo-11:1.5-p4 + docker_image: registry.opensource.zalan.do/acid/spilo-cdp-11:1.5-p70 pod_service_account_name: "zalando-postgres-operator" secret_name_template: '{username}.{cluster}.credentials' super_username: postgres @@ -30,6 +30,7 @@ data: # pam_role_name: zalandos # pam_configuration: | # https://info.example.com/oauth2/tokeninfo?access_token= uid realm=/employees + # inherited_labels: "" aws_region: eu-central-1 db_hosted_zone: db.example.com master_dns_name_format: '{cluster}.{team}.staging.{hostedzone}' diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index ef88fdd25..5ea5ba87c 100644 --- a/manifests/postgresql-operator-default-configuration.yaml +++ b/manifests/postgresql-operator-default-configuration.yaml @@ -35,6 +35,9 @@ configuration: # toleration: {} # infrastructure_roles_secret_name: "" # pod_environment_configmap: "" + pod_management_policy: "ordered_ready" + enable_pod_antiaffinity: "false" + pod_antiaffinity_topology_key: "kubernetes.io/hostname" postgres_pod_resources: default_cpu_request: 100m default_memory_request: 100Mi diff --git a/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go index a13575de2..d4ea04e15 100644 --- a/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go +++ b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go @@ -62,8 +62,9 @@ type KubernetesMetaConfiguration struct { PodEnvironmentConfigMap string `json:"pod_environment_configmap,omitempty"` PodPriorityClassName string `json:"pod_priority_class_name,omitempty"` MasterPodMoveTimeout time.Duration `json:"master_pod_move_timeout,omitempty"` - EnablePodAntiAffinity bool `json:"enable_pod_antiaffinity" default:"false"` - PodAntiAffinityTopologyKey string `name:"pod_antiaffinity_topology_key" default:"kubernetes.io/hostname"` + EnablePodAntiAffinity bool `json:"enable_pod_antiaffinity,omitempty"` + PodAntiAffinityTopologyKey string `json:"pod_antiaffinity_topology_key,omitempty"` + PodManagementPolicy string `json:"pod_management_policy,omitempty"` } // PostgresPodResourcesDefaults defines the spec of default resources diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index ea7ac1b3f..bb4f89918 100644 --- a/pkg/controller/operator_config.go +++ b/pkg/controller/operator_config.go @@ -53,6 +53,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur result.ClusterNameLabel = fromCRD.Kubernetes.ClusterNameLabel result.NodeReadinessLabel = fromCRD.Kubernetes.NodeReadinessLabel result.PodPriorityClassName = fromCRD.Kubernetes.PodPriorityClassName + result.PodManagementPolicy = fromCRD.Kubernetes.PodManagementPolicy result.MasterPodMoveTimeout = fromCRD.Kubernetes.MasterPodMoveTimeout result.EnablePodAntiAffinity = fromCRD.Kubernetes.EnablePodAntiAffinity