Skip to content

Commit fc531fa

Browse files
committed
K8SPG-730: add .status.observedGeneration for PerconaPGCluster
https://perconadev.atlassian.net/browse/K8SPG-730
1 parent 0ffb49f commit fc531fa

File tree

8 files changed

+29
-1
lines changed

8 files changed

+29
-1
lines changed

build/crd/percona/generated/pgv2.percona.com_perconapgclusters.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18345,6 +18345,9 @@ spec:
1834518345
items:
1834618346
type: string
1834718347
type: array
18348+
observedGeneration:
18349+
format: int64
18350+
type: integer
1834818351
patroniVersion:
1834918352
type: string
1835018353
pgbouncer:

config/crd/bases/pgv2.percona.com_perconapgclusters.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18752,6 +18752,9 @@ spec:
1875218752
items:
1875318753
type: string
1875418754
type: array
18755+
observedGeneration:
18756+
format: int64
18757+
type: integer
1875518758
patroniVersion:
1875618759
type: string
1875718760
pgbouncer:

deploy/bundle.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19049,6 +19049,9 @@ spec:
1904919049
items:
1905019050
type: string
1905119051
type: array
19052+
observedGeneration:
19053+
format: int64
19054+
type: integer
1905219055
patroniVersion:
1905319056
type: string
1905419057
pgbouncer:

deploy/crd.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19049,6 +19049,9 @@ spec:
1904919049
items:
1905019050
type: string
1905119051
type: array
19052+
observedGeneration:
19053+
format: int64
19054+
type: integer
1905219055
patroniVersion:
1905319056
type: string
1905419057
pgbouncer:

deploy/cw-bundle.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19049,6 +19049,9 @@ spec:
1904919049
items:
1905019050
type: string
1905119051
type: array
19052+
observedGeneration:
19053+
format: int64
19054+
type: integer
1905219055
patroniVersion:
1905319056
type: string
1905419057
pgbouncer:

percona/controller/pgcluster/status.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ func (r *PGClusterReconciler) updateStatus(ctx context.Context, cr *v2.PerconaPG
122122

123123
cluster.Status.State = r.getState(cr, &cluster.Status, status)
124124

125+
cluster.Status.ObservedGeneration = cluster.Generation
126+
125127
updateConditions(cluster, status)
126128

127129
return r.Client.Status().Update(ctx, cluster)

percona/controller/pgcluster/status_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ var _ = Describe("PG Cluster status", Ordered, func() {
9393
Expect(cr.Status.Postgres.Ready).Should(Equal(int32(3)))
9494
Expect(cr.Status.Postgres.Size).Should(Equal(int32(4)))
9595
Expect(cr.Status.Postgres.InstanceSets).Should(HaveLen(2))
96+
Expect(cr.Status.ObservedGeneration).Should(Equal(int64(1)))
9697
Expect(cr.Status.Postgres.InstanceSets).Should(ContainElement(gs.MatchFields(gs.IgnoreExtras, gs.Fields{
9798
"Name": Equal("instance1"),
9899
"Ready": Equal(int32(0)),
@@ -138,6 +139,7 @@ var _ = Describe("PG Cluster status", Ordered, func() {
138139
return err == nil
139140
}, time.Second*15, time.Millisecond*250).Should(BeTrue())
140141

142+
Expect(cr.Status.ObservedGeneration).Should(Equal(int64(1)))
141143
Expect(cr.Status.PGBouncer.Ready).Should(Equal(int32(0)))
142144
Expect(cr.Status.PGBouncer.Size).Should(Equal(int32(1)))
143145
})
@@ -294,6 +296,7 @@ var _ = Describe("PG Cluster status", Ordered, func() {
294296
return err == nil
295297
}, time.Second*15, time.Millisecond*250).Should(BeTrue())
296298
Expect(cr.Status.Host).Should(Equal(pgBouncerSVC.Name + "." + ns + ".svc"))
299+
Expect(cr.Status.ObservedGeneration).Should(Equal(int64(2)))
297300
})
298301
})
299302

@@ -330,6 +333,8 @@ var _ = Describe("PG Cluster status", Ordered, func() {
330333
return err == nil
331334
}, time.Second*15, time.Millisecond*250).Should(BeTrue())
332335
Expect(cr.Status.Host).Should(Equal("22.22.22.22"))
336+
337+
Expect(cr.Status.ObservedGeneration).Should(Equal(int64(3)))
333338
})
334339
})
335340
})
@@ -393,6 +398,7 @@ var _ = Describe("PG Cluster status", Ordered, func() {
393398

394399
condition := meta.FindStatusCondition(cr.Status.Conditions, pNaming.ConditionClusterIsReadyForBackup)
395400
Expect(condition.Status).Should(Equal(metav1.ConditionFalse))
401+
Expect(cr.Status.ObservedGeneration).Should(Equal(int64(1)))
396402
})
397403
})
398404

pkg/apis/pgv2.percona.com/v2/perconapgcluster_types.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,10 @@ type PerconaPGClusterStatus struct {
457457
// +optional
458458
// +operator-sdk:csv:customresourcedefinitions:type=status
459459
Conditions []metav1.Condition `json:"conditions,omitempty"`
460+
461+
// +optional
462+
// +operator-sdk:csv:customresourcedefinitions:type=status
463+
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
460464
}
461465

462466
type Backups struct {
@@ -823,7 +827,8 @@ func (p PGInstanceSetSpec) ToCrunchy() crunchyv1beta1.PostgresInstanceSetSpec {
823827
VolumeMounts: p.VolumeMounts,
824828
SecurityContext: p.SecurityContext,
825829
TablespaceVolumes: p.TablespaceVolumes,
826-
InitContainer: p.InitContainer}
830+
InitContainer: p.InitContainer,
831+
}
827832
}
828833

829834
type ServiceExpose struct {

0 commit comments

Comments
 (0)