|
15 | 15 | import io.kubernetes.client.openapi.models.V1LocalObjectReference; |
16 | 16 | import oracle.weblogic.domain.ClusterResource; |
17 | 17 | import oracle.weblogic.domain.DomainResource; |
| 18 | +import oracle.weblogic.kubernetes.actions.TestActions; |
18 | 19 | import oracle.weblogic.kubernetes.actions.impl.TraefikParams; |
19 | 20 | import oracle.weblogic.kubernetes.actions.impl.primitive.Command; |
20 | 21 | import oracle.weblogic.kubernetes.actions.impl.primitive.CommandParams; |
|
54 | 55 | import static oracle.weblogic.kubernetes.actions.TestActions.execCommand; |
55 | 56 | import static oracle.weblogic.kubernetes.actions.TestActions.patchDomainCustomResource; |
56 | 57 | import static oracle.weblogic.kubernetes.actions.TestActions.scaleCluster; |
| 58 | +import static oracle.weblogic.kubernetes.actions.TestActions.startDomain; |
57 | 59 | import static oracle.weblogic.kubernetes.actions.TestActions.uninstallTraefik; |
58 | 60 | import static oracle.weblogic.kubernetes.actions.impl.primitive.Command.defaultCommandParams; |
59 | 61 | import static oracle.weblogic.kubernetes.assertions.TestAssertions.domainExists; |
|
65 | 67 | import static oracle.weblogic.kubernetes.utils.CommonMiiTestUtils.createJobToChangePermissionsOnPvHostPath; |
66 | 68 | import static oracle.weblogic.kubernetes.utils.CommonMiiTestUtils.readRuntimeResource; |
67 | 69 | import static oracle.weblogic.kubernetes.utils.CommonTestUtils.checkPodReadyAndServiceExists; |
| 70 | +import static oracle.weblogic.kubernetes.utils.CommonTestUtils.checkServiceExists; |
68 | 71 | import static oracle.weblogic.kubernetes.utils.CommonTestUtils.createIngressHostRouting; |
69 | 72 | import static oracle.weblogic.kubernetes.utils.CommonTestUtils.getUniqueName; |
70 | 73 | import static oracle.weblogic.kubernetes.utils.CommonTestUtils.runClientInsidePod; |
|
91 | 94 | import static oracle.weblogic.kubernetes.utils.PersistentVolumeUtils.createPVC; |
92 | 95 | import static oracle.weblogic.kubernetes.utils.PodUtils.checkPodDeleted; |
93 | 96 | import static oracle.weblogic.kubernetes.utils.PodUtils.checkPodDoesNotExist; |
| 97 | +import static oracle.weblogic.kubernetes.utils.PodUtils.checkPodReady; |
94 | 98 | import static oracle.weblogic.kubernetes.utils.PodUtils.getExternalServicePodName; |
95 | 99 | import static oracle.weblogic.kubernetes.utils.SecretUtils.createOpsswalletpasswordSecret; |
96 | 100 | import static oracle.weblogic.kubernetes.utils.SecretUtils.createSecretWithUsernamePassword; |
@@ -505,10 +509,7 @@ private void testMiiJmsJtaServiceMigration() { |
505 | 509 | "ClusterJmsServer@managed-server2@jms.testUniformQueue"); |
506 | 510 | runJmsClientOnAdminPod("receive", |
507 | 511 | "JdbcJmsServer@managed-server2@jms.jdbcUniformQueue"); |
508 | | - |
509 | | - // Restart the managed server(2) to make sure the JTA Recovery Service is |
510 | | - // migrated back to original hosting server |
511 | | - restartManagedServer("managed-server2"); |
| 512 | + restartDomain(); |
512 | 513 | assertTrue(checkJtaRecoveryServiceRuntime("managed-server2", |
513 | 514 | "managed-server2", "true"), |
514 | 515 | "JTARecoveryService@managed-server2 is not on managed-server2 after restart"); |
@@ -549,6 +550,43 @@ public void tearDownAll() throws ApiException { |
549 | 550 | } |
550 | 551 | } |
551 | 552 |
|
| 553 | + //restart pods by manipulating the serverStartPolicy to Never and IfNeeded |
| 554 | + private void restartDomain() { |
| 555 | + logger.info("Restarting domain {0}", wlsDomainNamespace); |
| 556 | + TestActions.shutdownDomain(wlsDomainUid, wlsDomainNamespace); |
| 557 | + |
| 558 | + logger.info("Checking for admin server pod shutdown"); |
| 559 | + checkPodDoesNotExist(wlsAdminServerPodName, wlsDomainUid, wlsDomainNamespace); |
| 560 | + logger.info("Checking managed server pods were shutdown"); |
| 561 | + for (int i = 1; i <= replicaCount; i++) { |
| 562 | + checkPodDoesNotExist(wlsManagedServerPrefix + i, wlsDomainUid, wlsDomainNamespace); |
| 563 | + } |
| 564 | + |
| 565 | + startDomain(wlsDomainUid, wlsDomainNamespace); |
| 566 | + boolean psuccess = scaleCluster(wlsClusterResName, wlsDomainNamespace, 2); |
| 567 | + assertTrue(psuccess, |
| 568 | + String.format("Cluster replica patching failed for domain %s in namespace %s", |
| 569 | + wlsDomainUid, wlsDomainNamespace)); |
| 570 | + |
| 571 | + // verify the admin server service created |
| 572 | + checkServiceExists(wlsAdminServerPodName, wlsDomainNamespace); |
| 573 | + |
| 574 | + logger.info("Checking for admin server pod readiness"); |
| 575 | + checkPodReady(wlsAdminServerPodName, wlsDomainUid, wlsDomainNamespace); |
| 576 | + |
| 577 | + // verify managed server services created |
| 578 | + for (int i = 1; i <= replicaCount; i++) { |
| 579 | + logger.info("Checking managed server service {0} is created in namespace {1}", |
| 580 | + wlsManagedServerPrefix + i, wlsDomainNamespace); |
| 581 | + checkServiceExists(wlsManagedServerPrefix + i, wlsDomainNamespace); |
| 582 | + } |
| 583 | + |
| 584 | + logger.info("Checking for managed servers pod readiness"); |
| 585 | + for (int i = 1; i <= replicaCount; i++) { |
| 586 | + checkPodReady(wlsManagedServerPrefix + i, wlsDomainUid, wlsDomainNamespace); |
| 587 | + } |
| 588 | + } |
| 589 | + |
552 | 590 | // Restart the managed-server |
553 | 591 | private void restartManagedServer(String serverName) { |
554 | 592 | String commonParameters = " -d " + wlsDomainUid + " -n " + wlsDomainNamespace; |
|
0 commit comments