Skip to content

Commit 017c0d3

Browse files
committed
Ensure Helm upgrade can be used to install Helm chart from previous versions #488
1 parent 8093ff0 commit 017c0d3

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
lines changed

config/manager/manager.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ spec:
1414
selector:
1515
matchLabels:
1616
control-plane: coherence
17-
app.kubernetes.io/instance: coherence-operator-manager
18-
app.kubernetes.io/version: "3.2.1"
1917
replicas: 1
2018
template:
2119
metadata:

helm-charts/coherence-operator/templates/deployment.yaml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@ metadata:
2222
app.kubernetes.io/managed-by: helm
2323
spec:
2424
ports:
25-
- port: 443
25+
- name: webhook
26+
port: 443
2627
targetPort: 9443
28+
appProtocol: http
2729
selector:
2830
app.kubernetes.io/name: coherence-operator
2931
app.kubernetes.io/instance: coherence-operator-manager
@@ -45,9 +47,10 @@ metadata:
4547
app.kubernetes.io/managed-by: helm
4648
spec:
4749
ports:
48-
- name: http-rest
49-
port: 8000
50-
targetPort: 8000
50+
- name: http-rest
51+
port: 8000
52+
targetPort: 8000
53+
appProtocol: http
5154
selector:
5255
app.kubernetes.io/name: coherence-operator
5356
app.kubernetes.io/instance: coherence-operator-manager
@@ -73,10 +76,6 @@ spec:
7376
selector:
7477
matchLabels:
7578
control-plane: coherence
76-
app.kubernetes.io/name: coherence-operator
77-
app.kubernetes.io/instance: coherence-operator-manager
78-
app.kubernetes.io/version: "${VERSION}"
79-
app.kubernetes.io/component: manager
8079
template:
8180
metadata:
8281
labels:

test/e2e/compatibility/compatibility_test.go

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func TestCompatibility(t *testing.T) {
3232
g.Expect(selector).NotTo(BeEmpty(), "COMPATIBLE_SELECTOR environment variable has not been set")
3333

3434
// Install Previous version
35-
t.Logf("Installing previous Operator version: %s\n", version)
35+
t.Logf("Helm install previous Operator version: %s\n", version)
3636
InstallPreviousVersion(g, ns, name, version, selector)
3737

3838
// Install a Coherence deployment
@@ -52,21 +52,21 @@ func TestCompatibility(t *testing.T) {
5252
g.Expect(err).NotTo(HaveOccurred())
5353
stsBefore := assertDeploymentEventuallyInDesiredState(t, d, d.GetReplicas())
5454

55-
// delete the previous Operator version
56-
t.Logf("Unnstalling previous Operator version: %s\n", version)
57-
err = UninstallOperator(ns, name)
58-
g.Expect(err).NotTo(HaveOccurred())
59-
60-
// wait for Operator Pod to be deleted
61-
err = helper.WaitForOperatorCleanup(testContext, ns)
62-
g.Expect(err).NotTo(HaveOccurred())
55+
//// delete the previous Operator version
56+
//t.Logf("Unnstalling previous Operator version: %s\n", version)
57+
//err = UninstallOperator(ns, name)
58+
//g.Expect(err).NotTo(HaveOccurred())
59+
//
60+
//// wait for Operator Pod to be deleted
61+
//err = helper.WaitForOperatorCleanup(testContext, ns)
62+
//g.Expect(err).NotTo(HaveOccurred())
6363

64-
// Install this version
65-
t.Logf("Installing current Operator version\n")
66-
InstallCurrentVersion(g, ns, name)
64+
// Upgrade to this version
65+
t.Logf("Helm upgrade to current Operator version\n")
66+
UpgradeToCurrentVersion(g, ns, name)
6767

6868
// wait a few minutes to allow the new Operator to reconcile the existing Coherence cluster
69-
t.Logf("Installed current Operator version - waiting for reconcile...\n")
69+
t.Logf("Upgraded to current Operator version - waiting for reconcile...\n")
7070
time.Sleep(2 * time.Minute)
7171

7272
// Get the current state fo the StatefulSet
@@ -102,11 +102,11 @@ func InstallPreviousVersion(g *GomegaWithT, ns, name, version, selector string)
102102
g.Expect(err).NotTo(HaveOccurred())
103103
}
104104

105-
func InstallCurrentVersion(g *GomegaWithT, ns, name string) {
105+
func UpgradeToCurrentVersion(g *GomegaWithT, ns, name string) {
106106
chart, err := helper.FindOperatorHelmChartDir()
107107
g.Expect(err).NotTo(HaveOccurred())
108108

109-
cmd := exec.Command("helm", "install",
109+
cmd := exec.Command("helm", "upgrade",
110110
"--set", "image="+helper.GetOperatorImage(),
111111
"--set", "defaultCoherenceUtilsImage="+helper.GetUtilsImage(),
112112
"--namespace", ns, "--wait", name, chart)
@@ -115,7 +115,10 @@ func InstallCurrentVersion(g *GomegaWithT, ns, name string) {
115115
err = cmd.Run()
116116
g.Expect(err).NotTo(HaveOccurred())
117117

118-
pods, err := helper.WaitForOperatorPods(testContext, ns, time.Second*10, time.Minute*5)
118+
version := os.Getenv("VERSION")
119+
selector := "app.kubernetes.io/version=" + version
120+
121+
pods, err := helper.WaitForPodsWithSelector(testContext, ns, selector, time.Second*10, time.Minute*5)
119122
g.Expect(err).NotTo(HaveOccurred())
120123
g.Expect(len(pods)).To(Equal(1))
121124
err = helper.WaitForPodReady(testContext.KubeClient, ns, pods[0].Name, time.Second*10, time.Minute*5)

0 commit comments

Comments
 (0)