Skip to content

Commit 38eeb0a

Browse files
committed
OWLS-70886
1 parent 78a9c94 commit 38eeb0a

File tree

4 files changed

+315
-51
lines changed

4 files changed

+315
-51
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,14 @@ void setMaxUnavailable(Integer maxUnavailable) {
127127
this.maxUnavailable = maxUnavailable;
128128
}
129129

130+
void fillInFrom(Cluster other) {
131+
if (other == null) {
132+
return;
133+
}
134+
super.fillInFrom(other);
135+
clusterService.fillInFrom(other.clusterService);
136+
}
137+
130138
@Override
131139
public String toString() {
132140
return new ToStringBuilder(this)

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -451,13 +451,13 @@ public ClusterConfigurator withPodAnnotation(String name, String value) {
451451

452452
@Override
453453
public ClusterConfigurator withServiceLabel(String name, String value) {
454-
cluster.addServiceLabel(name, value);
454+
cluster.addClusterLabel(name, value);
455455
return this;
456456
}
457457

458458
@Override
459459
public ClusterConfigurator withServiceAnnotation(String name, String value) {
460-
cluster.addServiceAnnotation(name, value);
460+
cluster.addClusterAnnotation(name, value);
461461
return this;
462462
}
463463

operator/src/main/java/oracle/kubernetes/operator/helpers/ServiceHelper.java

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -218,12 +218,12 @@ ServerSpec getServerSpec() {
218218

219219
@Override
220220
protected Map<String, String> getServiceLabels() {
221-
return getServerSpec().getPodLabels();
221+
return getServerSpec().getServiceLabels();
222222
}
223223

224224
@Override
225225
protected Map<String, String> getServiceAnnotations() {
226-
return getServerSpec().getPodAnnotations();
226+
return getServerSpec().getServiceAnnotations();
227227
}
228228

229229
String getServerName() {
@@ -734,23 +734,34 @@ Map<String, String> getServiceAnnotations() {
734734
}
735735

736736
private static boolean validateCurrentService(V1Service build, V1Service current) {
737-
V1ServiceSpec buildSpec = build.getSpec();
738-
V1ServiceSpec currentSpec = current.getSpec();
737+
return isCurrentServiceMetadataValid(build.getMetadata(), current.getMetadata())
738+
&& isCurrentServiceSpecValid(build.getSpec(), current.getSpec());
739+
}
739740

740-
if (!VersionHelper.matchesResourceVersion(
741-
current.getMetadata(), VersionConstants.DEFAULT_DOMAIN_VERSION)) {
742-
return false;
743-
}
741+
private static boolean isCurrentServiceMetadataValid(
742+
V1ObjectMeta buildMeta, V1ObjectMeta currentMeta) {
743+
return VersionHelper.matchesResourceVersion(
744+
currentMeta, VersionConstants.DEFAULT_DOMAIN_VERSION)
745+
&& KubernetesUtils.areLabelsValid(buildMeta, currentMeta)
746+
&& KubernetesUtils.areAnnotationsValid(buildMeta, currentMeta);
747+
}
744748

749+
private static boolean isCurrentServiceSpecValid(
750+
V1ServiceSpec buildSpec, V1ServiceSpec currentSpec) {
745751
String buildType = buildSpec.getType();
746752
String currentType = currentSpec.getType();
753+
747754
if (currentType == null) {
748755
currentType = "ClusterIP";
749756
}
750757
if (!currentType.equals(buildType)) {
751758
return false;
752759
}
753760

761+
if (!KubernetesUtils.mapEquals(buildSpec.getSelector(), currentSpec.getSelector())) {
762+
return false;
763+
}
764+
754765
List<V1ServicePort> buildPorts = buildSpec.getPorts();
755766
List<V1ServicePort> currentPorts = currentSpec.getPorts();
756767

0 commit comments

Comments
 (0)