Skip to content

Commit ba195e6

Browse files
committed
Use tuning object instead of V1Probe in resource
1 parent 9a16216 commit ba195e6

File tree

6 files changed

+132
-54
lines changed

6 files changed

+132
-54
lines changed

model/src/main/java/oracle/kubernetes/weblogic/domain/v1/ServerSpec.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import io.kubernetes.client.models.V1EnvVar;
1212
import io.kubernetes.client.models.V1LocalObjectReference;
1313
import io.kubernetes.client.models.V1PodSecurityContext;
14-
import io.kubernetes.client.models.V1Probe;
1514
import io.kubernetes.client.models.V1ResourceRequirements;
1615
import io.kubernetes.client.models.V1SecurityContext;
1716
import io.kubernetes.client.models.V1Volume;
@@ -23,6 +22,7 @@
2322
import java.util.Optional;
2423
import javax.annotation.Nonnull;
2524
import oracle.kubernetes.operator.KubernetesConstants;
25+
import oracle.kubernetes.weblogic.domain.v2.ProbeTuning;
2626

2727
/** Represents the effective configuration for a server, as seen by the operator runtime. */
2828
@SuppressWarnings("WeakerAccess")
@@ -139,13 +139,13 @@ public List<V1Volume> getAdditionalVolumes() {
139139
}
140140

141141
@Nonnull
142-
public V1Probe getLivenessProbe() {
143-
return new V1Probe();
142+
public ProbeTuning getLivenessProbe() {
143+
return new ProbeTuning();
144144
}
145145

146146
@Nonnull
147-
public V1Probe getReadinessProbe() {
148-
return new V1Probe();
147+
public ProbeTuning getReadinessProbe() {
148+
return new ProbeTuning();
149149
}
150150

151151
@Nonnull

model/src/main/java/oracle/kubernetes/weblogic/domain/v2/BaseConfiguration.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import com.google.gson.annotations.Expose;
88
import com.google.gson.annotations.SerializedName;
99
import io.kubernetes.client.models.V1EnvVar;
10-
import io.kubernetes.client.models.V1Probe;
1110
import java.util.List;
1211
import java.util.Objects;
1312
import javax.annotation.Nullable;
@@ -118,16 +117,16 @@ void setLivenessProbe(Integer initialDelay, Integer timeout, Integer period) {
118117
serverPod.setLivenessProbe(initialDelay, timeout, period);
119118
}
120119

121-
V1Probe getLivenessProbe() {
122-
return serverPod.getLivenessProbe();
120+
ProbeTuning getLivenessProbe() {
121+
return serverPod.getLivenessProbeTuning();
123122
}
124123

125124
void setReadinessProbe(Integer initialDelay, Integer timeout, Integer period) {
126-
serverPod.setReadinessProbe(initialDelay, timeout, period);
125+
serverPod.setReadinessProbeTuning(initialDelay, timeout, period);
127126
}
128127

129-
V1Probe getReadinessProbe() {
130-
return serverPod.getReadinessProbe();
128+
ProbeTuning getReadinessProbe() {
129+
return serverPod.getReadinessProbeTuning();
131130
}
132131

133132
@Override
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
// Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2+
// Licensed under the Universal Permissive License v 1.0 as shown at
3+
// http://oss.oracle.com/licenses/upl.
4+
5+
package oracle.kubernetes.weblogic.domain.v2;
6+
7+
import com.google.gson.annotations.SerializedName;
8+
import oracle.kubernetes.json.Description;
9+
import org.apache.commons.lang3.builder.EqualsBuilder;
10+
import org.apache.commons.lang3.builder.HashCodeBuilder;
11+
import org.apache.commons.lang3.builder.ToStringBuilder;
12+
13+
public class ProbeTuning {
14+
@Description("The number of seconds before the first check is performed")
15+
private Integer initialDelaySeconds = null;
16+
17+
@Description("The number of seconds between checks")
18+
@SerializedName("periodSeconds")
19+
private Integer periodSeconds = null;
20+
21+
@Description("The number of seconds with no response that indicates a failure")
22+
@SerializedName("timeoutSeconds")
23+
private Integer timeoutSeconds = null;
24+
25+
public ProbeTuning() {}
26+
27+
public Integer getInitialDelaySeconds() {
28+
return initialDelaySeconds;
29+
}
30+
31+
public ProbeTuning initialDelaySeconds(Integer initialDelaySeconds) {
32+
this.initialDelaySeconds = initialDelaySeconds;
33+
return this;
34+
}
35+
36+
public Integer getPeriodSeconds() {
37+
return periodSeconds;
38+
}
39+
40+
public ProbeTuning periodSeconds(Integer periodSeconds) {
41+
this.periodSeconds = periodSeconds;
42+
return this;
43+
}
44+
45+
public Integer getTimeoutSeconds() {
46+
return timeoutSeconds;
47+
}
48+
49+
public ProbeTuning timeoutSeconds(Integer timeoutSeconds) {
50+
this.timeoutSeconds = timeoutSeconds;
51+
return this;
52+
}
53+
54+
@Override
55+
public String toString() {
56+
return new ToStringBuilder(this)
57+
.append("initialDelaySeconds", initialDelaySeconds)
58+
.append("periodSeconds", periodSeconds)
59+
.append("timeoutSeconds", timeoutSeconds)
60+
.toString();
61+
}
62+
63+
@Override
64+
public boolean equals(Object o) {
65+
if (this == o) return true;
66+
67+
if (o == null || getClass() != o.getClass()) return false;
68+
69+
ProbeTuning that = (ProbeTuning) o;
70+
71+
return new EqualsBuilder()
72+
.append(initialDelaySeconds, that.initialDelaySeconds)
73+
.append(periodSeconds, that.periodSeconds)
74+
.append(timeoutSeconds, that.timeoutSeconds)
75+
.isEquals();
76+
}
77+
78+
@Override
79+
public int hashCode() {
80+
return new HashCodeBuilder(17, 37)
81+
.append(initialDelaySeconds)
82+
.append(periodSeconds)
83+
.append(timeoutSeconds)
84+
.toHashCode();
85+
}
86+
}

model/src/main/java/oracle/kubernetes/weblogic/domain/v2/ServerPod.java

Lines changed: 29 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.google.gson.annotations.Expose;
1010
import com.google.gson.annotations.SerializedName;
1111
import io.kubernetes.client.models.V1EnvVar;
12-
import io.kubernetes.client.models.V1Probe;
1312
import java.util.ArrayList;
1413
import java.util.List;
1514
import java.util.Optional;
@@ -42,7 +41,7 @@ class ServerPod {
4241
@SerializedName("livenessProbe")
4342
@Expose
4443
@Description("Settings for the liveness probe associated with a server")
45-
private V1Probe livenessProbe = new V1Probe();
44+
private ProbeTuning livenessProbeTuning = new ProbeTuning();
4645

4746
/**
4847
* Defines the settings for the readiness probe. Any that are not specified will default to the
@@ -53,14 +52,25 @@ class ServerPod {
5352
@SerializedName("readinessProbe")
5453
@Expose
5554
@Description("Settings for the readiness probe associated with a server")
56-
private V1Probe readinessProbe = new V1Probe();
55+
private ProbeTuning readinessProbeTuning = new ProbeTuning();
5756

58-
V1Probe getReadinessProbe() {
59-
return this.readinessProbe;
57+
ProbeTuning getReadinessProbeTuning() {
58+
return this.readinessProbeTuning;
6059
}
6160

62-
void setReadinessProbe(Integer initialDelay, Integer timeout, Integer period) {
63-
this.readinessProbe
61+
void setReadinessProbeTuning(Integer initialDelay, Integer timeout, Integer period) {
62+
this.readinessProbeTuning
63+
.initialDelaySeconds(initialDelay)
64+
.timeoutSeconds(timeout)
65+
.periodSeconds(period);
66+
}
67+
68+
ProbeTuning getLivenessProbeTuning() {
69+
return this.livenessProbeTuning;
70+
}
71+
72+
void setLivenessProbe(Integer initialDelay, Integer timeout, Integer period) {
73+
this.livenessProbeTuning
6474
.initialDelaySeconds(initialDelay)
6575
.timeoutSeconds(timeout)
6676
.periodSeconds(period);
@@ -72,8 +82,8 @@ boolean hasV2Fields() {
7282

7383
void fillInFrom(ServerPod serverPod1) {
7484
for (V1EnvVar var : serverPod1.getV1EnvVars()) addIfMissing(var);
75-
copyValues(livenessProbe, serverPod1.livenessProbe);
76-
copyValues(readinessProbe, serverPod1.readinessProbe);
85+
copyValues(livenessProbeTuning, serverPod1.livenessProbeTuning);
86+
copyValues(readinessProbeTuning, serverPod1.readinessProbeTuning);
7787
}
7888

7989
private List<V1EnvVar> getV1EnvVars() {
@@ -92,12 +102,11 @@ private boolean hasEnvVar(String name) {
92102
return false;
93103
}
94104

95-
private static void copyValues(V1Probe toProbe, V1Probe fromProbe) {
105+
private static void copyValues(ProbeTuning toProbe, ProbeTuning fromProbe) {
96106
if (toProbe.getInitialDelaySeconds() == null)
97-
toProbe.setInitialDelaySeconds(fromProbe.getInitialDelaySeconds());
98-
if (toProbe.getTimeoutSeconds() == null)
99-
toProbe.setTimeoutSeconds(fromProbe.getTimeoutSeconds());
100-
if (toProbe.getPeriodSeconds() == null) toProbe.setPeriodSeconds(fromProbe.getPeriodSeconds());
107+
toProbe.initialDelaySeconds(fromProbe.getInitialDelaySeconds());
108+
if (toProbe.getTimeoutSeconds() == null) toProbe.timeoutSeconds(fromProbe.getTimeoutSeconds());
109+
if (toProbe.getPeriodSeconds() == null) toProbe.periodSeconds(fromProbe.getPeriodSeconds());
101110
}
102111

103112
List<V1EnvVar> getEnv() {
@@ -113,27 +122,12 @@ void setEnv(@Nullable List<V1EnvVar> env) {
113122
this.env = env;
114123
}
115124

116-
V1Probe getLivenessProbe() {
117-
return this.livenessProbe;
118-
}
119-
120-
void setLivenessProbe(Integer initialDelay, Integer timeout, Integer period) {
121-
this.livenessProbe
122-
.initialDelaySeconds(initialDelay)
123-
.timeoutSeconds(timeout)
124-
.periodSeconds(period);
125-
}
126-
127125
@Override
128126
public String toString() {
129127
return new ToStringBuilder(this)
130128
.append("env", env)
131-
.append("livenessProbe.initialDelaySeconds", livenessProbe.getInitialDelaySeconds())
132-
.append("livenessProbe.timeoutSeconds", livenessProbe.getTimeoutSeconds())
133-
.append("livenessProbe.periodSeconds", livenessProbe.getPeriodSeconds())
134-
.append("readinessProbeProbe.initialDelaySeconds", readinessProbe.getInitialDelaySeconds())
135-
.append("readinessProbe.timeoutSeconds", readinessProbe.getTimeoutSeconds())
136-
.append("readinessProbe.periodSeconds", readinessProbe.getPeriodSeconds())
129+
.append("livenessProbe", livenessProbeTuning)
130+
.append("readinessProbe", readinessProbeTuning)
137131
.toString();
138132
}
139133

@@ -147,17 +141,17 @@ public boolean equals(Object o) {
147141

148142
return new EqualsBuilder()
149143
.append(env, that.env)
150-
.append(livenessProbe, that.livenessProbe)
151-
.append(readinessProbe, that.readinessProbe)
144+
.append(livenessProbeTuning, that.livenessProbeTuning)
145+
.append(readinessProbeTuning, that.readinessProbeTuning)
152146
.isEquals();
153147
}
154148

155149
@Override
156150
public int hashCode() {
157151
return new HashCodeBuilder(17, 37)
158152
.append(env)
159-
.append(livenessProbe)
160-
.append(readinessProbe)
153+
.append(livenessProbeTuning)
154+
.append(readinessProbeTuning)
161155
.toHashCode();
162156
}
163157
}

model/src/main/java/oracle/kubernetes/weblogic/domain/v2/ServerSpecV2Impl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import static oracle.kubernetes.weblogic.domain.v2.ConfigurationConstants.START_NEVER;
1010

1111
import io.kubernetes.client.models.V1EnvVar;
12-
import io.kubernetes.client.models.V1Probe;
1312
import java.util.List;
1413
import java.util.Optional;
1514
import javax.annotation.Nonnull;
@@ -85,13 +84,13 @@ private String getEffectiveServerStartPolicy() {
8584

8685
@Nonnull
8786
@Override
88-
public V1Probe getLivenessProbe() {
87+
public ProbeTuning getLivenessProbe() {
8988
return server.getLivenessProbe();
9089
}
9190

9291
@Nonnull
9392
@Override
94-
public V1Probe getReadinessProbe() {
93+
public ProbeTuning getReadinessProbe() {
9594
return server.getReadinessProbe();
9695
}
9796
}

model/src/test/java/oracle/kubernetes/weblogic/domain/v1/DomainV1Test.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
import static org.hamcrest.Matchers.nullValue;
1818
import static org.junit.Assert.assertThat;
1919

20-
import io.kubernetes.client.models.V1Probe;
2120
import oracle.kubernetes.weblogic.domain.AdminServerConfigurator;
2221
import oracle.kubernetes.weblogic.domain.DomainConfigurator;
2322
import oracle.kubernetes.weblogic.domain.DomainTestBase;
23+
import oracle.kubernetes.weblogic.domain.v2.ProbeTuning;
2424
import org.junit.Before;
2525
import org.junit.Test;
2626

@@ -235,20 +235,20 @@ public void domainV2Objects_areNull() {
235235
@Test
236236
public void livenessProbeSettings_returnsNullValues() {
237237
ServerSpec spec = domain.getServer(SERVER1, CLUSTER_NAME);
238-
V1Probe probe = spec.getLivenessProbe();
238+
ProbeTuning probe = spec.getLivenessProbe();
239239

240240
assertThat(probe.getInitialDelaySeconds(), nullValue());
241-
assertThat(probe.getFailureThreshold(), nullValue());
241+
assertThat(probe.getTimeoutSeconds(), nullValue());
242242
assertThat(probe.getPeriodSeconds(), nullValue());
243243
}
244244

245245
@Test
246246
public void readinessProbeSettings_returnsNullValues() {
247247
ServerSpec spec = domain.getServer(SERVER1, CLUSTER_NAME);
248-
V1Probe probe = spec.getReadinessProbe();
248+
ProbeTuning probe = spec.getReadinessProbe();
249249

250250
assertThat(probe.getInitialDelaySeconds(), nullValue());
251-
assertThat(probe.getFailureThreshold(), nullValue());
251+
assertThat(probe.getTimeoutSeconds(), nullValue());
252252
assertThat(probe.getPeriodSeconds(), nullValue());
253253
}
254254

0 commit comments

Comments
 (0)