File tree Expand file tree Collapse file tree 13 files changed +390
-0
lines changed
testing/kuttl/e2e-other/resize-volume Expand file tree Collapse file tree 13 files changed +390
-0
lines changed Original file line number Diff line number Diff line change
1
+ # Ensure that the default StorageClass supports VolumeExpansion
2
+ apiVersion : storage.k8s.io/v1
3
+ kind : StorageClass
4
+ metadata :
5
+ annotations :
6
+ storageclass.kubernetes.io/is-default-class : " true"
7
+ allowVolumeExpansion : true
Original file line number Diff line number Diff line change
1
+ apiVersion : postgres-operator.crunchydata.com/v1beta1
2
+ kind : PostgresCluster
3
+ metadata :
4
+ name : resize-volume-up
5
+ spec :
6
+ postgresVersion : ${KUTTL_PG_VERSION}
7
+ instances :
8
+ - name : instance1
9
+ dataVolumeClaimSpec :
10
+ accessModes :
11
+ - " ReadWriteOnce"
12
+ resources :
13
+ requests :
14
+ storage : 1Gi
15
+ backups :
16
+ pgbackrest :
17
+ repos :
18
+ - name : repo1
19
+ volume :
20
+ volumeClaimSpec :
21
+ accessModes :
22
+ - " ReadWriteOnce"
23
+ resources :
24
+ requests :
25
+ storage : 1Gi
Original file line number Diff line number Diff line change
1
+ apiVersion : postgres-operator.crunchydata.com/v1beta1
2
+ kind : PostgresCluster
3
+ metadata :
4
+ name : resize-volume-up
5
+ status :
6
+ instances :
7
+ - name : instance1
8
+ readyReplicas : 1
9
+ replicas : 1
10
+ updatedReplicas : 1
11
+ ---
12
+ apiVersion : batch/v1
13
+ kind : Job
14
+ metadata :
15
+ labels :
16
+ postgres-operator.crunchydata.com/cluster : resize-volume-up
17
+ postgres-operator.crunchydata.com/pgbackrest-backup : replica-create
18
+ status :
19
+ succeeded : 1
20
+ ---
21
+ apiVersion : v1
22
+ kind : Service
23
+ metadata :
24
+ name : resize-volume-up-primary
25
+ ---
26
+ apiVersion : v1
27
+ kind : PersistentVolumeClaim
28
+ metadata :
29
+ labels :
30
+ postgres-operator.crunchydata.com/cluster : resize-volume-up
31
+ postgres-operator.crunchydata.com/instance-set : instance1
32
+ spec :
33
+ resources :
34
+ requests :
35
+ storage : 1Gi
36
+ status :
37
+ accessModes :
38
+ - ReadWriteOnce
39
+ capacity :
40
+ storage : 1Gi
41
+ phase : Bound
42
+ ---
43
+ apiVersion : v1
44
+ kind : PersistentVolumeClaim
45
+ metadata :
46
+ labels :
47
+ postgres-operator.crunchydata.com/cluster : resize-volume-up
48
+ postgres-operator.crunchydata.com/data : pgbackrest
49
+ postgres-operator.crunchydata.com/pgbackrest-repo : repo1
50
+ spec :
51
+ resources :
52
+ requests :
53
+ storage : 1Gi
54
+ status :
55
+ accessModes :
56
+ - ReadWriteOnce
57
+ capacity :
58
+ storage : 1Gi
59
+ phase : Bound
Original file line number Diff line number Diff line change
1
+ ---
2
+ # Create some data that should be present after resizing.
3
+ apiVersion : batch/v1
4
+ kind : Job
5
+ metadata :
6
+ name : create-data
7
+ labels : { postgres-operator-test: kuttl }
8
+ spec :
9
+ backoffLimit : 3
10
+ template :
11
+ metadata :
12
+ labels : { postgres-operator-test: kuttl }
13
+ spec :
14
+ restartPolicy : Never
15
+ containers :
16
+ - name : psql
17
+ image : ${KUTTL_PSQL_IMAGE}
18
+ env :
19
+ - name : PGURI
20
+ valueFrom : { secretKeyRef: { name: resize-volume-up-pguser-resize-volume-up, key: uri } }
21
+
22
+ # Do not wait indefinitely.
23
+ - { name: PGCONNECT_TIMEOUT, value: '5' }
24
+
25
+ command :
26
+ - psql
27
+ - $(PGURI)
28
+ - --set=ON_ERROR_STOP=1
29
+ - --command
30
+ - |
31
+ CREATE TABLE important (data) AS VALUES ('treasure');
Original file line number Diff line number Diff line change
1
+ ---
2
+ apiVersion : batch/v1
3
+ kind : Job
4
+ metadata :
5
+ name : create-data
6
+ status :
7
+ succeeded : 1
Original file line number Diff line number Diff line change
1
+ apiVersion : postgres-operator.crunchydata.com/v1beta1
2
+ kind : PostgresCluster
3
+ metadata :
4
+ name : resize-volume-up
5
+ spec :
6
+ postgresVersion : ${KUTTL_PG_VERSION}
7
+ instances :
8
+ - name : instance1
9
+ dataVolumeClaimSpec :
10
+ accessModes :
11
+ - " ReadWriteOnce"
12
+ resources :
13
+ requests :
14
+ storage : 2Gi
15
+ backups :
16
+ pgbackrest :
17
+ repos :
18
+ - name : repo1
19
+ volume :
20
+ volumeClaimSpec :
21
+ accessModes :
22
+ - " ReadWriteOnce"
23
+ resources :
24
+ requests :
25
+ storage : 2Gi
Original file line number Diff line number Diff line change
1
+ # We know that the PVC sizes have change so now we can check that they have been
2
+ # updated to have the expected size
3
+ ---
4
+ apiVersion : v1
5
+ kind : PersistentVolumeClaim
6
+ metadata :
7
+ labels :
8
+ postgres-operator.crunchydata.com/cluster : resize-volume-up
9
+ postgres-operator.crunchydata.com/instance-set : instance1
10
+ spec :
11
+ resources :
12
+ requests :
13
+ storage : 2Gi
14
+ status :
15
+ accessModes :
16
+ - ReadWriteOnce
17
+ capacity :
18
+ storage : 2Gi
19
+ phase : Bound
20
+ ---
21
+ apiVersion : v1
22
+ kind : PersistentVolumeClaim
23
+ metadata :
24
+ labels :
25
+ postgres-operator.crunchydata.com/cluster : resize-volume-up
26
+ postgres-operator.crunchydata.com/data : pgbackrest
27
+ postgres-operator.crunchydata.com/pgbackrest-repo : repo1
28
+ spec :
29
+ resources :
30
+ requests :
31
+ storage : 2Gi
32
+ status :
33
+ accessModes :
34
+ - ReadWriteOnce
35
+ capacity :
36
+ storage : 2Gi
37
+ phase : Bound
Original file line number Diff line number Diff line change
1
+ ---
2
+ # Confirm that all the data still exists.
3
+ apiVersion : batch/v1
4
+ kind : Job
5
+ metadata :
6
+ name : check-data
7
+ labels : { postgres-operator-test: kuttl }
8
+ spec :
9
+ backoffLimit : 3
10
+ template :
11
+ metadata :
12
+ labels : { postgres-operator-test: kuttl }
13
+ spec :
14
+ restartPolicy : Never
15
+ containers :
16
+ - name : psql
17
+ image : ${KUTTL_PSQL_IMAGE}
18
+ env :
19
+ - name : PGURI
20
+ valueFrom : { secretKeyRef: { name: resize-volume-up-pguser-resize-volume-up, key: uri } }
21
+
22
+ # Do not wait indefinitely.
23
+ - { name: PGCONNECT_TIMEOUT, value: '5' }
24
+
25
+ # Confirm that all the data still exists.
26
+ # Note: the `$$$$` is reduced to `$$` by Kubernetes.
27
+ # - https://kubernetes.io/docs/tasks/inject-data-application/
28
+ command :
29
+ - psql
30
+ - $(PGURI)
31
+ - --set=ON_ERROR_STOP=1
32
+ - --command
33
+ - |
34
+ DO $$$$
35
+ DECLARE
36
+ keep_data jsonb;
37
+ BEGIN
38
+ SELECT jsonb_agg(important) INTO keep_data FROM important;
39
+ ASSERT keep_data = '[{"data":"treasure"}]', format('got %L', keep_data);
40
+ END $$$$;
Original file line number Diff line number Diff line change
1
+ ---
2
+ apiVersion : batch/v1
3
+ kind : Job
4
+ metadata :
5
+ name : check-data
6
+ status :
7
+ succeeded : 1
Original file line number Diff line number Diff line change
1
+ apiVersion : postgres-operator.crunchydata.com/v1beta1
2
+ kind : PostgresCluster
3
+ metadata :
4
+ name : resize-volume-down
5
+ spec :
6
+ postgresVersion : ${KUTTL_PG_VERSION}
7
+ instances :
8
+ - name : instance1
9
+ dataVolumeClaimSpec :
10
+ accessModes :
11
+ - " ReadWriteOnce"
12
+ resources :
13
+ requests :
14
+ storage : 2Gi
15
+ backups :
16
+ pgbackrest :
17
+ repos :
18
+ - name : repo1
19
+ volume :
20
+ volumeClaimSpec :
21
+ accessModes :
22
+ - " ReadWriteOnce"
23
+ resources :
24
+ requests :
25
+ storage : 2Gi
Original file line number Diff line number Diff line change
1
+ apiVersion : postgres-operator.crunchydata.com/v1beta1
2
+ kind : PostgresCluster
3
+ metadata :
4
+ name : resize-volume-down
5
+ status :
6
+ instances :
7
+ - name : instance1
8
+ readyReplicas : 1
9
+ replicas : 1
10
+ updatedReplicas : 1
11
+ ---
12
+ apiVersion : batch/v1
13
+ kind : Job
14
+ metadata :
15
+ labels :
16
+ postgres-operator.crunchydata.com/cluster : resize-volume-down
17
+ postgres-operator.crunchydata.com/pgbackrest-backup : replica-create
18
+ status :
19
+ succeeded : 1
20
+ ---
21
+ apiVersion : v1
22
+ kind : Service
23
+ metadata :
24
+ name : resize-volume-down-primary
25
+ ---
26
+ apiVersion : v1
27
+ kind : PersistentVolumeClaim
28
+ metadata :
29
+ labels :
30
+ postgres-operator.crunchydata.com/cluster : resize-volume-down
31
+ postgres-operator.crunchydata.com/instance-set : instance1
32
+ spec :
33
+ resources :
34
+ requests :
35
+ storage : 2Gi
36
+ status :
37
+ accessModes :
38
+ - ReadWriteOnce
39
+ capacity :
40
+ storage : 2Gi
41
+ phase : Bound
42
+ ---
43
+ apiVersion : v1
44
+ kind : PersistentVolumeClaim
45
+ metadata :
46
+ labels :
47
+ postgres-operator.crunchydata.com/cluster : resize-volume-down
48
+ postgres-operator.crunchydata.com/data : pgbackrest
49
+ postgres-operator.crunchydata.com/pgbackrest-repo : repo1
50
+ spec :
51
+ resources :
52
+ requests :
53
+ storage : 2Gi
54
+ status :
55
+ accessModes :
56
+ - ReadWriteOnce
57
+ capacity :
58
+ storage : 2Gi
59
+ phase : Bound
Original file line number Diff line number Diff line change
1
+ apiVersion : postgres-operator.crunchydata.com/v1beta1
2
+ kind : PostgresCluster
3
+ metadata :
4
+ name : resize-volume-down
5
+ spec :
6
+ postgresVersion : ${KUTTL_PG_VERSION}
7
+ instances :
8
+ - name : instance1
9
+ dataVolumeClaimSpec :
10
+ accessModes :
11
+ - " ReadWriteOnce"
12
+ resources :
13
+ requests :
14
+ storage : 1Gi
15
+ backups :
16
+ pgbackrest :
17
+ repos :
18
+ - name : repo1
19
+ volume :
20
+ volumeClaimSpec :
21
+ accessModes :
22
+ - " ReadWriteOnce"
23
+ resources :
24
+ requests :
25
+ storage : 1Gi
You can’t perform that action at this time.
0 commit comments