diff --git a/documentation/charts/index.yaml b/documentation/charts/index.yaml index 7884d7e0d1c..9be7c121367 100644 --- a/documentation/charts/index.yaml +++ b/documentation/charts/index.yaml @@ -3,9 +3,9 @@ entries: weblogic-operator: - apiVersion: v1 appVersion: 3.2.0 - created: "2021-03-01T11:49:25.929734-05:00" + created: "2021-03-30T11:24:31.829893-04:00" description: Helm chart for configuring the WebLogic operator. - digest: d6862418f747e8d2d4d184242fb2518abfd5853be99d42bc5b9579878ead54a6 + digest: e1c9192b3590d10b8426b7e7bcae27213d9f2296ef4f2cf547e198fd2d89ab1b name: weblogic-operator type: application urls: @@ -13,7 +13,7 @@ entries: version: 3.2.0 - apiVersion: v1 appVersion: 3.1.4 - created: "2021-03-01T11:49:25.928315-05:00" + created: "2021-03-30T11:24:31.829174-04:00" description: Helm chart for configuring the WebLogic operator. digest: 9695fd3c29cd4f006f8e75ae0053683c9aa7213440525002f4f3d36eb8d86633 name: weblogic-operator @@ -23,7 +23,7 @@ entries: version: 3.1.4 - apiVersion: v1 appVersion: 3.1.3 - created: "2021-03-01T11:49:25.927245-05:00" + created: "2021-03-30T11:24:31.827653-04:00" description: Helm chart for configuring the WebLogic operator. digest: e306bd590dbe84400c6b5bb7a64325330e597223dff63792bb5811c9cfae10ac name: weblogic-operator @@ -33,7 +33,7 @@ entries: version: 3.1.3 - apiVersion: v1 appVersion: 3.1.2 - created: "2021-03-01T11:49:25.926206-05:00" + created: "2021-03-30T11:24:31.826574-04:00" description: Helm chart for configuring the WebLogic operator. digest: 2d8b77038ba870cc66ddd45e07a593a5ac3159c8b9531b5309688028b5268a5f name: weblogic-operator @@ -43,7 +43,7 @@ entries: version: 3.1.2 - apiVersion: v1 appVersion: 3.1.1 - created: "2021-03-01T11:49:25.925384-05:00" + created: "2021-03-30T11:24:31.825577-04:00" description: Helm chart for configuring the WebLogic operator. digest: d839cb7bbce4421a59cd9c3df64b1df8649eeebcb6c6b7be34fec25ad00aa141 name: weblogic-operator @@ -53,7 +53,7 @@ entries: version: 3.1.1 - apiVersion: v1 appVersion: 3.1.0 - created: "2021-03-01T11:49:25.92447-05:00" + created: "2021-03-30T11:24:31.824381-04:00" description: Helm chart for configuring the WebLogic operator. digest: 9e105bec11bab249973370a4d5e653f9104cd9fbaaa0c2090fb173805fb3a692 name: weblogic-operator @@ -62,7 +62,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.1.0.tgz version: 3.1.0 - apiVersion: v1 - created: "2021-03-01T11:49:25.923639-05:00" + created: "2021-03-30T11:24:31.823554-04:00" description: Helm chart for configuring the WebLogic operator. digest: 557d0df9958bbdd2f456134d8aff9edf33900bb65774fb0baf2054abd49fdc97 name: weblogic-operator @@ -70,7 +70,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.4.tgz version: 3.0.4 - apiVersion: v1 - created: "2021-03-01T11:49:25.922991-05:00" + created: "2021-03-30T11:24:31.822787-04:00" description: Helm chart for configuring the WebLogic operator. digest: 83a0ac84a033ddd9939d4bc5884cc60b22225d7326c43ce8e54a6f403b453814 name: weblogic-operator @@ -78,7 +78,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.3.tgz version: 3.0.3 - apiVersion: v1 - created: "2021-03-01T11:49:25.922324-05:00" + created: "2021-03-30T11:24:31.822027-04:00" description: Helm chart for configuring the WebLogic operator. digest: fa3af5d21f858ff93cc7d58664a6eb0a920207af09e4c669a7ffb12e9e15b88d name: weblogic-operator @@ -86,7 +86,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.2.tgz version: 3.0.2 - apiVersion: v1 - created: "2021-03-01T11:49:25.921607-05:00" + created: "2021-03-30T11:24:31.821251-04:00" description: Helm chart for configuring the WebLogic operator. digest: aa2b2afe75305bd69f6b07d61e64a37d3bfd249074c81f6a999cef6b4a217fd0 name: weblogic-operator @@ -94,7 +94,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.1.tgz version: 3.0.1 - apiVersion: v1 - created: "2021-03-01T11:49:25.920811-05:00" + created: "2021-03-30T11:24:31.820527-04:00" description: Helm chart for configuring the WebLogic operator. digest: 6540a3a7c6a1c34fcf2ff66679947a1964a35e61232b2a8dea3da087a2d5411d name: weblogic-operator @@ -102,7 +102,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.0.tgz version: 3.0.0 - apiVersion: v1 - created: "2021-03-01T11:49:25.92013-05:00" + created: "2021-03-30T11:24:31.819655-04:00" description: Helm chart for configuring the WebLogic operator. digest: 5f4cd8f4f3282b52b5e90a1169f26986e8272671845053606ade9c855fb04151 name: weblogic-operator @@ -110,7 +110,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-3.0.0-rc1.tgz version: 3.0.0-rc1 - apiVersion: v1 - created: "2021-03-01T11:49:25.919169-05:00" + created: "2021-03-30T11:24:31.818845-04:00" description: Helm chart for configuring the WebLogic operator. digest: e3596b2380b264a0a70ba438858ca9af102a79689bf2e21e237eb63ea2997d66 name: weblogic-operator @@ -118,7 +118,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.6.0.tgz version: 2.6.0 - apiVersion: v1 - created: "2021-03-01T11:49:25.918096-05:00" + created: "2021-03-30T11:24:31.817876-04:00" description: Helm chart for configuring the WebLogic operator. digest: fe41421b7dc45dc8a3b2888d3a626a37f5d3c8e1fa292fb6699deedc5e1db33d name: weblogic-operator @@ -126,7 +126,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.5.0.tgz version: 2.5.0 - apiVersion: v1 - created: "2021-03-01T11:49:25.917329-05:00" + created: "2021-03-30T11:24:31.81703-04:00" description: Helm chart for configuring the WebLogic operator. digest: b36bd32083f67453a62d089a2c09ce38e6655d88ac8a7b38691230c55c40e672 name: weblogic-operator @@ -134,7 +134,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.4.0.tgz version: 2.4.0 - apiVersion: v1 - created: "2021-03-01T11:49:25.916001-05:00" + created: "2021-03-30T11:24:31.81567-04:00" description: Helm chart for configuring the WebLogic operator. digest: a3eafe4c2c6ff49384e56421201e59a3737d651af8d5b605b87a19eb1f6f1dc3 name: weblogic-operator @@ -142,7 +142,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.3.1.tgz version: 2.3.1 - apiVersion: v1 - created: "2021-03-01T11:49:25.913214-05:00" + created: "2021-03-30T11:24:31.813773-04:00" description: Helm chart for configuring the WebLogic operator. digest: cbc6caaa6eb28e3c7e906ede14b2ae511a0b35fc12a8e3ab629155b09993e8b2 name: weblogic-operator @@ -150,7 +150,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.3.0.tgz version: 2.3.0 - apiVersion: v1 - created: "2021-03-01T11:49:25.912405-05:00" + created: "2021-03-30T11:24:31.812932-04:00" description: Helm chart for configuring the WebLogic operator. digest: 23d5a1c554fa8211cc1e86b7ade09460917cb2069e68fb4bfdddafc8db44fdcd name: weblogic-operator @@ -158,7 +158,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.2.1.tgz version: 2.2.1 - apiVersion: v1 - created: "2021-03-01T11:49:25.911396-05:00" + created: "2021-03-30T11:24:31.812192-04:00" description: Helm chart for configuring the WebLogic operator. digest: bba303686cb55d84fe8c0d693a2436e7e686b028085b56e012f6381699a3911f name: weblogic-operator @@ -166,7 +166,7 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.2.0.tgz version: 2.2.0 - apiVersion: v1 - created: "2021-03-01T11:49:25.909964-05:00" + created: "2021-03-30T11:24:31.810952-04:00" description: Helm chart for configuring the WebLogic operator. digest: 391e23c0969ada5f0cd2a088ddc6f11f237f57521801ed3925db2149a8437a0d name: weblogic-operator @@ -174,11 +174,11 @@ entries: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.1.tgz version: "2.1" - apiVersion: v1 - created: "2021-03-01T11:49:25.909117-05:00" + created: "2021-03-30T11:24:31.810083-04:00" description: Helm chart for configuring the WebLogic operator. digest: 298acda78ab73db6b7ba6f2752311bfa40c65874e03fb196b70976192211c1a5 name: weblogic-operator urls: - https://oracle.github.io/weblogic-kubernetes-operator/charts/weblogic-operator-2.0.1.tgz version: 2.0.1 -generated: "2021-03-01T11:49:25.907565-05:00" +generated: "2021-03-30T11:24:31.808922-04:00" diff --git a/documentation/charts/weblogic-operator-3.2.0.tgz b/documentation/charts/weblogic-operator-3.2.0.tgz index 722ea3ee2d6..0fcdcca3bef 100644 Binary files a/documentation/charts/weblogic-operator-3.2.0.tgz and b/documentation/charts/weblogic-operator-3.2.0.tgz differ diff --git a/kubernetes/charts/weblogic-operator/templates/_operator-dep.tpl b/kubernetes/charts/weblogic-operator/templates/_operator-dep.tpl index 9840d9ae0ca..da331937f85 100644 --- a/kubernetes/charts/weblogic-operator/templates/_operator-dep.tpl +++ b/kubernetes/charts/weblogic-operator/templates/_operator-dep.tpl @@ -11,6 +11,8 @@ metadata: labels: weblogic.operatorName: {{ .Release.Namespace | quote }} spec: + strategy: + type: Recreate selector: matchLabels: weblogic.operatorName: {{ .Release.Namespace | quote }} diff --git a/operator/src/main/java/oracle/kubernetes/operator/helpers/PodHelper.java b/operator/src/main/java/oracle/kubernetes/operator/helpers/PodHelper.java index 6e7cdf83926..6ec34848db3 100644 --- a/operator/src/main/java/oracle/kubernetes/operator/helpers/PodHelper.java +++ b/operator/src/main/java/oracle/kubernetes/operator/helpers/PodHelper.java @@ -298,6 +298,11 @@ ServerSpec getServerSpec() { return getDomain().getAdminServerSpec(); } + @Override + Integer getOldMetricsPort() { + return getAsPort(); + } + @Override String getServerName() { return getAsName(); @@ -446,6 +451,11 @@ Integer getLocalAdminProtocolChannelPort() { return scan.getLocalAdminProtocolChannelPort(); } + @Override + Integer getOldMetricsPort() { + return getListenPort(); + } + @Override String getServerName() { return scan.getName(); diff --git a/operator/src/main/java/oracle/kubernetes/operator/helpers/PodStepContext.java b/operator/src/main/java/oracle/kubernetes/operator/helpers/PodStepContext.java index c91e9944ae4..3e534414f76 100644 --- a/operator/src/main/java/oracle/kubernetes/operator/helpers/PodStepContext.java +++ b/operator/src/main/java/oracle/kubernetes/operator/helpers/PodStepContext.java @@ -13,6 +13,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.function.Consumer; import java.util.stream.Collectors; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -185,7 +186,7 @@ String getAsName() { return domainTopology.getAdminServerName(); } - private Integer getAsPort() { + Integer getAsPort() { return domainTopology .getServerConfig(domainTopology.getAdminServerName()) .getLocalAdminProtocolChannelPort(); @@ -288,6 +289,7 @@ Integer getAdminPort() { return Optional.ofNullable(scan).map(WlsServerConfig::getAdminPort).orElse(null); } + abstract Integer getOldMetricsPort(); abstract String getServerName(); @@ -466,9 +468,7 @@ private boolean mustPatchPod(V1Pod currentPod) { private boolean canUseCurrentPod(V1Pod currentPod) { - boolean useCurrent = - getRequiredHash(currentPod).equals(AnnotationHelper.getHash(currentPod)) - && canUseNewDomainZip(currentPod); + boolean useCurrent = hasCorrectPodHash(currentPod) && canUseNewDomainZip(currentPod); if (!useCurrent && AnnotationHelper.getDebugString(currentPod).length() > 0) { LOGGER.fine( @@ -480,11 +480,11 @@ private boolean canUseCurrentPod(V1Pod currentPod) { return useCurrent; } - private String getRequiredHash(V1Pod currentPod) { - if (isLegacyPod(currentPod)) { - return adjustedHash(currentPod); + private boolean hasCorrectPodHash(V1Pod currentPod) { + if (!isLegacyPod(currentPod)) { + return AnnotationHelper.getHash(getPodModel()).equals(AnnotationHelper.getHash(currentPod)); } else { - return AnnotationHelper.getHash(getPodModel()); + return canAdjustHashToMatch(currentPod, AnnotationHelper.getHash(currentPod)); } } @@ -492,13 +492,18 @@ private boolean isLegacyPod(V1Pod currentPod) { return !hasLabel(currentPod, OPERATOR_VERSION); } + private boolean canAdjustHashToMatch(V1Pod currentPod, String requiredHash) { + return requiredHash.equals(adjustedHash(currentPod, this::addLegacyPrometheusAnnotationsFrom_3_0)) + || requiredHash.equals(adjustedHash(currentPod, this::addLegacyPrometheusAnnotationsFrom_3_1)); + } + private boolean hasLabel(V1Pod pod, String key) { return pod.getMetadata().getLabels().containsKey(key); } - private String adjustedHash(V1Pod currentPod) { + private String adjustedHash(V1Pod currentPod, Consumer prometheusAdjustment) { V1Pod recipe = createPodRecipe(); - addLegacyPrometheusAnnotations(recipe); + prometheusAdjustment.accept(recipe); if (isLegacyMiiPod(currentPod)) { copyLabel(currentPod, recipe, MODEL_IN_IMAGE_DOMAINZIP_HASH); @@ -507,7 +512,11 @@ private String adjustedHash(V1Pod currentPod) { return AnnotationHelper.createHash(recipe); } - private void addLegacyPrometheusAnnotations(V1Pod pod) { + private void addLegacyPrometheusAnnotationsFrom_3_0(V1Pod pod) { + AnnotationHelper.annotateForPrometheus(pod.getMetadata(), "/wls-exporter", getOldMetricsPort()); + } + + private void addLegacyPrometheusAnnotationsFrom_3_1(V1Pod pod) { AnnotationHelper.annotateForPrometheus(pod.getMetadata(), "/wls-exporter", getMetricsPort()); } diff --git a/operator/src/test/java/oracle/kubernetes/operator/helpers/AdminPodHelperTest.java b/operator/src/test/java/oracle/kubernetes/operator/helpers/AdminPodHelperTest.java index 3aa44cb720d..37d83840d55 100644 --- a/operator/src/test/java/oracle/kubernetes/operator/helpers/AdminPodHelperTest.java +++ b/operator/src/test/java/oracle/kubernetes/operator/helpers/AdminPodHelperTest.java @@ -102,12 +102,22 @@ void setServerPort(int port) { } @Override - String getReferencePlainPortPodYaml() { + String getReferencePlainPortPodYaml_3_0() { + return ReferenceObjects.ADMIN_PLAINPORT_POD_3_0; + } + + @Override + String getReferencePlainPortPodYaml_3_1() { return ReferenceObjects.ADMIN_PLAINPORT_POD_3_1; } @Override - String getReferenceSslPortPodYaml() { + String getReferenceSslPortPodYaml_3_0() { + return ReferenceObjects.ADMIN_SSLPORT_POD_3_0; + } + + @Override + String getReferenceSslPortPodYaml_3_1() { return ReferenceObjects.ADMIN_SSLPORT_POD_3_1; } diff --git a/operator/src/test/java/oracle/kubernetes/operator/helpers/ManagedPodHelperTest.java b/operator/src/test/java/oracle/kubernetes/operator/helpers/ManagedPodHelperTest.java index 668f60a8540..f9db21ae67d 100644 --- a/operator/src/test/java/oracle/kubernetes/operator/helpers/ManagedPodHelperTest.java +++ b/operator/src/test/java/oracle/kubernetes/operator/helpers/ManagedPodHelperTest.java @@ -1289,12 +1289,22 @@ void setServerPort(int port) { } @Override - String getReferencePlainPortPodYaml() { + String getReferencePlainPortPodYaml_3_0() { + return ReferenceObjects.MANAGED_PLAINPORT_POD_3_0; + } + + @Override + String getReferencePlainPortPodYaml_3_1() { return ReferenceObjects.MANAGED_PLAINPORT_POD_3_1; } @Override - String getReferenceSslPortPodYaml() { + String getReferenceSslPortPodYaml_3_0() { + return ReferenceObjects.MANAGED_SSLPORT_POD_3_0; + } + + @Override + String getReferenceSslPortPodYaml_3_1() { return ReferenceObjects.MANAGED_SSLPORT_POD_3_1; } diff --git a/operator/src/test/java/oracle/kubernetes/operator/helpers/PodHelperTestBase.java b/operator/src/test/java/oracle/kubernetes/operator/helpers/PodHelperTestBase.java index fef20d8c646..274bad26310 100644 --- a/operator/src/test/java/oracle/kubernetes/operator/helpers/PodHelperTestBase.java +++ b/operator/src/test/java/oracle/kubernetes/operator/helpers/PodHelperTestBase.java @@ -358,19 +358,50 @@ public void whenPodCreated_hasSha256HashAnnotationForRecipe() { assertThat(getCreatedPod().getMetadata().getAnnotations(), hasKey(SHA256_ANNOTATION)); } - // Returns the YAML for a 3.1 domain-in-image pod with only theplain port enabled. - abstract String getReferencePlainPortPodYaml(); + // Returns the YAML for a 3.0 domain-in-image pod with only the plain port enabled. + abstract String getReferencePlainPortPodYaml_3_0(); + + // Returns the YAML for a 3.1 domain-in-image pod with only the plain port enabled. + abstract String getReferencePlainPortPodYaml_3_1(); + + // Returns the YAML for a 3.0 domain-in-image pod with the SSL port enabled. + abstract String getReferenceSslPortPodYaml_3_0(); // Returns the YAML for a 3.1 domain-in-image pod with the SSL port enabled. - abstract String getReferenceSslPortPodYaml(); + abstract String getReferenceSslPortPodYaml_3_1(); // Returns the YAML for a 3.1 Mii Pod. abstract String getReferenceMiiPodYaml(); + @Test + public void afterUpgradingPlainPortPodFrom30_patchIt() { + useProductionHash(); + initializeExistingPod(loadPodModel(getReferencePlainPortPodYaml_3_0())); + + verifyPodPatched(); + + V1Pod patchedPod = domainPresenceInfo.getServerPod(getServerName()); + assertThat(patchedPod.getMetadata().getLabels().get(OPERATOR_VERSION), equalTo(TEST_PRODUCT_VERSION)); + assertThat(AnnotationHelper.getHash(patchedPod), equalTo(AnnotationHelper.getHash(createPodModel()))); + } + @Test public void afterUpgradingPlainPortPodFrom31_patchIt() { useProductionHash(); - initializeExistingPod(loadPodModel(getReferencePlainPortPodYaml())); + initializeExistingPod(loadPodModel(getReferencePlainPortPodYaml_3_1())); + + verifyPodPatched(); + + V1Pod patchedPod = domainPresenceInfo.getServerPod(getServerName()); + assertThat(patchedPod.getMetadata().getLabels().get(OPERATOR_VERSION), equalTo(TEST_PRODUCT_VERSION)); + assertThat(AnnotationHelper.getHash(patchedPod), equalTo(AnnotationHelper.getHash(createPodModel()))); + } + + @Test + public void afterUpgradingSslPortPodFrom30_patchIt() { + useProductionHash(); + getServerTopology().setSslListenPort(7002); + initializeExistingPod(loadPodModel(getReferenceSslPortPodYaml_3_0())); verifyPodPatched(); @@ -383,7 +414,7 @@ public void afterUpgradingPlainPortPodFrom31_patchIt() { public void afterUpgradingSslPortPodFrom31_patchIt() { useProductionHash(); getServerTopology().setSslListenPort(7002); - initializeExistingPod(loadPodModel(getReferenceSslPortPodYaml())); + initializeExistingPod(loadPodModel(getReferenceSslPortPodYaml_3_1())); verifyPodPatched(); diff --git a/operator/src/test/java/oracle/kubernetes/operator/helpers/ReferenceObjects.java b/operator/src/test/java/oracle/kubernetes/operator/helpers/ReferenceObjects.java index 47e00d9596c..1667a3ba45d 100644 --- a/operator/src/test/java/oracle/kubernetes/operator/helpers/ReferenceObjects.java +++ b/operator/src/test/java/oracle/kubernetes/operator/helpers/ReferenceObjects.java @@ -7,9 +7,135 @@ * To present pods from rolling when a customer upgrades the operator, we must test against the YAML that would * be generated in old operator versions for the settings in the PodHelper test. * - * The settings here are taken from 3.1.0. + * The settings here are taken from 3.0.0 and 3.1.0. */ class ReferenceObjects { + static final String MANAGED_PLAINPORT_POD_3_0 = + "metadata:\n" + + " annotations:\n" + + " prometheus.io/path: /wls-exporter/metrics\n" + + " prometheus.io/port: '8001'\n" + + " prometheus.io/scrape: 'true'\n" + + " weblogic.sha256: '6e1c6a716a9e0078a56c2df86ffe1cd2f0f9bdbe271f169dc1d548d026aa52b7'\n" + + " labels:\n" + + " weblogic.domainName: domain1\n" + + " weblogic.serverName: ess_server1\n" + + " weblogic.domainRestartVersion: null\n" + + " weblogic.domainUID: uid1\n" + + " weblogic.createdByOperator: 'true'\n" + + " weblogic.clusterRestartVersion: null\n" + + " weblogic.serverRestartVersion: null\n" + + " name: uid1-ess-server1\n" + + " namespace: namespace\n" + + " ownerReferences:\n" + + " - apiVersion: weblogic.oracle/v8\n" + + " kind: Domain\n" + + " controller: true\n" + + " name: domain1\n" + + " uid: '12345'\n" + + "spec:\n" + + " containers:\n" + + " - command:\n" + + " - /weblogic-operator/scripts/startServer.sh\n" + + " env:\n" + + " - name: DOMAIN_NAME\n" + + " value: domain1\n" + + " - name: DOMAIN_HOME\n" + + " value: /u01/oracle/user_projects/domains\n" + + " - name: ADMIN_NAME\n" + + " value: ADMIN_SERVER\n" + + " - name: ADMIN_PORT\n" + + " value: '7001'\n" + + " - name: SERVER_NAME\n" + + " value: ess_server1\n" + + " - name: DOMAIN_UID\n" + + " value: uid1\n" + + " - name: NODEMGR_HOME\n" + + " value: /u01/nodemanager\n" + + " - name: LOG_HOME\n" + + " - name: SERVER_OUT_IN_POD_LOG\n" + + " value: 'true'\n" + + " - name: SERVICE_NAME\n" + + " value: uid1-ess-server1\n" + + " - name: AS_SERVICE_NAME\n" + + " value: uid1-admin-server\n" + + " - name: USER_MEM_ARGS\n" + + " value: -Djava.security.egd=file:/dev/./urandom\n" + + " - name: ADMIN_USERNAME\n" + + " - name: ADMIN_PASSWORD\n" + + " - name: LOCAL_ADMIN_PORT\n" + + " value: '8001'\n" + + " - name: LOCAL_ADMIN_PROTOCOL\n" + + " value: t3\n" + + " - name: SHUTDOWN_TYPE\n" + + " value: Graceful\n" + + " - name: SHUTDOWN_TIMEOUT\n" + + " value: '30'\n" + + " - name: SHUTDOWN_IGNORE_SESSIONS\n" + + " value: 'false'\n" + + " - name: DYNAMIC_CONFIG_OVERRIDE\n" + + " value: 'true'\n" + + " image: image:latest\n" + + " imagePullPolicy: Always\n" + + " lifecycle:\n" + + " preStop:\n" + + " exec:\n" + + " command:\n" + + " - /weblogic-operator/scripts/stopServer.sh\n" + + " livenessProbe:\n" + + " exec:\n" + + " command:\n" + + " - /weblogic-operator/scripts/livenessProbe.sh\n" + + " failureThreshold: 1\n" + + " initialDelaySeconds: 4\n" + + " periodSeconds: 6\n" + + " timeoutSeconds: 5\n" + + " name: weblogic-server\n" + + " ports:\n" + + " - containerPort: 8001\n" + + " name: default\n" + + " protocol: TCP\n" + + " readinessProbe:\n" + + " failureThreshold: 1\n" + + " httpGet:\n" + + " path: /weblogic/ready\n" + + " port: 8001\n" + + " initialDelaySeconds: 1\n" + + " periodSeconds: 3\n" + + " timeoutSeconds: 2\n" + + " resources:\n" + + " limits: {}\n" + + " requests: {}\n" + + " securityContext: {}\n" + + " volumeMounts:\n" + + " - mountPath: /weblogic-operator/scripts\n" + + " name: weblogic-scripts-cm-volume\n" + + " readOnly: true\n" + + " - mountPath: /weblogic-operator/debug\n" + + " name: weblogic-domain-debug-cm-volume\n" + + " readOnly: true\n" + + " - mountPath: /weblogic-operator/introspector\n" + + " name: weblogic-domain-introspect-cm-volume\n" + + " imagePullSecrets: []\n" + + " initContainers: []\n" + + " nodeSelector: {}\n" + + " securityContext: {}\n" + + " terminationGracePeriodSeconds: 40\n" + + " volumes:\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: weblogic-scripts-cm\n" + + " name: weblogic-scripts-cm-volume\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: uid1-weblogic-domain-debug-cm\n" + + " optional: true\n" + + " name: weblogic-domain-debug-cm-volume\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: uid1-weblogic-domain-introspect-cm\n" + + " name: weblogic-domain-introspect-cm-volume\n"; + static final String MANAGED_PLAINPORT_POD_3_1 = "metadata:\n" + " annotations:\n" @@ -117,6 +243,136 @@ class ReferenceObjects { + " name: uid1-weblogic-domain-introspect-cm\n" + " name: weblogic-domain-introspect-cm-volume\n"; + static final String ADMIN_PLAINPORT_POD_3_0 = + "metadata:\n" + + " annotations:\n" + + " prometheus.io/path: /wls-exporter/metrics\n" + + " prometheus.io/port: '7001'\n" + + " prometheus.io/scrape: 'true'\n" + + " weblogic.sha256: 'fc735cf7c34bc1492a237149c4e27c9bb27575de463dbc55e953588862098df4'\n" + + " labels:\n" + + " weblogic.domainName: domain1\n" + + " weblogic.serverName: ADMIN_SERVER\n" + + " weblogic.domainRestartVersion: null\n" + + " weblogic.domainUID: uid1\n" + + " weblogic.createdByOperator: 'true'\n" + + " weblogic.clusterRestartVersion: null\n" + + " weblogic.serverRestartVersion: null\n" + + " name: uid1-admin-server\n" + + " namespace: namespace\n" + + " ownerReferences:\n" + + " - apiVersion: weblogic.oracle/v8\n" + + " kind: Domain\n" + + " controller: true\n" + + " name: domain1\n" + + " uid: '12345'\n" + + "spec:\n" + + " containers:\n" + + " - command:\n" + + " - /weblogic-operator/scripts/startServer.sh\n" + + " env:\n" + + " - name: DOMAIN_NAME\n" + + " value: domain1\n" + + " - name: DOMAIN_HOME\n" + + " value: /u01/oracle/user_projects/domains\n" + + " - name: ADMIN_NAME\n" + + " value: ADMIN_SERVER\n" + + " - name: ADMIN_PORT\n" + + " value: '7001'\n" + + " - name: SERVER_NAME\n" + + " value: ADMIN_SERVER\n" + + " - name: DOMAIN_UID\n" + + " value: uid1\n" + + " - name: NODEMGR_HOME\n" + + " value: /u01/nodemanager\n" + + " - name: LOG_HOME\n" + + " - name: SERVER_OUT_IN_POD_LOG\n" + + " value: 'true'\n" + + " - name: SERVICE_NAME\n" + + " value: uid1-admin-server\n" + + " - name: AS_SERVICE_NAME\n" + + " value: uid1-admin-server\n" + + " - name: USER_MEM_ARGS\n" + + " value: -Djava.security.egd=file:/dev/./urandom\n" + + " - name: ADMIN_USERNAME\n" + + " - name: ADMIN_PASSWORD\n" + + " - name: LOCAL_ADMIN_PORT\n" + + " value: '7001'\n" + + " - name: LOCAL_ADMIN_PROTOCOL\n" + + " value: t3\n" + + " - name: SHUTDOWN_TYPE\n" + + " value: Graceful\n" + + " - name: SHUTDOWN_TIMEOUT\n" + + " value: '30'\n" + + " - name: SHUTDOWN_IGNORE_SESSIONS\n" + + " value: 'false'\n" + + " - name: DYNAMIC_CONFIG_OVERRIDE\n" + + " value: 'true'\n" + + " - name: INTERNAL_OPERATOR_CERT\n" + + " value: encoded-cert-data\n" + + " image: image:latest\n" + + " imagePullPolicy: Always\n" + + " lifecycle:\n" + + " preStop:\n" + + " exec:\n" + + " command:\n" + + " - /weblogic-operator/scripts/stopServer.sh\n" + + " livenessProbe:\n" + + " exec:\n" + + " command:\n" + + " - /weblogic-operator/scripts/livenessProbe.sh\n" + + " failureThreshold: 1\n" + + " initialDelaySeconds: 4\n" + + " periodSeconds: 6\n" + + " timeoutSeconds: 5\n" + + " name: weblogic-server\n" + + " ports:\n" + + " - containerPort: 7001\n" + + " name: default\n" + + " protocol: TCP\n" + + " readinessProbe:\n" + + " failureThreshold: 1\n" + + " httpGet:\n" + + " path: /weblogic/ready\n" + + " port: 7001\n" + + " initialDelaySeconds: 1\n" + + " periodSeconds: 3\n" + + " timeoutSeconds: 2\n" + + " resources:\n" + + " limits: {}\n" + + " requests: {}\n" + + " securityContext: {}\n" + + " volumeMounts:\n" + + " - mountPath: /weblogic-operator/scripts\n" + + " name: weblogic-scripts-cm-volume\n" + + " readOnly: true\n" + + " - mountPath: /weblogic-operator/debug\n" + + " name: weblogic-domain-debug-cm-volume\n" + + " readOnly: true\n" + + " - mountPath: /weblogic-operator/introspector\n" + + " name: weblogic-domain-introspect-cm-volume\n" + + " hostname: uid1-admin-server\n" + + " imagePullSecrets: []\n" + + " initContainers: []\n" + + " nodeSelector: {}\n" + + " securityContext: {}\n" + + " terminationGracePeriodSeconds: 40\n" + + " volumes:\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: weblogic-scripts-cm\n" + + " name: weblogic-scripts-cm-volume\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: uid1-weblogic-domain-debug-cm\n" + + " optional: true\n" + + " name: weblogic-domain-debug-cm-volume\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: uid1-weblogic-domain-introspect-cm\n" + + " name: weblogic-domain-introspect-cm-volume\n"; + + static final String ADMIN_PLAINPORT_POD_3_1 = "metadata:\n" + " annotations:\n" @@ -225,6 +481,138 @@ class ReferenceObjects { + " name: uid1-weblogic-domain-introspect-cm\n" + " name: weblogic-domain-introspect-cm-volume\n"; + static final String MANAGED_SSLPORT_POD_3_0 = + "metadata:\n" + + " annotations:\n" + + " prometheus.io/path: /wls-exporter/metrics\n" + + " prometheus.io/port: '8001'\n" + + " prometheus.io/scrape: 'true'\n" + + " weblogic.sha256: '368b26eaf1645f966d4c350906b59a0afcc0fbdf9ed30779b71a6d044eb480dd'\n" + + " labels:\n" + + " weblogic.domainName: domain1\n" + + " weblogic.serverName: ess_server1\n" + + " weblogic.domainRestartVersion: null\n" + + " weblogic.domainUID: uid1\n" + + " weblogic.createdByOperator: 'true'\n" + + " weblogic.clusterRestartVersion: null\n" + + " weblogic.serverRestartVersion: null\n" + + " name: uid1-ess-server1\n" + + " namespace: namespace\n" + + " ownerReferences:\n" + + " - apiVersion: weblogic.oracle/v8\n" + + " kind: Domain\n" + + " controller: true\n" + + " name: domain1\n" + + " uid: '12345'\n" + + "spec:\n" + + " containers:\n" + + " - command:\n" + + " - /weblogic-operator/scripts/startServer.sh\n" + + " env:\n" + + " - name: DOMAIN_NAME\n" + + " value: domain1\n" + + " - name: DOMAIN_HOME\n" + + " value: /u01/oracle/user_projects/domains\n" + + " - name: ADMIN_NAME\n" + + " value: ADMIN_SERVER\n" + + " - name: ADMIN_PORT\n" + + " value: '7001'\n" + + " - name: ADMIN_PORT_SECURE\n" + + " value: 'true'\n" + + " - name: SERVER_NAME\n" + + " value: ess_server1\n" + + " - name: DOMAIN_UID\n" + + " value: uid1\n" + + " - name: NODEMGR_HOME\n" + + " value: /u01/nodemanager\n" + + " - name: LOG_HOME\n" + + " - name: SERVER_OUT_IN_POD_LOG\n" + + " value: 'true'\n" + + " - name: SERVICE_NAME\n" + + " value: uid1-ess-server1\n" + + " - name: AS_SERVICE_NAME\n" + + " value: uid1-admin-server\n" + + " - name: USER_MEM_ARGS\n" + + " value: -Djava.security.egd=file:/dev/./urandom\n" + + " - name: ADMIN_USERNAME\n" + + " - name: ADMIN_PASSWORD\n" + + " - name: LOCAL_ADMIN_PORT\n" + + " value: '7002'\n" + + " - name: LOCAL_ADMIN_PROTOCOL\n" + + " value: t3s\n" + + " - name: SHUTDOWN_TYPE\n" + + " value: Graceful\n" + + " - name: SHUTDOWN_TIMEOUT\n" + + " value: '30'\n" + + " - name: SHUTDOWN_IGNORE_SESSIONS\n" + + " value: 'false'\n" + + " - name: DYNAMIC_CONFIG_OVERRIDE\n" + + " value: 'true'\n" + + " image: image:latest\n" + + " imagePullPolicy: Always\n" + + " lifecycle:\n" + + " preStop:\n" + + " exec:\n" + + " command:\n" + + " - /weblogic-operator/scripts/stopServer.sh\n" + + " livenessProbe:\n" + + " exec:\n" + + " command:\n" + + " - /weblogic-operator/scripts/livenessProbe.sh\n" + + " failureThreshold: 1\n" + + " initialDelaySeconds: 4\n" + + " periodSeconds: 6\n" + + " timeoutSeconds: 5\n" + + " name: weblogic-server\n" + + " ports:\n" + + " - containerPort: 8001\n" + + " name: default\n" + + " protocol: TCP\n" + + " - containerPort: 7002\n" + + " name: default-secure\n" + + " protocol: TCP\n" + + " readinessProbe:\n" + + " failureThreshold: 1\n" + + " httpGet:\n" + + " path: /weblogic/ready\n" + + " port: 7002\n" + + " scheme: HTTPS\n" + + " initialDelaySeconds: 1\n" + + " periodSeconds: 3\n" + + " timeoutSeconds: 2\n" + + " resources:\n" + + " limits: {}\n" + + " requests: {}\n" + + " securityContext: {}\n" + + " volumeMounts:\n" + + " - mountPath: /weblogic-operator/scripts\n" + + " name: weblogic-scripts-cm-volume\n" + + " readOnly: true\n" + + " - mountPath: /weblogic-operator/debug\n" + + " name: weblogic-domain-debug-cm-volume\n" + + " readOnly: true\n" + + " - mountPath: /weblogic-operator/introspector\n" + + " name: weblogic-domain-introspect-cm-volume\n" + + " imagePullSecrets: []\n" + + " initContainers: []\n" + + " nodeSelector: {}\n" + + " securityContext: {}\n" + + " terminationGracePeriodSeconds: 40\n" + + " volumes:\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: weblogic-scripts-cm\n" + + " name: weblogic-scripts-cm-volume\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: uid1-weblogic-domain-debug-cm\n" + + " optional: true\n" + + " name: weblogic-domain-debug-cm-volume\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: uid1-weblogic-domain-introspect-cm\n" + + " name: weblogic-domain-introspect-cm-volume\n"; + static final String MANAGED_SSLPORT_POD_3_1 = "metadata:\n" + " annotations:\n" @@ -338,6 +726,143 @@ class ReferenceObjects { + " name: uid1-weblogic-domain-introspect-cm\n" + " name: weblogic-domain-introspect-cm-volume\n"; + static final String ADMIN_SSLPORT_POD_3_0 = + "metadata:\n" + + " annotations:\n" + + " prometheus.io/path: /wls-exporter/metrics\n" + + " prometheus.io/port: '7002'\n" + + " prometheus.io/scrape: 'true'\n" + + " weblogic.sha256: '25dad014916d4e459419f1a38c67f3f3e44d4f2256f0e9edeb89a6c86ca22428'\n" + + " labels:\n" + + " weblogic.domainName: domain1\n" + + " weblogic.serverName: ADMIN_SERVER\n" + + " weblogic.domainRestartVersion: null\n" + + " weblogic.domainUID: uid1\n" + + " weblogic.createdByOperator: 'true'\n" + + " weblogic.clusterRestartVersion: null\n" + + " weblogic.serverRestartVersion: null\n" + + " name: uid1-admin-server\n" + + " namespace: namespace\n" + + " ownerReferences:\n" + + " - apiVersion: weblogic.oracle/v8\n" + + " kind: Domain\n" + + " controller: true\n" + + " name: domain1\n" + + " uid: '12345'\n" + + "spec:\n" + + " containers:\n" + + " - command:\n" + + " - /weblogic-operator/scripts/startServer.sh\n" + + " env:\n" + + " - name: DOMAIN_NAME\n" + + " value: domain1\n" + + " - name: DOMAIN_HOME\n" + + " value: /u01/oracle/user_projects/domains\n" + + " - name: ADMIN_NAME\n" + + " value: ADMIN_SERVER\n" + + " - name: ADMIN_PORT\n" + + " value: '7002'\n" + + " - name: ADMIN_PORT_SECURE\n" + + " value: 'true'\n" + + " - name: ADMIN_SERVER_PORT_SECURE\n" + + " value: 'true'\n" + + " - name: SERVER_NAME\n" + + " value: ADMIN_SERVER\n" + + " - name: DOMAIN_UID\n" + + " value: uid1\n" + + " - name: NODEMGR_HOME\n" + + " value: /u01/nodemanager\n" + + " - name: LOG_HOME\n" + + " - name: SERVER_OUT_IN_POD_LOG\n" + + " value: 'true'\n" + + " - name: SERVICE_NAME\n" + + " value: uid1-admin-server\n" + + " - name: AS_SERVICE_NAME\n" + + " value: uid1-admin-server\n" + + " - name: USER_MEM_ARGS\n" + + " value: -Djava.security.egd=file:/dev/./urandom\n" + + " - name: ADMIN_USERNAME\n" + + " - name: ADMIN_PASSWORD\n" + + " - name: LOCAL_ADMIN_PORT\n" + + " value: '7002'\n" + + " - name: LOCAL_ADMIN_PROTOCOL\n" + + " value: t3s\n" + + " - name: SHUTDOWN_TYPE\n" + + " value: Graceful\n" + + " - name: SHUTDOWN_TIMEOUT\n" + + " value: '30'\n" + + " - name: SHUTDOWN_IGNORE_SESSIONS\n" + + " value: 'false'\n" + + " - name: DYNAMIC_CONFIG_OVERRIDE\n" + + " value: 'true'\n" + + " - name: INTERNAL_OPERATOR_CERT\n" + + " value: encoded-cert-data\n" + + " image: image:latest\n" + + " imagePullPolicy: Always\n" + + " lifecycle:\n" + + " preStop:\n" + + " exec:\n" + + " command:\n" + + " - /weblogic-operator/scripts/stopServer.sh\n" + + " livenessProbe:\n" + + " exec:\n" + + " command:\n" + + " - /weblogic-operator/scripts/livenessProbe.sh\n" + + " failureThreshold: 1\n" + + " initialDelaySeconds: 4\n" + + " periodSeconds: 6\n" + + " timeoutSeconds: 5\n" + + " name: weblogic-server\n" + + " ports:\n" + + " - containerPort: 7001\n" + + " name: default\n" + + " protocol: TCP\n" + + " - containerPort: 7002\n" + + " name: default-secure\n" + + " protocol: TCP\n" + + " readinessProbe:\n" + + " failureThreshold: 1\n" + + " httpGet:\n" + + " path: /weblogic/ready\n" + + " port: 7002\n" + + " scheme: HTTPS\n" + + " initialDelaySeconds: 1\n" + + " periodSeconds: 3\n" + + " timeoutSeconds: 2\n" + + " resources:\n" + + " limits: {}\n" + + " requests: {}\n" + + " securityContext: {}\n" + + " volumeMounts:\n" + + " - mountPath: /weblogic-operator/scripts\n" + + " name: weblogic-scripts-cm-volume\n" + + " readOnly: true\n" + + " - mountPath: /weblogic-operator/debug\n" + + " name: weblogic-domain-debug-cm-volume\n" + + " readOnly: true\n" + + " - mountPath: /weblogic-operator/introspector\n" + + " name: weblogic-domain-introspect-cm-volume\n" + + " hostname: uid1-admin-server\n" + + " imagePullSecrets: []\n" + + " initContainers: []\n" + + " nodeSelector: {}\n" + + " securityContext: {}\n" + + " terminationGracePeriodSeconds: 40\n" + + " volumes:\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: weblogic-scripts-cm\n" + + " name: weblogic-scripts-cm-volume\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: uid1-weblogic-domain-debug-cm\n" + + " optional: true\n" + + " name: weblogic-domain-debug-cm-volume\n" + + " - configMap:\n" + + " defaultMode: 365\n" + + " name: uid1-weblogic-domain-introspect-cm\n" + + " name: weblogic-domain-introspect-cm-volume\n"; + static final String ADMIN_SSLPORT_POD_3_1 = "metadata:\n" + " annotations:\n"