Compare Postgres pod priority on Sync (#1144)
* compare Postgres pod priority on Sync Co-authored-by: Sergey Dudoladov <sergey.dudoladov@zalando.de>
This commit is contained in:
parent
ab95eaa6ef
commit
2a21cc4393
|
|
@ -20,4 +20,4 @@ script:
|
|||
- hack/verify-codegen.sh
|
||||
- travis_wait 20 go test -race -covermode atomic -coverprofile=profile.cov ./pkg/... -v
|
||||
- goveralls -coverprofile=profile.cov -service=travis-ci -v
|
||||
- make e2e
|
||||
- travis_wait 20 make e2e
|
||||
|
|
|
|||
|
|
@ -2,6 +2,10 @@ version: "2017-09-20"
|
|||
pipeline:
|
||||
- id: build-postgres-operator
|
||||
type: script
|
||||
vm: large
|
||||
cache:
|
||||
paths:
|
||||
- /go/pkg/mod
|
||||
commands:
|
||||
- desc: 'Update'
|
||||
cmd: |
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ data:
|
|||
pod_service_account_name: "postgres-pod"
|
||||
# pod_service_account_role_binding_definition: ""
|
||||
pod_terminate_grace_period: 5m
|
||||
# pod_priority_class_name: "postgres-pod-priority"
|
||||
# postgres_superuser_teams: "postgres_superusers"
|
||||
# protected_role_names: "admin"
|
||||
ready_wait_interval: 3s
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
apiVersion: scheduling.k8s.io/v1
|
||||
description: 'This priority class must be used only for databases controlled by the
|
||||
Postgres operator'
|
||||
kind: PriorityClass
|
||||
metadata:
|
||||
labels:
|
||||
application: postgres-operator
|
||||
name: postgres-pod-priority
|
||||
preemptionPolicy: PreemptLowerPriority
|
||||
globalDefault: false
|
||||
value: 1000000
|
||||
|
|
@ -459,6 +459,15 @@ func (c *Cluster) compareStatefulSetWith(statefulSet *appsv1.StatefulSet) *compa
|
|||
}
|
||||
}
|
||||
|
||||
// we assume any change in priority happens by rolling out a new priority class
|
||||
// changing the priority value in an existing class is not supproted
|
||||
if c.Statefulset.Spec.Template.Spec.PriorityClassName != statefulSet.Spec.Template.Spec.PriorityClassName {
|
||||
match = false
|
||||
needsReplace = true
|
||||
needsRollUpdate = true
|
||||
reasons = append(reasons, "new statefulset's pod priority class in spec doesn't match the current one")
|
||||
}
|
||||
|
||||
// lazy Spilo update: modify the image in the statefulset itself but let its pods run with the old image
|
||||
// until they are re-created for other reasons, for example node rotation
|
||||
if c.OpConfig.EnableLazySpiloUpgrade && !reflect.DeepEqual(c.Statefulset.Spec.Template.Spec.Containers[0].Image, statefulSet.Spec.Template.Spec.Containers[0].Image) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue