Skip to content

Commit 5b07a04

Browse files
committed
UPSTREAM: <carry>: enable downstream pdb and update replicas to meet MCO drain
1 parent 056fa80 commit 5b07a04

16 files changed

Lines changed: 615 additions & 24 deletions

hack/test/pre-upgrade-setup.sh

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
#!/bin/bash
2+
3+
set -euo pipefail
4+
5+
help="pre-upgrade-setup.sh is used to create some basic resources
6+
which will later be used in upgrade testing.
7+
8+
Usage:
9+
pre-upgrade-setup.sh [TEST_CATALOG_IMG] [TEST_CLUSTER_CATALOG_NAME] [TEST_CLUSTER_EXTENSION_NAME]
10+
"
11+
12+
if [[ "$#" -ne 3 ]]; then
13+
echo "Illegal number of arguments passed"
14+
echo "${help}"
15+
exit 1
16+
fi
17+
18+
TEST_CATALOG_IMG=$1
19+
TEST_CLUSTER_CATALOG_NAME=$2
20+
TEST_CLUSTER_EXTENSION_NAME=$3
21+
22+
kubectl apply -f - << EOF
23+
apiVersion: olm.operatorframework.io/v1
24+
kind: ClusterCatalog
25+
metadata:
26+
name: ${TEST_CLUSTER_CATALOG_NAME}
27+
spec:
28+
source:
29+
type: Image
30+
image:
31+
ref: ${TEST_CATALOG_IMG}
32+
pollIntervalMinutes: 1440
33+
EOF
34+
35+
kubectl apply -f - <<EOF
36+
apiVersion: v1
37+
kind: ServiceAccount
38+
metadata:
39+
name: upgrade-e2e
40+
namespace: default
41+
EOF
42+
43+
kubectl apply -f - <<EOF
44+
apiVersion: rbac.authorization.k8s.io/v1
45+
kind: ClusterRole
46+
metadata:
47+
name: upgrade-e2e
48+
rules:
49+
- apiGroups:
50+
- ""
51+
resources:
52+
- "configmaps"
53+
- "secrets"
54+
- "services"
55+
- "serviceaccounts"
56+
verbs:
57+
- "create"
58+
- "update"
59+
- "patch"
60+
- "delete"
61+
- "get"
62+
- "list"
63+
- "watch"
64+
- apiGroups:
65+
- "apps"
66+
resources:
67+
- "deployments"
68+
verbs:
69+
- "create"
70+
- "update"
71+
- "patch"
72+
- "delete"
73+
- "get"
74+
- "list"
75+
- "watch"
76+
- apiGroups:
77+
- "apiextensions.k8s.io"
78+
resources:
79+
- "customresourcedefinitions"
80+
verbs:
81+
- "create"
82+
- "update"
83+
- "patch"
84+
- "delete"
85+
- "get"
86+
- "list"
87+
- "watch"
88+
- apiGroups:
89+
- "rbac.authorization.k8s.io"
90+
resources:
91+
- "clusterroles"
92+
- "clusterrolebindings"
93+
- "roles"
94+
- "rolebindings"
95+
verbs:
96+
- "create"
97+
- "update"
98+
- "patch"
99+
- "delete"
100+
- "get"
101+
- "list"
102+
- "watch"
103+
- "bind"
104+
- "escalate"
105+
- apiGroups:
106+
- networking.k8s.io
107+
resources:
108+
- networkpolicies
109+
verbs:
110+
- get
111+
- list
112+
- watch
113+
- create
114+
- update
115+
- patch
116+
- delete
117+
- apiGroups:
118+
- "olm.operatorframework.io"
119+
resources:
120+
- "clusterextensions/finalizers"
121+
verbs:
122+
- "update"
123+
resourceNames:
124+
- "${TEST_CLUSTER_EXTENSION_NAME}"
125+
EOF
126+
127+
kubectl apply -f - <<EOF
128+
apiVersion: rbac.authorization.k8s.io/v1
129+
kind: ClusterRoleBinding
130+
metadata:
131+
name: upgrade-e2e
132+
subjects:
133+
- kind: ServiceAccount
134+
name: upgrade-e2e
135+
namespace: default
136+
roleRef:
137+
apiGroup: rbac.authorization.k8s.io
138+
kind: ClusterRole
139+
name: upgrade-e2e
140+
EOF
141+
142+
kubectl apply -f - << EOF
143+
apiVersion: olm.operatorframework.io/v1
144+
kind: ClusterExtension
145+
metadata:
146+
name: ${TEST_CLUSTER_EXTENSION_NAME}
147+
spec:
148+
namespace: default
149+
serviceAccount:
150+
name: upgrade-e2e
151+
source:
152+
sourceType: Catalog
153+
catalog:
154+
packageName: test
155+
version: 1.0.0
156+
EOF
157+
158+
kubectl wait --for=condition=Serving --timeout=5m clustercatalog/${TEST_CLUSTER_CATALOG_NAME}
159+
kubectl wait --for=condition=Installed --timeout=5m clusterextension/${TEST_CLUSTER_EXTENSION_NAME}

helm/olmv1/templates/deployment-olmv1-system-catalogd-controller-manager.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ metadata:
1212
namespace: {{ .Values.namespaces.olmv1.name }}
1313
spec:
1414
minReadySeconds: 5
15-
replicas: 1
15+
replicas: {{ .Values.options.catalogd.deployment.replicas }}
1616
strategy:
1717
type: RollingUpdate
1818
rollingUpdate:

helm/olmv1/templates/deployment-olmv1-system-operator-controller-controller-manager.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ metadata:
1111
name: operator-controller-controller-manager
1212
namespace: {{ .Values.namespaces.olmv1.name }}
1313
spec:
14-
replicas: 1
14+
replicas: {{ .Values.options.operatorController.deployment.replicas }}
1515
strategy:
1616
type: RollingUpdate
1717
rollingUpdate:

helm/olmv1/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ options:
88
enabled: true
99
deployment:
1010
image: quay.io/operator-framework/operator-controller:devel
11+
replicas: 2
1112
extraArguments: []
1213
features:
1314
enabled: []
@@ -19,6 +20,7 @@ options:
1920
enabled: true
2021
deployment:
2122
image: quay.io/operator-framework/catalogd:devel
23+
replicas: 2
2224
extraArguments: []
2325
features:
2426
enabled: []

manifests/experimental-e2e.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2535,7 +2535,7 @@ metadata:
25352535
namespace: olmv1-system
25362536
spec:
25372537
minReadySeconds: 5
2538-
replicas: 1
2538+
replicas: 2
25392539
strategy:
25402540
type: RollingUpdate
25412541
rollingUpdate:
@@ -2686,7 +2686,7 @@ metadata:
26862686
name: operator-controller-controller-manager
26872687
namespace: olmv1-system
26882688
spec:
2689-
replicas: 1
2689+
replicas: 2
26902690
strategy:
26912691
type: RollingUpdate
26922692
rollingUpdate:

manifests/experimental.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2455,7 +2455,7 @@ metadata:
24552455
namespace: olmv1-system
24562456
spec:
24572457
minReadySeconds: 5
2458-
replicas: 1
2458+
replicas: 2
24592459
strategy:
24602460
type: RollingUpdate
24612461
rollingUpdate:
@@ -2593,7 +2593,7 @@ metadata:
25932593
name: operator-controller-controller-manager
25942594
namespace: olmv1-system
25952595
spec:
2596-
replicas: 1
2596+
replicas: 2
25972597
strategy:
25982598
type: RollingUpdate
25992599
rollingUpdate:

manifests/standard-e2e.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1778,7 +1778,7 @@ metadata:
17781778
namespace: olmv1-system
17791779
spec:
17801780
minReadySeconds: 5
1781-
replicas: 1
1781+
replicas: 2
17821782
strategy:
17831783
type: RollingUpdate
17841784
rollingUpdate:
@@ -1928,7 +1928,7 @@ metadata:
19281928
name: operator-controller-controller-manager
19291929
namespace: olmv1-system
19301930
spec:
1931-
replicas: 1
1931+
replicas: 2
19321932
strategy:
19331933
type: RollingUpdate
19341934
rollingUpdate:

manifests/standard.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1698,7 +1698,7 @@ metadata:
16981698
namespace: olmv1-system
16991699
spec:
17001700
minReadySeconds: 5
1701-
replicas: 1
1701+
replicas: 2
17021702
strategy:
17031703
type: RollingUpdate
17041704
rollingUpdate:
@@ -1835,7 +1835,7 @@ metadata:
18351835
name: operator-controller-controller-manager
18361836
namespace: olmv1-system
18371837
spec:
1838-
replicas: 1
1838+
replicas: 2
18391839
strategy:
18401840
type: RollingUpdate
18411841
rollingUpdate:

openshift/catalogd/manifests-experimental.yaml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,23 @@ spec:
6565
- Ingress
6666
- Egress
6767
---
68+
# Source: olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml
69+
apiVersion: policy/v1
70+
kind: PodDisruptionBudget
71+
metadata:
72+
name: catalogd-controller-manager
73+
namespace: openshift-catalogd
74+
labels:
75+
app.kubernetes.io/name: catalogd
76+
app.kubernetes.io/part-of: olm
77+
annotations:
78+
olm.operatorframework.io/feature-set: experimental
79+
spec:
80+
minAvailable: 1
81+
selector:
82+
matchLabels:
83+
control-plane: catalogd-controller-manager
84+
---
6885
# Source: olmv1/templates/serviceaccount-olmv1-system-common-controller-manager.yml
6986
apiVersion: v1
7087
kind: ServiceAccount
@@ -825,7 +842,7 @@ metadata:
825842
namespace: openshift-catalogd
826843
spec:
827844
minReadySeconds: 5
828-
replicas: 1
845+
replicas: 2
829846
strategy:
830847
type: RollingUpdate
831848
rollingUpdate:

openshift/catalogd/manifests.yaml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,23 @@ spec:
6565
- Ingress
6666
- Egress
6767
---
68+
# Source: olmv1/templates/poddisruptionbudget-olmv1-system-catalogd.yml
69+
apiVersion: policy/v1
70+
kind: PodDisruptionBudget
71+
metadata:
72+
name: catalogd-controller-manager
73+
namespace: openshift-catalogd
74+
labels:
75+
app.kubernetes.io/name: catalogd
76+
app.kubernetes.io/part-of: olm
77+
annotations:
78+
olm.operatorframework.io/feature-set: standard
79+
spec:
80+
minAvailable: 1
81+
selector:
82+
matchLabels:
83+
control-plane: catalogd-controller-manager
84+
---
6885
# Source: olmv1/templates/serviceaccount-olmv1-system-common-controller-manager.yml
6986
apiVersion: v1
7087
kind: ServiceAccount
@@ -825,7 +842,7 @@ metadata:
825842
namespace: openshift-catalogd
826843
spec:
827844
minReadySeconds: 5
828-
replicas: 1
845+
replicas: 2
829846
strategy:
830847
type: RollingUpdate
831848
rollingUpdate:

0 commit comments

Comments
 (0)