Skip to content

Commit fd69894

Browse files
Bug fix for ClusterIP admin service annotations and labels (#2334)
* fixing labels and annotations for admin service * adding test for admin service annotations/labels
1 parent 0c89e6e commit fd69894

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

integration-tests/src/test/java/oracle/weblogic/kubernetes/ItMiiDomain.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import oracle.weblogic.domain.DomainSpec;
3030
import oracle.weblogic.domain.Model;
3131
import oracle.weblogic.domain.ServerPod;
32+
import oracle.weblogic.domain.ServerService;
3233
import oracle.weblogic.kubernetes.annotations.IntegrationTest;
3334
import oracle.weblogic.kubernetes.annotations.Namespaces;
3435
import oracle.weblogic.kubernetes.logging.LoggingFacade;
@@ -75,6 +76,7 @@
7576
import static oracle.weblogic.kubernetes.actions.TestActions.deleteImage;
7677
import static oracle.weblogic.kubernetes.actions.TestActions.dockerLogin;
7778
import static oracle.weblogic.kubernetes.actions.TestActions.dockerPush;
79+
import static oracle.weblogic.kubernetes.actions.TestActions.getDomainCustomResource;
7880
import static oracle.weblogic.kubernetes.actions.TestActions.getServiceNodePort;
7981
import static oracle.weblogic.kubernetes.actions.TestActions.patchDomainCustomResource;
8082
import static oracle.weblogic.kubernetes.assertions.TestAssertions.appAccessibleInPod;
@@ -498,6 +500,21 @@ public void testAddSecondApp() {
498500
logger.info("Both of the applications are running correctly after patching");
499501
}
500502

503+
@Test
504+
@Order(5)
505+
@DisplayName("Check admin service annotations and labels")
506+
public void testAdminServiceAnnotationsLabels() {
507+
Domain domain1 = assertDoesNotThrow(() -> getDomainCustomResource(domainUid, domainNamespace),
508+
String.format("getDomainCustomResource failed with ApiException when tried to get domain %s in namespace %s",
509+
domainUid, domainNamespace));
510+
assertTrue(
511+
domain1.getSpec().getAdminServer().getServerService().getAnnotations().containsKey("testkey"),
512+
"Missing expected annotation on admin service");
513+
assertTrue(
514+
domain1.getSpec().getAdminServer().getServerService().getLabels().containsKey("testkey"),
515+
"Missing expected label on admin service");
516+
}
517+
501518
// This method is needed in this test class, since the cleanup util
502519
// won't cleanup the images.
503520
@AfterEach
@@ -745,6 +762,10 @@ private Domain createDomainResourceWithConfigMap(String domainUid,
745762
String domNamespace, String adminSecretName,
746763
String repoSecretName, String encryptionSecretName,
747764
int replicaCount, String miiImage, String configmapName) {
765+
766+
Map keyValueMap = new HashMap<String, String>();
767+
keyValueMap.put("testkey", "testvalue");
768+
748769
// create the domain CR
749770
Domain domain = new Domain()
750771
.apiVersion(DOMAIN_API_VERSION)
@@ -772,6 +793,9 @@ private Domain createDomainResourceWithConfigMap(String domainUid,
772793
.value("-Djava.security.egd=file:/dev/./urandom ")))
773794
.adminServer(new AdminServer()
774795
.serverStartState("RUNNING")
796+
.serverService(new ServerService()
797+
.annotations(keyValueMap)
798+
.labels(keyValueMap))
775799
.adminService(new AdminService()
776800
.addChannelsItem(new Channel()
777801
.channelName("default-secure")

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,12 +268,20 @@ private ServerSpec getServerSpec() {
268268

269269
@Override
270270
protected Map<String, String> getServiceLabels() {
271-
return getServerSpec().getServiceLabels();
271+
Map<String, String> serviceLabels = getServerSpec().getServiceLabels();
272+
if (isForAdminServer()) {
273+
serviceLabels.putAll(getDomain().getAdminServerSpec().getServiceLabels());
274+
}
275+
return serviceLabels;
272276
}
273277

274278
@Override
275279
protected Map<String, String> getServiceAnnotations() {
276-
return getServerSpec().getServiceAnnotations();
280+
Map<String, String> serviceAnnotations = getServerSpec().getServiceAnnotations();
281+
if (isForAdminServer()) {
282+
serviceAnnotations.putAll(getDomain().getAdminServerSpec().getServiceAnnotations());
283+
}
284+
return serviceAnnotations;
277285
}
278286

279287
String getServerName() {

0 commit comments

Comments
 (0)