Skip to content

Commit 6ac72c9

Browse files
authored
Fix null pointer issue in runner if callback to the Operator fails (#656)
1 parent 7253283 commit 6ac72c9

26 files changed

+50
-43
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# ======================================================================================================================
1616

1717
# The version of the Operator being build - this should be a valid SemVer format
18-
VERSION ?= 3.3.5
18+
VERSION ?= 3.3.6
1919
MVN_VERSION ?= $(VERSION)
2020

2121
# The version number to be replaced by this release

config/crd/kustomization.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ commonLabels:
4141
app.kubernetes.io/instance: coherence-operator-crd
4242
app.kubernetes.io/name: coherence-operator
4343
app.kubernetes.io/part-of: coherence-operator
44-
app.kubernetes.io/version: 3.3.5
44+
app.kubernetes.io/version: 3.3.6

config/manager/kustomization.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ resources:
99
images:
1010
- name: controller
1111
newName: ghcr.io/oracle/coherence-operator
12-
newTag: 3.3.5
12+
newTag: 3.3.6

config/manager/manager.yaml

+7-7
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ metadata:
88
app.kubernetes.io/name: coherence-operator
99
app: coherence-operator
1010
app.kubernetes.io/instance: coherence-operator-manager
11-
app.kubernetes.io/version: "3.3.5"
12-
version: "3.3.5"
11+
app.kubernetes.io/version: "3.3.6"
12+
version: "3.3.6"
1313
app.kubernetes.io/component: manager
1414
app.kubernetes.io/part-of: coherence-operator
1515
spec:
@@ -24,8 +24,8 @@ spec:
2424
app.kubernetes.io/name: coherence-operator
2525
app: coherence-operator
2626
app.kubernetes.io/instance: coherence-operator-manager
27-
app.kubernetes.io/version: "3.3.5"
28-
version: "3.3.5"
27+
app.kubernetes.io/version: "3.3.6"
28+
version: "3.3.6"
2929
app.kubernetes.io/component: manager
3030
app.kubernetes.io/part-of: coherence-operator
3131
spec:
@@ -107,7 +107,7 @@ spec:
107107
control-plane: coherence
108108
app.kubernetes.io/name: coherence-operator
109109
app.kubernetes.io/instance: coherence-operator-manager
110-
app.kubernetes.io/version: "3.3.5"
110+
app.kubernetes.io/version: "3.3.6"
111111
weight: 50
112112
- podAffinityTerm:
113113
topologyKey: "oci.oraclecloud.com/fault-domain"
@@ -116,7 +116,7 @@ spec:
116116
control-plane: coherence
117117
app.kubernetes.io/name: coherence-operator
118118
app.kubernetes.io/instance: coherence-operator-manager
119-
app.kubernetes.io/version: "3.3.5"
119+
app.kubernetes.io/version: "3.3.6"
120120
weight: 10
121121
- podAffinityTerm:
122122
topologyKey: "kubernetes.io/hostname"
@@ -125,5 +125,5 @@ spec:
125125
control-plane: coherence
126126
app.kubernetes.io/name: coherence-operator
127127
app.kubernetes.io/instance: coherence-operator-manager
128-
app.kubernetes.io/version: "3.3.5"
128+
app.kubernetes.io/version: "3.3.6"
129129
weight: 1

config/manager/service.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ metadata:
77
control-plane: coherence
88
app.kubernetes.io/name: coherence-operator
99
app.kubernetes.io/instance: coherence-operator-webhook
10-
app.kubernetes.io/version: "3.3.5"
10+
app.kubernetes.io/version: "3.3.6"
1111
app.kubernetes.io/component: webhook
1212
app.kubernetes.io/part-of: coherence-operator
1313
spec:
@@ -18,7 +18,7 @@ spec:
1818
selector:
1919
app.kubernetes.io/name: coherence-operator
2020
app.kubernetes.io/instance: coherence-operator-manager
21-
app.kubernetes.io/version: "3.3.5"
21+
app.kubernetes.io/version: "3.3.6"
2222
app.kubernetes.io/component: manager
2323
---
2424
apiVersion: v1
@@ -30,7 +30,7 @@ metadata:
3030
control-plane: coherence
3131
app.kubernetes.io/name: coherence-operator
3232
app.kubernetes.io/instance: coherence-operator-rest
33-
app.kubernetes.io/version: "3.3.5"
33+
app.kubernetes.io/version: "3.3.6"
3434
app.kubernetes.io/component: rest
3535
app.kubernetes.io/part-of: coherence-operator
3636
spec:
@@ -41,5 +41,5 @@ spec:
4141
selector:
4242
app.kubernetes.io/name: coherence-operator
4343
app.kubernetes.io/instance: coherence-operator-manager
44-
app.kubernetes.io/version: "3.3.5"
44+
app.kubernetes.io/version: "3.3.6"
4545
app.kubernetes.io/component: manager

config/manifests/bases/coherence-operator.clusterserviceversion.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ metadata:
1111
description: >-
1212
Coherence Operator implements features to assist with deploying and
1313
managing Coherence clusters in a Kubernetes environment.
14-
containerImage: 'ghcr.io/oracle/coherence-operator:3.3.5'
14+
containerImage: 'ghcr.io/oracle/coherence-operator:3.3.6'
1515
support: ''
1616
repository: 'https://github.com/oracle/coherence-operator'
1717
operators.operatorframework.io/builder: operator-sdk-v1.0.0
1818
operators.operatorframework.io/project_layout: go.kubebuilder.io/v2
19-
name: coherence-operator.v3.3.5
19+
name: coherence-operator.v3.3.6
2020
namespace: placeholder
2121
spec:
2222
apiservicedefinitions: {}
@@ -65,4 +65,4 @@ spec:
6565
provider:
6666
name: Oracle
6767
url: https://oracle.github.io/coherence-operator/docs/latest
68-
version: 3.3.5
68+
version: 3.3.6

config/rbac/role.yaml

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22
apiVersion: rbac.authorization.k8s.io/v1
33
kind: ClusterRole
44
metadata:
5+
creationTimestamp: null
56
name: manager-role
6-
labels:
7-
control-plane: coherence
87
rules:
98
- apiGroups:
109
- ""

docs/about/03_quickstart.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ If you want the default Coherence Operator installation then the simplest soluti
2121
2222
[source,bash]
2323
----
24-
kubectl apply -f https://github.com/oracle/coherence-operator/releases/download/v3.3.5/coherence-operator.yaml
24+
kubectl apply -f https://github.com/oracle/coherence-operator/releases/download/v3.3.6/coherence-operator.yaml
2525
----
2626
2727
This will create a namespace called `coherence` and install the Operator into it along with all the required `ClusterRole` and `RoleBinding` resources. The `coherence` namespace can be changed by downloading and editing the yaml file.

docs/installation/01_installation.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ If you want the default Coherence Operator installation then the simplest soluti
149149
150150
[source,bash]
151151
----
152-
kubectl apply -f https://github.com/oracle/coherence-operator/releases/download/v3.3.5/coherence-operator.yaml
152+
kubectl apply -f https://github.com/oracle/coherence-operator/releases/download/v3.3.6/coherence-operator.yaml
153153
----
154154
155155
This will create a namespace called `coherence` and install the Operator into it along with all the required `ClusterRole` and `RoleBinding` resources. The `coherence` namespace can be changed by downloading and editing the yaml file.

docs/installation/07_webhooks.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ If installing the operator using the manifest yaml file first replace the occurr
6363
For example:
6464
[source,bash]
6565
----
66-
curl -L https://github.com/oracle/coherence-operator/releases/download/v3.3.5/coherence-operator.yaml \
66+
curl -L https://github.com/oracle/coherence-operator/releases/download/v3.3.6/coherence-operator.yaml \
6767
-o coherence-operator.yaml
6868
sed -i s/self-signed/cert-manager/g coherence-operator.yaml
6969
kubectl apply -f coherence-operator.yaml

docs/installation/09_RBAC.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ The two methods of installing the Operator discussed in the <<docs/installation/
3636
Before installing the Operator, with either method described below, the CRDs MUST be manually installed from the Operator manifest files.
3737
3838
The manifest files are published with the GitHub release at this link:
39-
https://github.com/oracle/coherence-operator/releases/download/v3.3.5/coherence-operator-manifests.tar.gz[3.3.5 Manifests]
39+
https://github.com/oracle/coherence-operator/releases/download/v3.3.6/coherence-operator-manifests.tar.gz[3.3.5 Manifests]
4040
4141
You MUST ensure that the CRD manifests match the version of the Operator being installed.
4242

docs/other/041_global_labels.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ When installing the Operator using the manifest yaml files, additional command l
9494
by manually editing the yaml file before installing.
9595
9696
Download the yaml manifest file from the GitHub repo
97-
https://github.com/oracle/coherence-operator/releases/download/v3.3.5/coherence-operator.yaml
97+
https://github.com/oracle/coherence-operator/releases/download/v3.3.6/coherence-operator.yaml
9898
9999
Find the section of the yaml file the defines the Operator container args, the default looks like this
100100

examples/015_simple_image/README.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ In the `build.gradle` file we add JIB to the `plugins` section.
110110
----
111111
plugins {
112112
id 'java'
113-
id 'com.google.cloud.tools.jib' version '3.3.5'
113+
id 'com.google.cloud.tools.jib' version '3.3.6'
114114
}
115115
----
116116

examples/015_simple_image/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
plugins {
88
id 'java'
9-
id 'com.google.cloud.tools.jib' version '3.3.5'
9+
id 'com.google.cloud.tools.jib' version '3.3.6'
1010
}
1111

1212
group = 'com.oracle.coherence.examples'

examples/095_network_policies/manifests/net-test-client.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ spec:
1414
spec:
1515
containers:
1616
- name: net-test
17-
image: ghcr.io/oracle/coherence-operator:3.3.5
17+
image: ghcr.io/oracle/coherence-operator:3.3.6
1818
env:
1919
- name: HOST
2020
value: net-test-coherence-server.coh-test.svc

examples/095_network_policies/manifests/net-test-coherence-server.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ metadata:
4343
spec:
4444
containers:
4545
- name: net-test
46-
image: ghcr.io/oracle/coherence-operator:3.3.5
46+
image: ghcr.io/oracle/coherence-operator:3.3.6
4747
ports:
4848
- containerPort: 9612
4949
name: metrics

examples/095_network_policies/manifests/net-test-coherence.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ spec:
2020
spec:
2121
containers:
2222
- name: net-test
23-
image: ghcr.io/oracle/coherence-operator:3.3.5
23+
image: ghcr.io/oracle/coherence-operator:3.3.6
2424
env:
2525
- name: CLUSTER_HOST
2626
value: net-test-coherence-server.coh-test.svc

examples/095_network_policies/manifests/net-test-operator-server.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ spec:
66
selector:
77
app.kubernetes.io/name: coherence-operator
88
app.kubernetes.io/instance: coherence-operator-manager
9-
app.kubernetes.io/version: "3.3.5"
9+
app.kubernetes.io/version: "3.3.6"
1010
app.kubernetes.io/component: manager
1111
app.kubernetes.io/part-of: coherence-operator
1212
coherenceNetTest: server
@@ -27,14 +27,14 @@ metadata:
2727
labels:
2828
app.kubernetes.io/name: coherence-operator
2929
app.kubernetes.io/instance: coherence-operator-manager
30-
app.kubernetes.io/version: "3.3.5"
30+
app.kubernetes.io/version: "3.3.6"
3131
app.kubernetes.io/component: manager
3232
app.kubernetes.io/part-of: coherence-operator
3333
coherenceNetTest: server
3434
spec:
3535
containers:
3636
- name: net-test
37-
image: ghcr.io/oracle/coherence-operator:3.3.5
37+
image: ghcr.io/oracle/coherence-operator:3.3.6
3838
ports:
3939
- containerPort: 8000
4040
name: operator

examples/095_network_policies/manifests/net-test-operator.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
labels:
66
app.kubernetes.io/name: coherence-operator
77
app.kubernetes.io/instance: coherence-operator-manager
8-
app.kubernetes.io/version: "3.3.5"
8+
app.kubernetes.io/version: "3.3.6"
99
app.kubernetes.io/component: manager
1010
app.kubernetes.io/part-of: coherence-operator
1111
coherenceNetTest: operator-client
@@ -15,14 +15,14 @@ spec:
1515
labels:
1616
app.kubernetes.io/name: coherence-operator
1717
app.kubernetes.io/instance: coherence-operator-manager
18-
app.kubernetes.io/version: "3.3.5"
18+
app.kubernetes.io/version: "3.3.6"
1919
app.kubernetes.io/component: manager
2020
app.kubernetes.io/part-of: coherence-operator
2121
coherenceNetTest: operator-client
2222
spec:
2323
containers:
2424
- name: net-test
25-
image: ghcr.io/oracle/coherence-operator:3.3.5
25+
image: ghcr.io/oracle/coherence-operator:3.3.6
2626
env:
2727
- name: CLUSTER_HOST
2828
value: net-test-coherence-server.coh-test.svc

examples/095_network_policies/manifests/net-test-webhook.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ spec:
1212
spec:
1313
containers:
1414
- name: net-test
15-
image: ghcr.io/oracle/coherence-operator:3.3.5
15+
image: ghcr.io/oracle/coherence-operator:3.3.6
1616
env:
1717
- name: OPERATOR_HOST
1818
value: net-test-operator-server.coherence.svc

examples/300_helm/chart/values.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ operator:
55
namespace: coherence
66
service: coherence-operator-rest
77
port: 8000
8-
image: ghcr.io/oracle/coherence-operator-utils:3.3.5
8+
image: ghcr.io/oracle/coherence-operator-utils:3.3.6
99
condition: Ready
1010
timeout: 5m
1111
interval: 10s

examples/400_Istio/README.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
== Using Coherence with Istio
1111
1212
You can run the Coherence cluster and manage them using the Coherence Operator alongside https://istio.io[Istio].
13-
Coherence clusters managed with the Coherence Operator 3.3.5 and later work with Istio 1.9.1 and later out of the box.
13+
Coherence clusters managed with the Coherence Operator 3.3.6 and later work with Istio 1.9.1 and later out of the box.
1414
Coherence caches can be accessed from outside the Coherence cluster via Coherence*Extend, REST, and other supported
1515
Coherence clients.
1616
Using Coherence clusters with Istio does not require the Coherence Operator to also be using Istio (and vice-versa) .

examples/no-operator/04_istio/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ghcr.io/oracle/coherence-operator:3.3.5 AS Builder
1+
FROM ghcr.io/oracle/coherence-operator:3.3.6 AS Builder
22

33
FROM ghcr.io/oracle/coherence-ce:22.06.7
44
COPY --from=Builder /files /files

examples/no-operator/04_istio/README.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ Various utilities are copied from the Operator image into the base.
474474
[source]
475475
.Dockerfile
476476
----
477-
FROM ghcr.io/oracle/coherence-operator:3.3.5 AS Builder
477+
FROM ghcr.io/oracle/coherence-operator:3.3.6 AS Builder
478478
479479
FROM ghcr.io/oracle/coherence-ce:22.06.7
480480
COPY --from=Builder /files /files

java/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
</modules>
3030

3131
<properties>
32-
<revision>3.3.5</revision>
32+
<revision>3.3.6</revision>
3333
<operator.version>${project.version}</operator.version>
3434

3535
<build.java.version>17</build.java.version>

pkg/runner/runner.go

+10-2
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,11 @@ func httpGetWithBackoff(url string, details *RunDetails) string {
827827
if err == nil && status == http.StatusOK {
828828
return s
829829
}
830-
log.Info("http get backoff", "url", url, "backoff", backoff.String(), "status", strconv.Itoa(status), "error", err.Error())
830+
errorMsg := ""
831+
if err != nil {
832+
errorMsg = err.Error()
833+
}
834+
log.Info("http get backoff", "url", url, "backoff", backoff.String(), "status", strconv.Itoa(status), "error", errorMsg)
831835
time.Sleep(backoff)
832836
}
833837

@@ -837,7 +841,11 @@ func httpGetWithBackoff(url string, details *RunDetails) string {
837841
if err == nil && status == http.StatusOK {
838842
return s
839843
}
840-
log.Info("http get backoff", "url", url, "backoff", backoff.String(), "status", strconv.Itoa(status), "error", err.Error())
844+
errorMsg := ""
845+
if err != nil {
846+
errorMsg = err.Error()
847+
}
848+
log.Info("http get backoff", "url", url, "backoff", backoff.String(), "status", strconv.Itoa(status), "error", errorMsg)
841849
time.Sleep(backoff)
842850
}
843851

0 commit comments

Comments
 (0)