|
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@[email protected]");
|
506 | 510 | runJmsClientOnAdminPod("receive",
|
507 | 511 | "JdbcJmsServer@[email protected]");
|
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