From 2e5842e24e35fbeac5eec1d712780db858461467 Mon Sep 17 00:00:00 2001 From: achmelo Date: Fri, 19 Jan 2024 13:50:33 +0100 Subject: [PATCH 01/60] accept different keyring types Signed-off-by: achmelo --- schemas/zowe-yaml-schema.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/zowe-yaml-schema.json b/schemas/zowe-yaml-schema.json index 23bebfff07..0b9c1c21a2 100644 --- a/schemas/zowe-yaml-schema.json +++ b/schemas/zowe-yaml-schema.json @@ -748,7 +748,7 @@ "file": { "type": "string", "description": "Path of your z/OS keyring, including ring owner and ring name. Case sensitivity and spaces matter.", - "pattern": "^safkeyring:\/\/.*" + "pattern": "^safkeyring(?:jce(?:cca|hybrid)?)?:\/\/.*" }, "password": { "type": "string", @@ -775,7 +775,7 @@ "file": { "type": "string", "description": "Path of your z/OS keyring, including ring owner and ring name. Case sensitivity and spaces matter.", - "pattern": "^safkeyring:\/\/.*" + "pattern": "^safkeyring(?:jce(?:cca|hybrid)?)?:\/\/.*" }, "password": { "type": "string", From da3b4589744e493a912636c950bd71a08554f366 Mon Sep 17 00:00:00 2001 From: achmelo Date: Fri, 19 Jan 2024 14:20:48 +0100 Subject: [PATCH 02/60] enable java 17 Signed-off-by: achmelo --- bin/libs/java.ts | 2 +- tests/installation/src/__tests__/basic/install.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/libs/java.ts b/bin/libs/java.ts index a2a67e55ca..4b8c456efb 100644 --- a/bin/libs/java.ts +++ b/bin/libs/java.ts @@ -16,7 +16,7 @@ import * as common from './common'; import * as shell from './shell'; import * as config from './config'; -const JAVA_MIN_VERSION=8; +const JAVA_MIN_VERSION=17; export function ensureJavaIsOnPath(): void { let path=std.getenv('PATH') || '/bin:.:/usr/bin'; diff --git a/tests/installation/src/__tests__/basic/install.ts b/tests/installation/src/__tests__/basic/install.ts index 9d49eddebb..dc95c8a8f4 100644 --- a/tests/installation/src/__tests__/basic/install.ts +++ b/tests/installation/src/__tests__/basic/install.ts @@ -30,6 +30,7 @@ describe(testSuiteName, () => { testSuiteName, process.env.TEST_SERVER, { + 'zos_java_home': '/ZOWE/node/J17.0_64', 'zowe_build_local': process.env['ZOWE_BUILD_LOCAL'], 'zowe_custom_for_test': 'true', 'zowe_lock_keystore': 'false', From 46ccd888dfbb5f6a2eed7216d899366e6f37baeb Mon Sep 17 00:00:00 2001 From: at670475 Date: Mon, 22 Jan 2024 14:00:21 +0100 Subject: [PATCH 03/60] point to java17 v3 components Signed-off-by: at670475 --- manifest.json.template | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index cb06c71f06..52d02d532d 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -68,32 +68,32 @@ }, "org.zowe.apiml.api-catalog-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "api-catalog-*.zip", + "artifact": "api-catalog-package-3.0.0-PR-PR3269-20240118.094521-1.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.discovery-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "discovery-*.zip", + "artifact": "discovery-package-3.0.0-PR-PR3269-20240118.094521-1.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.gateway-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "gateway-*.zip", + "artifact": "gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.caching-service-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "caching-service-*.zip", + "artifact": "caching-service-3.0.0-PR-PR3269-20240118.094521-1.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.metrics-service-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "metrics-service-*.zip", + "artifact": "metrics-service-package-3.0.0-PR-PR3269-20240118.094521-1.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.apiml-common-lib-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "apiml-common-lib-*.zip", + "artifact": "apiml-common-lib-package-3.0.0-PR-PR3269-20240118.094521-1.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.sdk.common-java-lib-package": { @@ -108,7 +108,7 @@ }, "org.zowe.apiml.cloud-gateway-package": { "version": "^2.4.4-SNAPSHOT", - "artifact": "cloud-gateway-*.zip", + "artifact": "cloud-gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.getesm": { From 9a44dbc04a7b8e6fc624d02d396ad7d0866c239b Mon Sep 17 00:00:00 2001 From: at670475 Date: Mon, 22 Jan 2024 14:13:18 +0100 Subject: [PATCH 04/60] fix Signed-off-by: at670475 --- manifest.json.template | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index 52d02d532d..cda090ca01 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -68,33 +68,27 @@ }, "org.zowe.apiml.api-catalog-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "api-catalog-package-3.0.0-PR-PR3269-20240118.094521-1.zip", - "exclusions": ["*PR*.zip"] + "artifact": "api-catalog-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.discovery-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "discovery-package-3.0.0-PR-PR3269-20240118.094521-1.zip", - "exclusions": ["*PR*.zip"] + "artifact": "discovery-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.gateway-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip", - "exclusions": ["*PR*.zip"] + "artifact": "gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.caching-service-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "caching-service-3.0.0-PR-PR3269-20240118.094521-1.zip", - "exclusions": ["*PR*.zip"] + "artifact": "caching-service-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.metrics-service-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "metrics-service-package-3.0.0-PR-PR3269-20240118.094521-1.zip", - "exclusions": ["*PR*.zip"] + "artifact": "metrics-service-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.apiml-common-lib-package": { "version": "^2.1.1-SNAPSHOT", - "artifact": "apiml-common-lib-package-3.0.0-PR-PR3269-20240118.094521-1.zip", - "exclusions": ["*PR*.zip"] + "artifact": "apiml-common-lib-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.sdk.common-java-lib-package": { "version": "^2.0.0-SNAPSHOT", @@ -108,8 +102,7 @@ }, "org.zowe.apiml.cloud-gateway-package": { "version": "^2.4.4-SNAPSHOT", - "artifact": "cloud-gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip", - "exclusions": ["*PR*.zip"] + "artifact": "cloud-gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.getesm": { "version": "^2.0.0-V2.X-STAGING", From 2d680332b9f8fdb0fca0e7763bf09203b8b170cd Mon Sep 17 00:00:00 2001 From: at670475 Date: Mon, 22 Jan 2024 15:08:28 +0100 Subject: [PATCH 05/60] fix manifest Signed-off-by: at670475 --- manifest.json.template | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index cda090ca01..6764508d02 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -67,27 +67,27 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "3.0.0-PR-PR3269-20240118.094521-1", "artifact": "api-catalog-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.discovery-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "3.0.0-PR-PR3269-20240118.094521-1", "artifact": "discovery-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.gateway-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "3.0.0-PR-PR3269-20240118.094521-1", "artifact": "gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.caching-service-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "3.0.0-PR-PR3269-20240118.094521-1", "artifact": "caching-service-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.metrics-service-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "3.0.0-PR-PR3269-20240118.094521-1", "artifact": "metrics-service-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "3.0.0-PR-PR3269-20240118.094521-1", "artifact": "apiml-common-lib-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.sdk.common-java-lib-package": { @@ -101,7 +101,7 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.cloud-gateway-package": { - "version": "^2.4.4-SNAPSHOT", + "version": "3.0.0-PR-PR3269-20240118.094521-1", "artifact": "cloud-gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.getesm": { From 679ca85c00f0da1f24f51ee1b09dca0d257d5055 Mon Sep 17 00:00:00 2001 From: at670475 Date: Mon, 22 Jan 2024 15:49:08 +0100 Subject: [PATCH 06/60] attempt Signed-off-by: at670475 --- manifest.json.template | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index 6764508d02..9405e6d4b1 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -67,27 +67,27 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "3.0.0-PR-PR3269-20240118.094521-1", + "version": "3.0.0-PR-PR3269", "artifact": "api-catalog-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.discovery-package": { - "version": "3.0.0-PR-PR3269-20240118.094521-1", + "version": "3.0.0-PR-PR3269", "artifact": "discovery-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.gateway-package": { - "version": "3.0.0-PR-PR3269-20240118.094521-1", + "version": "3.0.0-PR-PR3269", "artifact": "gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.caching-service-package": { - "version": "3.0.0-PR-PR3269-20240118.094521-1", + "version": "3.0.0-PR-PR3269", "artifact": "caching-service-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.metrics-service-package": { - "version": "3.0.0-PR-PR3269-20240118.094521-1", + "version": "3.0.0-PR-PR3269", "artifact": "metrics-service-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "3.0.0-PR-PR3269-20240118.094521-1", + "version": "3.0.0-PR-PR3269", "artifact": "apiml-common-lib-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.sdk.common-java-lib-package": { @@ -101,7 +101,7 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.cloud-gateway-package": { - "version": "3.0.0-PR-PR3269-20240118.094521-1", + "version": "3.0.0-PR-PR3269", "artifact": "cloud-gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.getesm": { From b91495612a73984ae45f12b30ee42146e10c8b06 Mon Sep 17 00:00:00 2001 From: at670475 Date: Mon, 22 Jan 2024 16:02:54 +0100 Subject: [PATCH 07/60] attempt Signed-off-by: at670475 --- manifest.json.template | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index 9405e6d4b1..7353117e8a 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -67,27 +67,27 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "3.0.0-PR-PR3269", + "version": "3.0.0-PR-PR3269-SNAPSHOT", "artifact": "api-catalog-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.discovery-package": { - "version": "3.0.0-PR-PR3269", + "version": "3.0.0-PR-PR3269-SNAPSHOT", "artifact": "discovery-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.gateway-package": { - "version": "3.0.0-PR-PR3269", + "version": "3.0.0-PR-PR3269-SNAPSHOT", "artifact": "gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.caching-service-package": { - "version": "3.0.0-PR-PR3269", + "version": "3.0.0-PR-PR3269-SNAPSHOT", "artifact": "caching-service-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.metrics-service-package": { - "version": "3.0.0-PR-PR3269", + "version": "3.0.0-PR-PR3269-SNAPSHOT", "artifact": "metrics-service-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "3.0.0-PR-PR3269", + "version": "3.0.0-PR-PR3269-SNAPSHOT", "artifact": "apiml-common-lib-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.sdk.common-java-lib-package": { @@ -101,7 +101,7 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.cloud-gateway-package": { - "version": "3.0.0-PR-PR3269", + "version": "3.0.0-PR-PR3269-SNAPSHOT", "artifact": "cloud-gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.getesm": { From e73f2480a71f17a97fe3ce0450bdb795f8ee9493 Mon Sep 17 00:00:00 2001 From: at670475 Date: Mon, 22 Jan 2024 16:11:56 +0100 Subject: [PATCH 08/60] fix cs path Signed-off-by: at670475 --- manifest.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json.template b/manifest.json.template index 7353117e8a..5b221a9a35 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -80,7 +80,7 @@ }, "org.zowe.apiml.caching-service-package": { "version": "3.0.0-PR-PR3269-SNAPSHOT", - "artifact": "caching-service-3.0.0-PR-PR3269-20240118.094521-1.zip" + "artifact": "caching-service-package-3.0.0-PR-PR3269-20240118.094521-1.zip" }, "org.zowe.apiml.metrics-service-package": { "version": "3.0.0-PR-PR3269-SNAPSHOT", From b9499c9ed43fcf2b4b20145238716832f36bea9b Mon Sep 17 00:00:00 2001 From: at670475 Date: Tue, 30 Jan 2024 11:50:02 +0100 Subject: [PATCH 09/60] test - point to new build Signed-off-by: at670475 --- manifest.json.template | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index 5b221a9a35..5af9810438 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -67,28 +67,28 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "3.0.0-PR-PR3269-SNAPSHOT", - "artifact": "api-catalog-package-3.0.0-PR-PR3269-20240118.094521-1.zip" + "version": "3.0.0-PR-0123-SNAPSHOT", + "artifact": "api-catalog-package-3.0.0-PR-0123-20240130.102626-1.zip" }, "org.zowe.apiml.discovery-package": { - "version": "3.0.0-PR-PR3269-SNAPSHOT", - "artifact": "discovery-package-3.0.0-PR-PR3269-20240118.094521-1.zip" + "version": "3.0.0-PR-0123-SNAPSHOT", + "artifact": "discovery-package-3.0.0-PR-0123-20240130.102626-1.zip" }, "org.zowe.apiml.gateway-package": { - "version": "3.0.0-PR-PR3269-SNAPSHOT", - "artifact": "gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" + "version": "3.0.0-PR-0123-SNAPSHOT", + "artifact": "gateway-package-3.0.0-PR-0123-20240130.102626-1.zip" }, "org.zowe.apiml.caching-service-package": { - "version": "3.0.0-PR-PR3269-SNAPSHOT", - "artifact": "caching-service-package-3.0.0-PR-PR3269-20240118.094521-1.zip" + "version": "3.0.0-PR-0123-SNAPSHOT", + "artifact": "caching-service-package-3.0.0-PR-0123-20240130.102626-1.zip" }, "org.zowe.apiml.metrics-service-package": { - "version": "3.0.0-PR-PR3269-SNAPSHOT", - "artifact": "metrics-service-package-3.0.0-PR-PR3269-20240118.094521-1.zip" + "version": "3.0.0-PR-0123-SNAPSHOT", + "artifact": "metrics-service-package-3.0.0-PR-0123-20240130.102626-1.zip" }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "3.0.0-PR-PR3269-SNAPSHOT", - "artifact": "apiml-common-lib-package-3.0.0-PR-PR3269-20240118.094521-1.zip" + "version": "3.0.0-PR-0123-SNAPSHOT", + "artifact": "apiml-common-lib-package-3.0.0-PR-0123-20240130.102626-1.zip" }, "org.zowe.apiml.sdk.common-java-lib-package": { "version": "^2.0.0-SNAPSHOT", @@ -101,8 +101,8 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.cloud-gateway-package": { - "version": "3.0.0-PR-PR3269-SNAPSHOT", - "artifact": "cloud-gateway-package-3.0.0-PR-PR3269-20240118.094521-1.zip" + "version": "3.0.0-PR-0123-SNAPSHOT", + "artifact": "cloud-gateway-package-3.0.0-PR-0123-20240130.102626-1.zip" }, "org.zowe.getesm": { "version": "^2.0.0-V2.X-STAGING", From dd4af3b709af55e9cbb828021ef45fcd3264477c Mon Sep 17 00:00:00 2001 From: at670475 Date: Fri, 2 Feb 2024 11:38:47 +0100 Subject: [PATCH 10/60] revert manifest.json back Signed-off-by: at670475 --- manifest.json.template | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index 5af9810438..cb06c71f06 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -67,28 +67,34 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "3.0.0-PR-0123-SNAPSHOT", - "artifact": "api-catalog-package-3.0.0-PR-0123-20240130.102626-1.zip" + "version": "^2.1.1-SNAPSHOT", + "artifact": "api-catalog-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.discovery-package": { - "version": "3.0.0-PR-0123-SNAPSHOT", - "artifact": "discovery-package-3.0.0-PR-0123-20240130.102626-1.zip" + "version": "^2.1.1-SNAPSHOT", + "artifact": "discovery-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.gateway-package": { - "version": "3.0.0-PR-0123-SNAPSHOT", - "artifact": "gateway-package-3.0.0-PR-0123-20240130.102626-1.zip" + "version": "^2.1.1-SNAPSHOT", + "artifact": "gateway-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.caching-service-package": { - "version": "3.0.0-PR-0123-SNAPSHOT", - "artifact": "caching-service-package-3.0.0-PR-0123-20240130.102626-1.zip" + "version": "^2.1.1-SNAPSHOT", + "artifact": "caching-service-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.metrics-service-package": { - "version": "3.0.0-PR-0123-SNAPSHOT", - "artifact": "metrics-service-package-3.0.0-PR-0123-20240130.102626-1.zip" + "version": "^2.1.1-SNAPSHOT", + "artifact": "metrics-service-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "3.0.0-PR-0123-SNAPSHOT", - "artifact": "apiml-common-lib-package-3.0.0-PR-0123-20240130.102626-1.zip" + "version": "^2.1.1-SNAPSHOT", + "artifact": "apiml-common-lib-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.sdk.common-java-lib-package": { "version": "^2.0.0-SNAPSHOT", @@ -101,8 +107,9 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.cloud-gateway-package": { - "version": "3.0.0-PR-0123-SNAPSHOT", - "artifact": "cloud-gateway-package-3.0.0-PR-0123-20240130.102626-1.zip" + "version": "^2.4.4-SNAPSHOT", + "artifact": "cloud-gateway-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.getesm": { "version": "^2.0.0-V2.X-STAGING", From 447e1439228f55e7719f3feaad4ff9a872ec4bcd Mon Sep 17 00:00:00 2001 From: achmelo Date: Thu, 8 Feb 2024 10:59:30 +0100 Subject: [PATCH 11/60] apiml v3 Signed-off-by: achmelo --- manifest.json.template | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index b70fc79913..1f9cb62865 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -67,32 +67,32 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "api-catalog-*.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.discovery-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "discovery-*.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.gateway-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "gateway-*.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.caching-service-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "caching-service-*.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.metrics-service-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "metrics-service-*.zip", "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "apiml-common-lib-*.zip", "exclusions": ["*PR*.zip"] }, @@ -102,7 +102,7 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.sdk.apiml-sample-extension-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "apiml-sample-extension-*.zip", "exclusions": ["*PR*.zip"] }, @@ -409,23 +409,23 @@ "api-catalog": { "registry": "zowe-docker-snapshot.jfrog.io", "name": "ompzowe/api-catalog-services", - "tag" : "2.1.1-SNAPSHOT-ubuntu.v2-x-x" + "tag" : "3.0.0-SNAPSHOT-ubuntu.v2-x-x" }, "caching": { "registry": "zowe-docker-snapshot.jfrog.io", "name": "ompzowe/caching-service", - "tag" : "2.1.1-SNAPSHOT-ubuntu.v2-x-x" + "tag" : "3.0.0-SNAPSHOT-ubuntu.v2-x-x" }, "discovery": { "kind": "statefulset", "registry": "zowe-docker-snapshot.jfrog.io", "name": "ompzowe/discovery-service", - "tag" : "2.1.1-SNAPSHOT-ubuntu.v2-x-x" + "tag" : "3.0.0-SNAPSHOT-ubuntu.v2-x-x" }, "gateway": { "registry": "zowe-docker-snapshot.jfrog.io", "name": "ompzowe/gateway-service", - "tag" : "2.1.1-SNAPSHOT-ubuntu.v2-x-x" + "tag" : "3.0.0-SNAPSHOT-ubuntu.v2-x-x" }, "app-server": { "registry": "zowe-docker-snapshot.jfrog.io", From b3c04bcc8e8afc0e9ae6a352c95f3df0cbb664eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Hern=C3=A1n=20Carle?= Date: Wed, 14 Feb 2024 14:09:54 +0100 Subject: [PATCH 12/60] pax with gateway v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pablo Hernán Carle --- manifest.json.template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index 1f9cb62865..060fd4f76f 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -77,7 +77,7 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.gateway-package": { - "version": "^3.0.0-SNAPSHOT", + "version": "^2.1.1-SNAPSHOT", "artifact": "gateway-*.zip", "exclusions": ["*PR*.zip"] }, @@ -107,7 +107,7 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.cloud-gateway-package": { - "version": "^2.4.4-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "cloud-gateway-*.zip", "exclusions": ["*PR*.zip"] }, @@ -425,7 +425,7 @@ "gateway": { "registry": "zowe-docker-snapshot.jfrog.io", "name": "ompzowe/gateway-service", - "tag" : "3.0.0-SNAPSHOT-ubuntu.v2-x-x" + "tag" : "2.1.1-SNAPSHOT-ubuntu.v2-x-x" }, "app-server": { "registry": "zowe-docker-snapshot.jfrog.io", From f1e306a782d681ebf1d757f2c2f8f44f8b96ecd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Hern=C3=A1n=20Carle?= Date: Wed, 14 Feb 2024 15:13:23 +0100 Subject: [PATCH 13/60] gateway v3 package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pablo Hernán Carle --- manifest.json.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index 060fd4f76f..1b6b176e25 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -77,7 +77,7 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.gateway-package": { - "version": "^2.1.1-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "gateway-*.zip", "exclusions": ["*PR*.zip"] }, @@ -425,7 +425,7 @@ "gateway": { "registry": "zowe-docker-snapshot.jfrog.io", "name": "ompzowe/gateway-service", - "tag" : "2.1.1-SNAPSHOT-ubuntu.v2-x-x" + "tag" : "3.0.0-SNAPSHOT-ubuntu.v2-x-x" }, "app-server": { "registry": "zowe-docker-snapshot.jfrog.io", From c93ce2cb6b9e6e889b35fef2c4127102e8d2eb56 Mon Sep 17 00:00:00 2001 From: achmelo Date: Thu, 15 Feb 2024 13:36:52 +0100 Subject: [PATCH 14/60] print ca cert Signed-off-by: achmelo --- bin/libs/certificate.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index 49fcc232ef..a6d873d790 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -325,6 +325,7 @@ pkcs12_create_certificate_and_sign() { >/dev/null 2>/dev/null if [ "$?" != "0" ]; then print_message ">>>> Import the Certificate Authority \"${ca_alias}\" to the keystore \"${keystore_name}\":" + cat /ZOWE/keystore/local_ca/local_ca.cer result=$(pkeytool ${flags} \ -importcert -v \ -trustcacerts -noprompt \ @@ -334,7 +335,7 @@ pkcs12_create_certificate_and_sign() { -storepass "${password}" \ -storetype "PKCS12") fi - + cat /ZOWE/keystore/local_ca/local_ca.cer # test if we need to import CA into truststore keytool -list -v -noprompt \ -alias "${ca_alias}" \ From 7dd446bd7387fba8ef9f9b6c2928851ed71ea96f Mon Sep 17 00:00:00 2001 From: achmelo Date: Thu, 15 Feb 2024 14:23:48 +0100 Subject: [PATCH 15/60] use print_message Signed-off-by: achmelo --- bin/libs/certificate.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index a6d873d790..8d9c71df4b 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -325,7 +325,7 @@ pkcs12_create_certificate_and_sign() { >/dev/null 2>/dev/null if [ "$?" != "0" ]; then print_message ">>>> Import the Certificate Authority \"${ca_alias}\" to the keystore \"${keystore_name}\":" - cat /ZOWE/keystore/local_ca/local_ca.cer + print_message $(cat "/ZOWE/keystore/local_ca/local_ca.cer") result=$(pkeytool ${flags} \ -importcert -v \ -trustcacerts -noprompt \ @@ -335,7 +335,7 @@ pkcs12_create_certificate_and_sign() { -storepass "${password}" \ -storetype "PKCS12") fi - cat /ZOWE/keystore/local_ca/local_ca.cer + print_message $(cat "/ZOWE/keystore/local_ca/local_ca.cer") # test if we need to import CA into truststore keytool -list -v -noprompt \ -alias "${ca_alias}" \ From 44c060632c1aae10027abd3dde505c4b14e46f48 Mon Sep 17 00:00:00 2001 From: achmelo Date: Thu, 15 Feb 2024 15:16:41 +0100 Subject: [PATCH 16/60] convert to ebcdic for print Signed-off-by: achmelo --- bin/libs/certificate.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index 8d9c71df4b..d4b9a326b4 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -325,7 +325,7 @@ pkcs12_create_certificate_and_sign() { >/dev/null 2>/dev/null if [ "$?" != "0" ]; then print_message ">>>> Import the Certificate Authority \"${ca_alias}\" to the keystore \"${keystore_name}\":" - print_message $(cat "/ZOWE/keystore/local_ca/local_ca.cer") + print_message $(iconv -f ISO8859-1 -t IBM-1047 "/ZOWE/keystore/local_ca/local_ca.cer") result=$(pkeytool ${flags} \ -importcert -v \ -trustcacerts -noprompt \ @@ -335,7 +335,7 @@ pkcs12_create_certificate_and_sign() { -storepass "${password}" \ -storetype "PKCS12") fi - print_message $(cat "/ZOWE/keystore/local_ca/local_ca.cer") + # test if we need to import CA into truststore keytool -list -v -noprompt \ -alias "${ca_alias}" \ @@ -361,6 +361,7 @@ pkcs12_create_certificate_and_sign() { fi print_message ">>>> Import the signed CSR to the keystore \"${keystore_name}\":" + print_message $(iconv -f ISO8859-1 -t IBM-1047 "/ZOWE/keystore/localhost/localhost.signed.cer") result=$(pkeytool ${flags} \ -importcert -v \ -trustcacerts -noprompt \ From 2fffabaa9ef8790158ce3186341e9182bc8529d1 Mon Sep 17 00:00:00 2001 From: achmelo Date: Thu, 15 Feb 2024 16:06:52 +0100 Subject: [PATCH 17/60] remove ensure encoding Signed-off-by: achmelo --- bin/libs/certificate.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index d4b9a326b4..773f5790f5 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -637,8 +637,10 @@ pkcs12_export_pem() { fi if [ `uname` = "OS/390" ]; then iconv -f ISO8859-1 -t IBM-1047 "${keystore_dir}/${alias_lc}.cer" > "${keystore_dir}/${alias_lc}.cer-ebcdic" + print_message $(cat "${keystore_dir}/${alias_lc}.cer") + print_message $(cat "${keystore_dir}/${alias_lc}.cer-ebcdic") mv "${keystore_dir}/${alias_lc}.cer-ebcdic" "${keystore_dir}/${alias_lc}.cer" - ensure_file_encoding "${keystore_dir}/${alias_lc}.cer" "CERTIFICATE" +# ensure_file_encoding "${keystore_dir}/${alias_lc}.cer" "CERTIFICATE" fi fi done < "${keystore_dir}/${alias_lc}.cer-ebcdic" + print_message $(cat "${keystore_dir}/${alias_lc}.cer") + print_message $(cat "${keystore_dir}/${alias_lc}.cer-ebcdic") mv "${keystore_dir}/${alias_lc}.cer-ebcdic" "${keystore_dir}/${alias_lc}.cer" - ensure_file_encoding "${keystore_dir}/${alias_lc}.cer" "CERTIFICATE" +# ensure_file_encoding "${keystore_dir}/${alias_lc}.cer" "CERTIFICATE" fi fi done < Date: Fri, 16 Feb 2024 10:06:56 +0100 Subject: [PATCH 18/60] export cert in binary Signed-off-by: achmelo --- bin/libs/certificate.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index 773f5790f5..af7f12fb64 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -614,6 +614,7 @@ pkcs12_export_pem() { print_message ">>>> List content of keystore \"${keystore_file}\":" keystore_content=$(pkeytool -list \ -keystore "${keystore_file}" \ + -rfc \ -storepass "${password}" \ -storetype "PKCS12") if [ $? -ne 0 ]; then @@ -630,7 +631,6 @@ pkcs12_export_pem() { -keystore "${keystore_file}" \ -storepass "${password}" \ -storetype "PKCS12" \ - -rfc \ -file "${keystore_dir}/${alias_lc}.cer") if [ $? -ne 0 ]; then return 1 @@ -657,7 +657,6 @@ EOF -keystore "${keystore_file}" \ -storepass "${password}" \ -storetype "PKCS12" \ - -rfc \ -file "${keystore_dir}/${alias_lc}.cer") if [ $? -ne 0 ]; then return 1 @@ -722,6 +721,7 @@ pkcs12_show_info() { print_debug ">>>> Show certificate information of ${alias}:" result=$(pkeytool -list -v \ -alias "${alias}" \ + -rfc \ -keystore "${keystore_file}" \ -storepass "${password}" \ -storetype "PKCS12") From 4dcd98ef5e440f1d5b8715eaf09f8bbf6ef2d54d Mon Sep 17 00:00:00 2001 From: achmelo Date: Fri, 16 Feb 2024 13:16:51 +0100 Subject: [PATCH 19/60] revert rfc list Signed-off-by: achmelo --- bin/libs/certificate.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index af7f12fb64..7c5dfe26ce 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -614,7 +614,6 @@ pkcs12_export_pem() { print_message ">>>> List content of keystore \"${keystore_file}\":" keystore_content=$(pkeytool -list \ -keystore "${keystore_file}" \ - -rfc \ -storepass "${password}" \ -storetype "PKCS12") if [ $? -ne 0 ]; then From 5a9bb631ed9ef58eee10bb92ec2115108221b400 Mon Sep 17 00:00:00 2001 From: achmelo Date: Fri, 16 Feb 2024 14:11:29 +0100 Subject: [PATCH 20/60] legacy flag as default Signed-off-by: achmelo --- bin/libs/java.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/libs/java.sh b/bin/libs/java.sh index 3bf49d3329..6cd67c42a8 100644 --- a/bin/libs/java.sh +++ b/bin/libs/java.sh @@ -157,7 +157,7 @@ get_java_pkcs12_keystore_flag() { elif [ ${java_major_version} -eq 1 -a ${java_minor_version} -gt 8 ]; then printf " -J-Dkeystore.pkcs12.legacy " else - printf " " + printf " -J-Dkeystore.pkcs12.legacy " fi } From 43a80280849c95c6a309e839554527bbd3c2a0e6 Mon Sep 17 00:00:00 2001 From: MarkAckert Date: Fri, 16 Feb 2024 12:25:43 -0500 Subject: [PATCH 21/60] try to detect java version and adjust cert behavior Signed-off-by: MarkAckert --- bin/libs/certificate.sh | 4 ++-- bin/libs/java.sh | 24 ++++++++++++++++-------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index 7c5dfe26ce..e48bd92a6f 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -634,7 +634,7 @@ pkcs12_export_pem() { if [ $? -ne 0 ]; then return 1 fi - if [ `uname` = "OS/390" ]; then + if [ `uname` = "OS/390" && $(get_java_version_minor) -gt 11 ]; then iconv -f ISO8859-1 -t IBM-1047 "${keystore_dir}/${alias_lc}.cer" > "${keystore_dir}/${alias_lc}.cer-ebcdic" print_message $(cat "${keystore_dir}/${alias_lc}.cer") print_message $(cat "${keystore_dir}/${alias_lc}.cer-ebcdic") @@ -660,7 +660,7 @@ EOF if [ $? -ne 0 ]; then return 1 fi - if [ `uname` = "OS/390" ]; then + if [ `uname` = "OS/390" && $(get_java_version_minor) -gt 11]; then iconv -f ISO8859-1 -t IBM-1047 "${keystore_dir}/${alias_lc}.cer" > "${keystore_dir}/${alias_lc}.cer-ebcdic" print_message $(cat "${keystore_dir}/${alias_lc}.cer") print_message $(cat "${keystore_dir}/${alias_lc}.cer-ebcdic") diff --git a/bin/libs/java.sh b/bin/libs/java.sh index 6cd67c42a8..84cd48c1ba 100644 --- a/bin/libs/java.sh +++ b/bin/libs/java.sh @@ -57,7 +57,7 @@ detect_java_home() { break fi done - ) + ) fi # fall back to the most well-known java path @@ -89,7 +89,6 @@ require_java() { ensure_java_is_on_path } - validate_java_home() { java_home="${1:-${JAVA_HOME}}" @@ -111,9 +110,9 @@ validate_java_home() { fi # As we know the java -version command works then strip out the line we need - java_version_short=$(echo "${java_version}" | grep ^"java version" | sed -e "s/java version //g"| sed -e "s/\"//g") + java_version_short=$(echo "${java_version}" | grep ^"java version" | sed -e "s/java version //g" | sed -e "s/\"//g") if [[ $java_version_short == "" ]]; then - java_version_short=$(echo "${java_version}" | grep ^"openjdk version" | sed -e "s/openjdk version //g"| sed -e "s/\"//g") + java_version_short=$(echo "${java_version}" | grep ^"openjdk version" | sed -e "s/openjdk version //g" | sed -e "s/\"//g") fi java_major_version=$(echo "${java_version_short}" | cut -d '.' -f 1) java_minor_version=$(echo "${java_version_short}" | cut -d '.' -f 2) @@ -133,14 +132,24 @@ validate_java_home() { print_debug "Java check is successful." } -get_java_pkcs12_keystore_flag() { +get_java_version_minor() { java_version=$("${JAVA_HOME}/bin/java" -version 2>&1) # Capture stderr to stdout, so we can print below if error + # As we know the java -version command works then strip out the line we need + java_version_short=$(echo "${java_version}" | grep ^"java version" | sed -e "s/java version //g" | sed -e "s/\"//g") + if [[ $java_version_short == "" ]]; then + java_version_short=$(echo "${java_version}" | grep ^"openjdk version" | sed -e "s/openjdk version //g" | sed -e "s/\"//g") + fi + java_minor_version=$(echo "${java_version_short}" | cut -d '.' -f 2) + return $java_minor_version +} +get_java_pkcs12_keystore_flag() { + java_version=$("${JAVA_HOME}/bin/java" -version 2>&1) # Capture stderr to stdout, so we can print below if error # As we know the java -version command works then strip out the line we need - java_version_short=$(echo "${java_version}" | grep ^"java version" | sed -e "s/java version //g"| sed -e "s/\"//g") + java_version_short=$(echo "${java_version}" | grep ^"java version" | sed -e "s/java version //g" | sed -e "s/\"//g") if [[ $java_version_short == "" ]]; then - java_version_short=$(echo "${java_version}" | grep ^"openjdk version" | sed -e "s/openjdk version //g"| sed -e "s/\"//g") + java_version_short=$(echo "${java_version}" | grep ^"openjdk version" | sed -e "s/openjdk version //g" | sed -e "s/\"//g") fi java_major_version=$(echo "${java_version_short}" | cut -d '.' -f 1) java_minor_version=$(echo "${java_version_short}" | cut -d '.' -f 2) @@ -160,4 +169,3 @@ get_java_pkcs12_keystore_flag() { printf " -J-Dkeystore.pkcs12.legacy " fi } - From b342dbf63b3b71e26f852123928a815ea9d792d8 Mon Sep 17 00:00:00 2001 From: MarkAckert Date: Fri, 16 Feb 2024 13:06:04 -0500 Subject: [PATCH 22/60] remove debug, remove cert iconv when using Java8 Signed-off-by: MarkAckert --- bin/libs/certificate.sh | 17 ----------------- bin/libs/java.sh | 11 ----------- 2 files changed, 28 deletions(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index e48bd92a6f..926c0b1d20 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -325,7 +325,6 @@ pkcs12_create_certificate_and_sign() { >/dev/null 2>/dev/null if [ "$?" != "0" ]; then print_message ">>>> Import the Certificate Authority \"${ca_alias}\" to the keystore \"${keystore_name}\":" - print_message $(iconv -f ISO8859-1 -t IBM-1047 "/ZOWE/keystore/local_ca/local_ca.cer") result=$(pkeytool ${flags} \ -importcert -v \ -trustcacerts -noprompt \ @@ -361,7 +360,6 @@ pkcs12_create_certificate_and_sign() { fi print_message ">>>> Import the signed CSR to the keystore \"${keystore_name}\":" - print_message $(iconv -f ISO8859-1 -t IBM-1047 "/ZOWE/keystore/localhost/localhost.signed.cer") result=$(pkeytool ${flags} \ -importcert -v \ -trustcacerts -noprompt \ @@ -634,13 +632,6 @@ pkcs12_export_pem() { if [ $? -ne 0 ]; then return 1 fi - if [ `uname` = "OS/390" && $(get_java_version_minor) -gt 11 ]; then - iconv -f ISO8859-1 -t IBM-1047 "${keystore_dir}/${alias_lc}.cer" > "${keystore_dir}/${alias_lc}.cer-ebcdic" - print_message $(cat "${keystore_dir}/${alias_lc}.cer") - print_message $(cat "${keystore_dir}/${alias_lc}.cer-ebcdic") - mv "${keystore_dir}/${alias_lc}.cer-ebcdic" "${keystore_dir}/${alias_lc}.cer" -# ensure_file_encoding "${keystore_dir}/${alias_lc}.cer" "CERTIFICATE" - fi fi done < "${keystore_dir}/${alias_lc}.cer-ebcdic" - print_message $(cat "${keystore_dir}/${alias_lc}.cer") - print_message $(cat "${keystore_dir}/${alias_lc}.cer-ebcdic") - mv "${keystore_dir}/${alias_lc}.cer-ebcdic" "${keystore_dir}/${alias_lc}.cer" -# ensure_file_encoding "${keystore_dir}/${alias_lc}.cer" "CERTIFICATE" - fi fi done <>>> Show certificate information of ${alias}:" result=$(pkeytool -list -v \ -alias "${alias}" \ - -rfc \ -keystore "${keystore_file}" \ -storepass "${password}" \ -storetype "PKCS12") diff --git a/bin/libs/java.sh b/bin/libs/java.sh index 84cd48c1ba..80b6c42884 100644 --- a/bin/libs/java.sh +++ b/bin/libs/java.sh @@ -132,17 +132,6 @@ validate_java_home() { print_debug "Java check is successful." } -get_java_version_minor() { - java_version=$("${JAVA_HOME}/bin/java" -version 2>&1) # Capture stderr to stdout, so we can print below if error - # As we know the java -version command works then strip out the line we need - java_version_short=$(echo "${java_version}" | grep ^"java version" | sed -e "s/java version //g" | sed -e "s/\"//g") - if [[ $java_version_short == "" ]]; then - java_version_short=$(echo "${java_version}" | grep ^"openjdk version" | sed -e "s/openjdk version //g" | sed -e "s/\"//g") - fi - java_minor_version=$(echo "${java_version_short}" | cut -d '.' -f 2) - return $java_minor_version -} - get_java_pkcs12_keystore_flag() { java_version=$("${JAVA_HOME}/bin/java" -version 2>&1) # Capture stderr to stdout, so we can print below if error From 8917c597fa0441edae96bdd73da992e8a7d64289 Mon Sep 17 00:00:00 2001 From: MarkAckert Date: Fri, 16 Feb 2024 13:34:22 -0500 Subject: [PATCH 23/60] update RACFInputStream package location Signed-off-by: MarkAckert --- bin/utils/ExportPrivateKeyZos.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/utils/ExportPrivateKeyZos.java b/bin/utils/ExportPrivateKeyZos.java index c14cf3bc3f..b2f625807a 100644 --- a/bin/utils/ExportPrivateKeyZos.java +++ b/bin/utils/ExportPrivateKeyZos.java @@ -14,7 +14,7 @@ import java.security.Key; import java.security.KeyStore; import java.util.Base64; -import com.ibm.crypto.provider.RACFInputStream; +import com.ibm.crypto.zsecurity.provider.RACFInputStream; public class ExportPrivateKeyZos { private String keystoreName; From 051dd8f78a9142ded749455d72047124e6a299d5 Mon Sep 17 00:00:00 2001 From: MarkAckert Date: Fri, 16 Feb 2024 14:13:05 -0500 Subject: [PATCH 24/60] use java17 to create PAX Signed-off-by: MarkAckert --- .pax/pre-packaging.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.pax/pre-packaging.sh b/.pax/pre-packaging.sh index b9f6b773e1..ce08684a60 100755 --- a/.pax/pre-packaging.sh +++ b/.pax/pre-packaging.sh @@ -192,7 +192,8 @@ BASE_DIR=$( # use node v16 to build export NODE_HOME=/ZOWE/node/node-v16.20.1-os390-s390x - +export JAVA_HOME=/ZOWE/node/J17.0_64 +export PATH=$JAVA_HOME/bin:$PATH ZOWE_ROOT_DIR="${BASE_DIR}/content" cd "${BASE_DIR}" From 611e7281f91abbafe4965a71fc4faacdb160d135 Mon Sep 17 00:00:00 2001 From: achmelo Date: Mon, 19 Feb 2024 14:06:52 +0100 Subject: [PATCH 25/60] convert to ebcdic trustedcerts exports only Signed-off-by: achmelo --- bin/libs/certificate.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index 926c0b1d20..df626fd2cc 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -628,6 +628,7 @@ pkcs12_export_pem() { -keystore "${keystore_file}" \ -storepass "${password}" \ -storetype "PKCS12" \ + -rfc \ -file "${keystore_dir}/${alias_lc}.cer") if [ $? -ne 0 ]; then return 1 @@ -647,10 +648,16 @@ EOF -keystore "${keystore_file}" \ -storepass "${password}" \ -storetype "PKCS12" \ + -rfc \ -file "${keystore_dir}/${alias_lc}.cer") if [ $? -ne 0 ]; then return 1 fi + if [ `uname` = "OS/390" ]; then + iconv -f ISO8859-1 -t IBM-1047 "${keystore_dir}/${alias_lc}.cer" > "${keystore_dir}/${alias_lc}.cer-ebcdic" + mv "${keystore_dir}/${alias_lc}.cer-ebcdic" "${keystore_dir}/${alias_lc}.cer" + ensure_file_encoding "${keystore_dir}/${alias_lc}.cer" "CERTIFICATE" + fi fi done < Date: Mon, 19 Feb 2024 15:55:33 +0100 Subject: [PATCH 26/60] use correct serviceid for zosmf Signed-off-by: achmelo --- tests/sanity/test/apiml/test-api-zosmf-via-gateway.js | 4 ++-- .../apiml/test-authentication-zosmf-via-gateway.js | 10 +++++----- tests/sanity/test/http-helper.js | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/sanity/test/apiml/test-api-zosmf-via-gateway.js b/tests/sanity/test/apiml/test-api-zosmf-via-gateway.js index 9ab531ae0c..3fab3edf0d 100644 --- a/tests/sanity/test/apiml/test-api-zosmf-via-gateway.js +++ b/tests/sanity/test/apiml/test-api-zosmf-via-gateway.js @@ -31,13 +31,13 @@ describe('test api mediation layer zosmf api', function() { token = await apiml.login(); }); - it('should be able to get z/OS Info via the gateway port and endpoint (/api/v1/zosmf/info)', async function() { + it('should be able to get z/OS Info via the gateway port and endpoint (/ibmzosmf/api/v1/info)', async function() { if (!token) { this.skip(); } const res = await hq.request({ - url: '/zosmf/api/v1/info', + url: '/ibmzosmf/api/v1/info', method: 'get', headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, diff --git a/tests/sanity/test/apiml/test-authentication-zosmf-via-gateway.js b/tests/sanity/test/apiml/test-authentication-zosmf-via-gateway.js index 7939ed0041..917a51cabc 100644 --- a/tests/sanity/test/apiml/test-authentication-zosmf-via-gateway.js +++ b/tests/sanity/test/apiml/test-authentication-zosmf-via-gateway.js @@ -41,7 +41,7 @@ describe('test api mediation layer zosmf authentication', function() { it('with valid basic header', async function() { const token = Buffer.from(`${username}:${password}`, 'utf8').toString('base64'); const res = await hq.request({ - url: '/zosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { 'Authorization': `Basic ${token}`, } @@ -53,7 +53,7 @@ describe('test api mediation layer zosmf authentication', function() { it('with valid cookie', async function() { const token = await apiml.login(); const res = await hq.request({ - url: '/zosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, } @@ -65,7 +65,7 @@ describe('test api mediation layer zosmf authentication', function() { it('with valid LTPA cookie', async function() { const token = Buffer.from(`${username}:${password}`, 'utf8').toString('base64'); const loginResponse = await hq.request({ - url: '/zosmf/api/v1/info', + url: '/ibmzosmf/api/v1/info', headers: { 'Authorization': `Basic ${token}`, } @@ -73,7 +73,7 @@ describe('test api mediation layer zosmf authentication', function() { const ltpaCookie = hq.findCookieInResponse(loginResponse, ZOSMF_TOKEN); const response = await hq.request({ - url: '/zosmf/api/v1/info', + url: '/ibmzosmf/api/v1/info', headers: { 'Cookie': ltpaCookie, } @@ -85,7 +85,7 @@ describe('test api mediation layer zosmf authentication', function() { it('with valid JWT token via Bearer', async function() { const token = await apiml.login(); const res = await hq.request({ - url: '/zosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { 'Authorization': `Bearer ${token}`, } diff --git a/tests/sanity/test/http-helper.js b/tests/sanity/test/http-helper.js index a857869c82..63da92630a 100644 --- a/tests/sanity/test/http-helper.js +++ b/tests/sanity/test/http-helper.js @@ -323,7 +323,7 @@ class APIMLAuth { debug('================================= APIMLAuth.isLoggedIn'); const res = await this.httpRequest.request({ - url: '/zosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { ...headers, 'X-CSRF-ZOSMF-HEADER': '*', From 737e29e18783b87bbc7b74afb6c2592a5176fa05 Mon Sep 17 00:00:00 2001 From: achmelo Date: Tue, 20 Feb 2024 09:07:26 +0100 Subject: [PATCH 27/60] use zosmf endpoint for test instead of jobs Signed-off-by: achmelo --- tests/sanity/test/apiml/test-oidc-via-gateway.js | 7 +++---- tests/sanity/test/apiml/test-zss-via-gateway.js | 5 ++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/tests/sanity/test/apiml/test-oidc-via-gateway.js b/tests/sanity/test/apiml/test-oidc-via-gateway.js index a9573d463b..6ae611bfac 100644 --- a/tests/sanity/test/apiml/test-oidc-via-gateway.js +++ b/tests/sanity/test/apiml/test-oidc-via-gateway.js @@ -28,13 +28,12 @@ describe('test oidc mapping via gateway', function() { if (!token) { this.skip(); } - + const res = await hq.request({ - url: `jobs/api/v2?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, + url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, - 'X-CSRF-ZOSMF-HEADER': '*', - }, + } }); expect(res).to.have.property('status'); diff --git a/tests/sanity/test/apiml/test-zss-via-gateway.js b/tests/sanity/test/apiml/test-zss-via-gateway.js index 214ac83e07..397c6ebc9a 100644 --- a/tests/sanity/test/apiml/test-zss-via-gateway.js +++ b/tests/sanity/test/apiml/test-zss-via-gateway.js @@ -30,11 +30,10 @@ describe('test zss x509 certificate mapping via gateway', function() { } const res = await hq.request({ - url: `jobs/api/v2?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, + url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, - 'X-CSRF-ZOSMF-HEADER': '*', - }, + } }); expect(res).to.have.property('status'); From dfbfa24b271d1446f54545e49315d1252e83218f Mon Sep 17 00:00:00 2001 From: achmelo Date: Tue, 20 Feb 2024 10:40:28 +0100 Subject: [PATCH 28/60] use java 17 only Signed-off-by: achmelo --- bin/libs/java.sh | 4 ++-- bin/libs/java.ts | 4 ++-- workflows/files/ZWESIGNC.properties | 2 +- workflows/files/ZWESIGNC.xml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/libs/java.sh b/bin/libs/java.sh index 80b6c42884..1466e375e7 100644 --- a/bin/libs/java.sh +++ b/bin/libs/java.sh @@ -61,8 +61,8 @@ detect_java_home() { fi # fall back to the most well-known java path - if [ -z "${java_home}" -a -f /usr/lpp/java/J8.0_64/bin/java ]; then - java_home=/usr/lpp/java/J8.0_64 + if [ -z "${java_home}" -a -f /usr/lpp/java/J17.0_64/bin/java ]; then + java_home=/usr/lpp/java/J17.0_64 fi if [ -n "${java_home}" ]; then diff --git a/bin/libs/java.ts b/bin/libs/java.ts index 4b8c456efb..02b9cf2078 100644 --- a/bin/libs/java.ts +++ b/bin/libs/java.ts @@ -48,8 +48,8 @@ export function detectJavaHome(): string|undefined { } } - if (!javaBinHome && fs.fileExists('/usr/lpp/java/J8.0_64/bin/java')) { - return '/usr/lpp/java/J8.0_64'; + if (!javaBinHome && fs.fileExists('/usr/lpp/java/J17.0_64/bin/java')) { + return '/usr/lpp/java/J17.0_64'; } return undefined; } diff --git a/workflows/files/ZWESIGNC.properties b/workflows/files/ZWESIGNC.properties index 5ffef27145..8a0f6a504b 100644 --- a/workflows/files/ZWESIGNC.properties +++ b/workflows/files/ZWESIGNC.properties @@ -44,4 +44,4 @@ validity=3650 # Category: General # Description: # JAVA home location -JAVA_HOME=/sys/java64bt/v8r0m0/usr/lpp/java/J8.0_64 +JAVA_HOME=/sys/java64bt/v17r0m0/usr/lpp/java/J17.0_64 diff --git a/workflows/files/ZWESIGNC.xml b/workflows/files/ZWESIGNC.xml index 7cc8bec1e5..258078600a 100644 --- a/workflows/files/ZWESIGNC.xml +++ b/workflows/files/ZWESIGNC.xml @@ -63,7 +63,7 @@ General ^\/.{0,50}[^\/]$ - /sys/java64bt/v8r0m0/usr/lpp/java/J8.0_64 + /sys/java64bt/v17r0m0/usr/lpp/java/J17.0_64 From 4b24fdc360770d14ab8544c77c9b4827c45a4612 Mon Sep 17 00:00:00 2001 From: achmelo Date: Tue, 20 Feb 2024 10:56:30 +0100 Subject: [PATCH 29/60] use only keytool flags valid for java 17 Signed-off-by: achmelo --- bin/libs/certificate.sh | 37 ++++++++++++++----------------------- bin/libs/java.sh | 27 --------------------------- 2 files changed, 14 insertions(+), 50 deletions(-) diff --git a/bin/libs/certificate.sh b/bin/libs/certificate.sh index df626fd2cc..274ae3b89f 100644 --- a/bin/libs/certificate.sh +++ b/bin/libs/certificate.sh @@ -28,6 +28,8 @@ ZWE_PRIVATE_DEFAULT_CERTIFICATE_VALIDITY="3650" ZWE_PRIVATE_DEFAULT_CERTIFICATE_KEY_USAGE="keyEncipherment,digitalSignature,nonRepudiation,dataEncipherment" ZWE_PRIVATE_DEFAULT_CERTIFICATE_EXTENDED_KEY_USAGE="clientAuth,serverAuth" +JAVA_KEYTOOL_FLAG=" -J-Dkeystore.pkcs12.legacy " + ####################################################################### # Notes: some keyring related functions, like ncert, are using R_datalib behind the scene. It requires proper # permission setup on the server. @@ -199,8 +201,6 @@ pkcs12_create_certificate_authority() { password="${3}" common_name=${4:-${ZWE_PRIVATE_DEFAULT_CERTIFICATE_CA_COMMON_NAME}} - flags=$(get_java_pkcs12_keystore_flag) - print_message ">>>> Generate PKCS12 format local CA with alias ${alias}:" mkdir -p "${keystore_dir}/${alias}" result=$(pkeytool -genkeypair -v \ @@ -212,7 +212,7 @@ pkcs12_create_certificate_authority() { -storepass "${password}" \ -storetype "PKCS12" \ -validity "${ZWE_PRIVATE_CERTIFICATE_CA_VALIDITY:-${ZWE_PRIVATE_DEFAULT_CERTIFICATE_CA_VALIDITY}}" \ - ${flags} \ + ${JAVA_KEYTOOL_FLAG} \ -ext KeyUsage="keyCertSign" \ -ext BasicConstraints:"critical=ca:true") if [ $? -ne 0 ]; then @@ -237,11 +237,9 @@ pkcs12_create_certificate_and_sign() { print_message ">>>> Generate certificate \"${alias}\" in the keystore ${keystore_name}:" - flags=$(get_java_pkcs12_keystore_flag) - mkdir -p "${keystore_dir}/${keystore_name}" result=$(pkeytool -genkeypair -v \ - ${flags} \ + ${JAVA_KEYTOOL_FLAG} \ -alias "${alias}" \ -keyalg RSA -keysize 2048 \ -keystore "${keystore_dir}/${keystore_name}/${keystore_name}.keystore.p12" \ @@ -259,7 +257,7 @@ pkcs12_create_certificate_and_sign() { fi print_message ">>>> Generate CSR for the certificate \"${alias}\" in the keystore \"${keystore_name}\":" - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -certreq -v \ -alias "${alias}" \ -keystore "${keystore_dir}/${keystore_name}/${keystore_name}.keystore.p12" \ @@ -288,7 +286,7 @@ pkcs12_create_certificate_and_sign() { san="${san}dns:localhost.localdomain,dns:localhost,ip:127.0.0.1" print_message ">>>> Sign the CSR using the Certificate Authority \"${ca_alias}\":" - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -gencert -v \ -infile "${keystore_dir}/${keystore_name}/${alias}.csr" \ -outfile "${keystore_dir}/${keystore_name}/${alias}.signed.cer" \ @@ -325,7 +323,7 @@ pkcs12_create_certificate_and_sign() { >/dev/null 2>/dev/null if [ "$?" != "0" ]; then print_message ">>>> Import the Certificate Authority \"${ca_alias}\" to the keystore \"${keystore_name}\":" - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -importcert -v \ -trustcacerts -noprompt \ -file "${ca_cert_file}" \ @@ -344,7 +342,7 @@ pkcs12_create_certificate_and_sign() { >/dev/null 2>/dev/null if [ "$?" != "0" ]; then print_message ">>>> Import the Certificate Authority \"${ca_alias}\" to the truststore \"${keystore_name}\":" - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -importcert -v \ -trustcacerts -noprompt \ -file "${ca_cert_file}" \ @@ -360,7 +358,7 @@ pkcs12_create_certificate_and_sign() { fi print_message ">>>> Import the signed CSR to the keystore \"${keystore_name}\":" - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -importcert -v \ -trustcacerts -noprompt \ -file "${keystore_dir}/${keystore_name}/${alias}.signed.cer" \ @@ -477,9 +475,7 @@ pkcs12_import_pkcs12_keystore() { return 1 fi - flags=$(get_java_pkcs12_keystore_flag) - - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -importkeystore -v \ -noprompt \ -deststoretype "PKCS12" \ @@ -508,14 +504,12 @@ pkcs12_import_certificates() { ca_files="${3}" alias="${4:-extca}" - flags=$(get_java_pkcs12_keystore_flag) - ca_index=1 while read -r ca_file; do ca_file=$(echo "${ca_file}" | trim) if [ -n "${ca_file}" ]; then print_message ">>>> Import \"${ca_file}\" to the keystore \"${dest_keystore}\":" - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -importcert -v \ -trustcacerts -noprompt \ -file "${ca_file}" \ @@ -568,8 +562,6 @@ pkcs12_trust_service() { return 1 fi - flags=$(get_java_pkcs12_keystore_flag) - # parse keytool output into separate files csplit -s -k -f "${keystore_dir}/${keystore_name}/${service_alias}" "${tmp_file}" /-----END\ CERTIFICATE-----/1 \ {$(expr `grep -c -e '-----END CERTIFICATE-----' "${tmp_file}"` - 1)} @@ -578,7 +570,7 @@ pkcs12_trust_service() { cert_file=$(basename "${cert}") cert_alias=${cert_file%.cer} echo ">>>> Import a certificate \"${cert_alias}\" to the truststore:" - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -importcert -v \ -trustcacerts \ -noprompt \ @@ -1182,12 +1174,11 @@ keyring_export_to_pkcs12() { print_debug ">>>> Export certificate \"${label}\" from safkeyring:////${keyring_owner}/${keyring_name} to PKCS#12 keystore ${keystore_file}" - flags=$(get_java_pkcs12_keystore_flag) # create keystore if it doesn't exist if [ -f "${keystore_file}" ]; then print_debug "- Create keystore with dummy certificate ${dummy_cert}" - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -genkeypair \ -alias "${dummy_cert}" \ -dname "CN=Zowe Dummy Cert, OU=ZWELS, O=Zowe, C=US" \ @@ -1224,7 +1215,7 @@ keyring_export_to_pkcs12() { if [ "${cert_only}" = "true" ]; then # use keytool to import certificate print_debug "- Import certificate into keystore as \"${label}\"" - result=$(pkeytool ${flags} \ + result=$(pkeytool ${JAVA_KEYTOOL_FLAG} \ -import -v \ -trustcacerts -noprompt \ -alias "${label}" \ diff --git a/bin/libs/java.sh b/bin/libs/java.sh index 1466e375e7..754d758a1e 100644 --- a/bin/libs/java.sh +++ b/bin/libs/java.sh @@ -131,30 +131,3 @@ validate_java_home() { print_debug "Java check is successful." } - -get_java_pkcs12_keystore_flag() { - java_version=$("${JAVA_HOME}/bin/java" -version 2>&1) # Capture stderr to stdout, so we can print below if error - - # As we know the java -version command works then strip out the line we need - java_version_short=$(echo "${java_version}" | grep ^"java version" | sed -e "s/java version //g" | sed -e "s/\"//g") - if [[ $java_version_short == "" ]]; then - java_version_short=$(echo "${java_version}" | grep ^"openjdk version" | sed -e "s/openjdk version //g" | sed -e "s/\"//g") - fi - java_major_version=$(echo "${java_version_short}" | cut -d '.' -f 1) - java_minor_version=$(echo "${java_version_short}" | cut -d '.' -f 2) - java_fix_version=$(echo "${java_version_short}" | cut -d '_' -f 2) - - if [ ${java_major_version} -eq 1 -a ${java_minor_version} -eq 8 ]; then - if [ ${java_fix_version} -lt 341 ]; then - printf " " - elif [ ${java_fix_version} -lt 361 ]; then - printf " -J-Dkeystore.pkcs12.certProtectionAlgorithm=PBEWithSHAAnd40BitRC2 -J-Dkeystore.pkcs12.certPbeIterationCount=50000 -J-Dkeystore.pkcs12.keyProtectionAlgorithm=PBEWithSHAAnd3KeyTripleDES -J-Dkeystore.pkcs12.keyPbeIterationCount=50000 " - else - printf " -J-Dkeystore.pkcs12.legacy " - fi - elif [ ${java_major_version} -eq 1 -a ${java_minor_version} -gt 8 ]; then - printf " -J-Dkeystore.pkcs12.legacy " - else - printf " -J-Dkeystore.pkcs12.legacy " - fi -} From 4e2c2ef8aed8776e83bef719ca215d2cfb722e3c Mon Sep 17 00:00:00 2001 From: achmelo Date: Tue, 20 Feb 2024 12:58:35 +0100 Subject: [PATCH 30/60] print java version before running command Signed-off-by: achmelo --- .pax/pre-packaging.sh | 2 ++ bin/commands/support/verify-fingerprints/index.sh | 1 + 2 files changed, 3 insertions(+) diff --git a/.pax/pre-packaging.sh b/.pax/pre-packaging.sh index ce08684a60..96671a4006 100755 --- a/.pax/pre-packaging.sh +++ b/.pax/pre-packaging.sh @@ -377,6 +377,8 @@ rm -rf "./templates" echo "[$SCRIPT_NAME] compile java utilities ..." cd "${ZOWE_ROOT_DIR}/bin/utils" +echo "$(java -version 2>&1)" +java -version javac HashFiles.java && rm HashFiles.java javac ExportPrivateKeyLinux.java && rm ExportPrivateKeyLinux.java javac ExportPrivateKeyZos.java && rm ExportPrivateKeyZos.java diff --git a/bin/commands/support/verify-fingerprints/index.sh b/bin/commands/support/verify-fingerprints/index.sh index 0044c5e48a..fb78235699 100644 --- a/bin/commands/support/verify-fingerprints/index.sh +++ b/bin/commands/support/verify-fingerprints/index.sh @@ -60,6 +60,7 @@ chmod 700 "${all_files}" print_debug " * File list created as ${all_files}" print_message "- Calculate hashes of Zowe files" +print_message $(java -version) cust_hashes=$(create_tmp_file "${tmp_file_prefix}") result=$(java -cp "${ZWE_zowe_runtimeDirectory}/bin/utils/" HashFiles "${all_files}" | sort > "${cust_hashes}") code=$? From 64430b6c2d83c992420ecef62e7dab80b50c6195 Mon Sep 17 00:00:00 2001 From: achmelo Date: Tue, 20 Feb 2024 14:52:56 +0100 Subject: [PATCH 31/60] more debug logs for java version Signed-off-by: achmelo --- .github/workflows/build-packaging.yml | 2 +- bin/commands/support/verify-fingerprints/index.sh | 2 +- bin/libs/java.sh | 7 +++++-- manifest.json.template | 5 ----- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-packaging.yml b/.github/workflows/build-packaging.yml index 1591457df4..7751f2f770 100644 --- a/.github/workflows/build-packaging.yml +++ b/.github/workflows/build-packaging.yml @@ -171,7 +171,7 @@ jobs: with: manifest-file-path: ${{ github.workspace }}/manifest.json default-target-path: .pax/binaryDependencies/ - expected-count: 30 + expected-count: 29 # this step is not doing a publish, we are just utilizing this actions to get the PUBLISH_TARGET_PATH, # and it will be used in the next step: [Download 3] Download SMPE build log diff --git a/bin/commands/support/verify-fingerprints/index.sh b/bin/commands/support/verify-fingerprints/index.sh index fb78235699..078f1a5bcc 100644 --- a/bin/commands/support/verify-fingerprints/index.sh +++ b/bin/commands/support/verify-fingerprints/index.sh @@ -27,7 +27,7 @@ clean_up_tmp_files() { rm -f "${cust_hashes}" fi } - +print_message $(java -version) ############################### # validation require_java diff --git a/bin/libs/java.sh b/bin/libs/java.sh index 754d758a1e..f6e130de84 100644 --- a/bin/libs/java.sh +++ b/bin/libs/java.sh @@ -19,7 +19,7 @@ ensure_java_is_on_path() { shell_read_yaml_java_home() { yaml="${1}" - + print_message $(cat "${yaml}") java_home=$(shell_read_yaml_config "${yaml}" 'java' 'home') # validate NODE_HOME result=$(validate_java_home "${java_home}" 2>/dev/null) @@ -72,8 +72,10 @@ detect_java_home() { require_java() { # prepare the JAVA_HOME in zowe.yaml + print_message "CLI param ${ZWE_CLI_PARAMETER_CONFIG}" if [ -n "${ZWE_CLI_PARAMETER_CONFIG}" ]; then custom_java_home="$(shell_read_yaml_java_home "${ZWE_CLI_PARAMETER_CONFIG}")" + print_message "custom java home ${custom_java_home}" if [ -n "${custom_java_home}" ]; then export JAVA_HOME="${custom_java_home}" fi @@ -85,8 +87,9 @@ require_java() { if [ -z "${JAVA_HOME}" ]; then print_error_and_exit "Error ZWEL0122E: Cannot find java. Please define JAVA_HOME environment variable." "" 122 fi - + print_message "Version of java is: ${JAVA_HOME}" ensure_java_is_on_path + print_message "${PATH}" } validate_java_home() { diff --git a/manifest.json.template b/manifest.json.template index 1b6b176e25..aa429e5e78 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -86,11 +86,6 @@ "artifact": "caching-service-*.zip", "exclusions": ["*PR*.zip"] }, - "org.zowe.apiml.metrics-service-package": { - "version": "^3.0.0-SNAPSHOT", - "artifact": "metrics-service-*.zip", - "exclusions": ["*PR*.zip"] - }, "org.zowe.apiml.apiml-common-lib-package": { "version": "^3.0.0-SNAPSHOT", "artifact": "apiml-common-lib-*.zip", From 5602b5ebe0e1202e398f8d2ee31eba1939fecbf1 Mon Sep 17 00:00:00 2001 From: achmelo Date: Tue, 20 Feb 2024 14:59:03 +0100 Subject: [PATCH 32/60] revert metrics Signed-off-by: achmelo --- .github/workflows/build-packaging.yml | 2 +- manifest.json.template | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-packaging.yml b/.github/workflows/build-packaging.yml index 7751f2f770..1591457df4 100644 --- a/.github/workflows/build-packaging.yml +++ b/.github/workflows/build-packaging.yml @@ -171,7 +171,7 @@ jobs: with: manifest-file-path: ${{ github.workspace }}/manifest.json default-target-path: .pax/binaryDependencies/ - expected-count: 29 + expected-count: 30 # this step is not doing a publish, we are just utilizing this actions to get the PUBLISH_TARGET_PATH, # and it will be used in the next step: [Download 3] Download SMPE build log diff --git a/manifest.json.template b/manifest.json.template index aa429e5e78..76d7600403 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -86,6 +86,11 @@ "artifact": "caching-service-*.zip", "exclusions": ["*PR*.zip"] }, + "org.zowe.apiml.metrics-service-package": { + "version": "^2.1.1-SNAPSHOT", + "artifact": "metrics-service-*.zip", + "exclusions": ["*PR*.zip"] + }, "org.zowe.apiml.apiml-common-lib-package": { "version": "^3.0.0-SNAPSHOT", "artifact": "apiml-common-lib-*.zip", From 53b9512e2f0508a75b1a1950b4f71461cbe4d9f8 Mon Sep 17 00:00:00 2001 From: achmelo Date: Tue, 20 Feb 2024 15:21:05 +0100 Subject: [PATCH 33/60] remove jobs and dataset tests Signed-off-by: achmelo --- .../explorer-apis/test-api-datasets-v1.js | 138 ------------------ .../explorer-apis/test-api-datasets-v2.js | 124 ---------------- .../test/explorer-apis/test-api-jobs-v1.js | 78 ---------- .../test/explorer-apis/test-api-jobs-v2.js | 73 --------- .../test/explorer-apis/test-api-uss-v1.js | 65 --------- .../test/explorer-apis/test-api-uss-v2.js | 70 --------- .../explorer-apis/test-explorer-api-docs.js | 64 -------- 7 files changed, 612 deletions(-) delete mode 100644 tests/sanity/test/explorer-apis/test-api-datasets-v1.js delete mode 100644 tests/sanity/test/explorer-apis/test-api-datasets-v2.js delete mode 100644 tests/sanity/test/explorer-apis/test-api-jobs-v1.js delete mode 100644 tests/sanity/test/explorer-apis/test-api-jobs-v2.js delete mode 100644 tests/sanity/test/explorer-apis/test-api-uss-v1.js delete mode 100644 tests/sanity/test/explorer-apis/test-api-uss-v2.js delete mode 100644 tests/sanity/test/explorer-apis/test-explorer-api-docs.js diff --git a/tests/sanity/test/explorer-apis/test-api-datasets-v1.js b/tests/sanity/test/explorer-apis/test-api-datasets-v1.js deleted file mode 100644 index 08c98c3383..0000000000 --- a/tests/sanity/test/explorer-apis/test-api-datasets-v1.js +++ /dev/null @@ -1,138 +0,0 @@ -/** - * This program and the accompanying materials are made available under the terms of the - * Eclipse Public License v2.0 which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v20.html - * - * SPDX-License-Identifier: EPL-2.0 - * - * Copyright Contributors to the Zowe Project. - */ - -const expect = require('chai').expect; -const { HTTPRequest, HTTP_STATUS } = require('../http-helper'); -const { - EXPLORER_API_TEST_DATASET_PATTERN, - EXPLORER_API_TEST_DATASET_NAME, - EXPLORER_API_TEST_DATASET_MEMBER_NAME, -} = require('../constants'); - -const getDatasetHelper = async function(hq, manualDecompress=false) { - const res = await hq.request({ - url: '/datasets/api/v1/' + encodeURIComponent(EXPLORER_API_TEST_DATASET_PATTERN), - }, { - manualDecompress, - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - - expect(res).to.have.property('headers'); - if (manualDecompress) { - expect(res.headers).to.have.property('content-encoding'); - expect(res.headers['content-encoding']).to.equal('gzip'); - } - - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('items'); - expect(res.data.items).to.be.an('array'); - expect(res.data.items.map(one => one.name)).to.include(EXPLORER_API_TEST_DATASET_NAME); -}; - -const getDatasetMemberHelper = async function(hq, manualDecompress=false) { - const res = await hq.request({ - url: '/datasets/api/v1/' + encodeURIComponent(EXPLORER_API_TEST_DATASET_NAME) + '/members', - }, { - manualDecompress, - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - - expect(res).to.have.property('headers'); - if (manualDecompress) { - expect(res.headers).to.have.property('content-encoding'); - expect(res.headers['content-encoding']).to.equal('gzip'); - } - - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('items'); - expect(res.data.items).to.be.an('array'); - expect(res.data.items).to.include(EXPLORER_API_TEST_DATASET_MEMBER_NAME); -}; - -const getDatasetContentHelper = async function(hq, manualDecompress=false) { - const res = await hq.request({ - url: '/datasets/api/v1/' + encodeURIComponent(`${EXPLORER_API_TEST_DATASET_NAME}(${EXPLORER_API_TEST_DATASET_MEMBER_NAME})`) + '/content', - }, { - manualDecompress, - ungzip: false, - }); - - //checks for both paths - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - - expect(res).to.have.property('headers'); - if (manualDecompress) { - expect(res.headers).to.have.property('content-encoding'); - expect(res.headers['content-encoding']).to.equal('gzip'); - return; - } - - // checks for default path only - content JSON.parse(data.toString()) parsing cause exception - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('records'); - expect(res.data.records).to.be.a('string'); -}; - -describe('test explorer server datasets api', function() { - - let hq; - - before('verify environment variables', function() { - expect(process.env.SSH_USER, 'SSH_USER is not defined').to.not.be.empty; - expect(process.env.SSH_PASSWD, 'SSH_PASSWD is not defined').to.not.be.empty; - - hq = new HTTPRequest(null, null, null, { - username: process.env.SSH_USER, - password: process.env.SSH_PASSWD, - }); - }); - - it(`should be able to list data sets of ${EXPLORER_API_TEST_DATASET_PATTERN} default`, async function() { - await getDatasetHelper(hq); - }); - - it(`should be able to list data sets of ${EXPLORER_API_TEST_DATASET_PATTERN} decompress with zlib`, async function() { - await getDatasetHelper(hq, true); - }); - - it(`should be able to get members of data set ${EXPLORER_API_TEST_DATASET_NAME} default`, async function() { - await getDatasetMemberHelper(hq); - }); - - it(`should be able to get members of data set ${EXPLORER_API_TEST_DATASET_NAME} decompress with zlib`, async function() { - await getDatasetMemberHelper(hq, true); - }); - - it(`should be able to get content of data set ${EXPLORER_API_TEST_DATASET_NAME} default`, async function() { - await getDatasetContentHelper(hq); - }); - - it(`should be able to get content of data set ${EXPLORER_API_TEST_DATASET_NAME} decompress with zlib`, async function() { - await getDatasetContentHelper(hq, true); - }); - - it('returns the current user\'s TSO userid', async function() { - const res = await hq.request({ - url: '/datasets/api/v1/username', - method: 'get', - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('username'); - expect(res.data.username).to.be.a('string'); - }); -}); diff --git a/tests/sanity/test/explorer-apis/test-api-datasets-v2.js b/tests/sanity/test/explorer-apis/test-api-datasets-v2.js deleted file mode 100644 index 9bf97bdd4d..0000000000 --- a/tests/sanity/test/explorer-apis/test-api-datasets-v2.js +++ /dev/null @@ -1,124 +0,0 @@ -/** - * This program and the accompanying materials are made available under the terms of the - * Eclipse Public License v2.0 which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v20.html - * - * SPDX-License-Identifier: EPL-2.0 - * - * Copyright Contributors to the Zowe Project. - */ - -const expect = require('chai').expect; -const { HTTPRequest, HTTP_STATUS, APIMLAuth } = require('../http-helper'); -const { - APIML_AUTH_COOKIE, - EXPLORER_API_TEST_DATASET_PATTERN, - EXPLORER_API_TEST_DATASET_NAME, - EXPLORER_API_TEST_DATASET_MEMBER_NAME, -} = require('../constants'); - -describe('test explorer server datasets api v2',async function() { - - let hq; - let apiml; - let token; - - before('verify environment variables', async function() { - hq = new HTTPRequest(); - apiml = new APIMLAuth(hq); - token = await apiml.login(); - }); - - it(`should be able to list data sets of ${EXPLORER_API_TEST_DATASET_PATTERN} (v2 API)`, async() => { - const req = { - url: '/datasets/api/v2/' + encodeURIComponent(EXPLORER_API_TEST_DATASET_PATTERN), - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }; - - const res = await hq.request(req); - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data.items).to.be.a('array'); - expect(res.data.items.map(one => one.name)).to.include(EXPLORER_API_TEST_DATASET_NAME); - }); - - it(`should be able to list data sets of ${EXPLORER_API_TEST_DATASET_PATTERN} (v2 API) (manual decompress)`, async() => { - const req = { - url: '/datasets/api/v2/' + encodeURIComponent(EXPLORER_API_TEST_DATASET_PATTERN), - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }; - - const res = await hq.request(req, { manualDecompress: true }); - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data.items).to.be.a('array'); - expect(res.data.items.map(one => one.name)).to.include(EXPLORER_API_TEST_DATASET_NAME); - }); - - it(`should be able to get members of data set ${EXPLORER_API_TEST_DATASET_NAME} (v2 API)`, async() => { - const req = { - url: '/datasets/api/v2/' + encodeURIComponent(EXPLORER_API_TEST_DATASET_NAME) + '/members', - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }; - - const res = await hq.request(req); - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('items'); - expect(res.data.items).to.be.an('array'); - expect(res.data.items).to.include(EXPLORER_API_TEST_DATASET_MEMBER_NAME); - }); - - it(`should be able to get members of data set ${EXPLORER_API_TEST_DATASET_NAME} (v2 API) (manual decompress)`, async() => { - const req = { - url: '/datasets/api/v2/' + encodeURIComponent(EXPLORER_API_TEST_DATASET_NAME) + '/members', - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }; - - const res = await hq.request(req, { manualDecompress: true }); - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('items'); - expect(res.data.items).to.be.an('array'); - expect(res.data.items).to.include(EXPLORER_API_TEST_DATASET_MEMBER_NAME); - }); - - it(`should be able to get content of a data set member ${EXPLORER_API_TEST_DATASET_NAME}(${EXPLORER_API_TEST_DATASET_MEMBER_NAME}) (v2 API)`, async() => { - const req = { - url:'/datasets/api/v2/' + encodeURIComponent(`${EXPLORER_API_TEST_DATASET_NAME}(${EXPLORER_API_TEST_DATASET_MEMBER_NAME})`) + '/content', - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }; - - const res = await hq.request(req); - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('records'); - expect(res.data.records).to.be.a('string'); - }); - - it(`should be able to get content of a data set member ${EXPLORER_API_TEST_DATASET_NAME}(${EXPLORER_API_TEST_DATASET_MEMBER_NAME}) (v2 API) (manual decompress)`, async() => { - const req = { - url:'/datasets/api/v2/' + encodeURIComponent(`${EXPLORER_API_TEST_DATASET_NAME}(${EXPLORER_API_TEST_DATASET_MEMBER_NAME})`) + '/content', - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }; - - const res = await hq.request(req, { manualDecompress: true, ungzip: false }); - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - }); -}); diff --git a/tests/sanity/test/explorer-apis/test-api-jobs-v1.js b/tests/sanity/test/explorer-apis/test-api-jobs-v1.js deleted file mode 100644 index 155c35e2b9..0000000000 --- a/tests/sanity/test/explorer-apis/test-api-jobs-v1.js +++ /dev/null @@ -1,78 +0,0 @@ -/** - * This program and the accompanying materials are made available under the terms of the - * Eclipse Public License v2.0 which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v20.html - * - * SPDX-License-Identifier: EPL-2.0 - * - * Copyright Contributors to the Zowe Project. - */ - -const expect = require('chai').expect; -const { HTTPRequest, HTTP_STATUS } = require('../http-helper'); -const { ZOWE_JOB_NAME } = require('../constants'); - -describe('test explorer server jobs api', function() { - - let hq; - - before('verify environment variables', function() { - expect(process.env.SSH_USER, 'SSH_USER is not defined').to.not.be.empty; - expect(process.env.SSH_PASSWD, 'SSH_PASSWD is not defined').to.not.be.empty; - - hq = new HTTPRequest(null, null, null, { - username: process.env.SSH_USER, - password: process.env.SSH_PASSWD, - }); - }); - - it(`should be able to list jobs and have a job ${ZOWE_JOB_NAME}`, async function() { - const res = await hq.request({ - url: '/jobs/api/v1', - params: { - prefix: `${ZOWE_JOB_NAME}*`, - owner: 'ZWE*', - status: 'ACTIVE', - }, - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data.items).to.be.an('array'); - expect(res.data.items).to.have.lengthOf(1); - expect(res.data.items[0]).to.have.any.keys('jobName', 'jobId', 'owner', 'status', 'type', 'subsystem'); - expect(res.data.items[0].jobName).to.equal(ZOWE_JOB_NAME); - }); - - it(`should be able to list jobs and have a job ${ZOWE_JOB_NAME} (manual decompress)`, async function() { - const res = await hq.request({ - url: '/jobs/api/v1', - params: { - prefix: `${ZOWE_JOB_NAME}*`, - owner: 'ZWE*', - status: 'ACTIVE', - }, - }, { - manualDecompress: true, - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data.items).to.be.an('array'); - expect(res.data.items).to.have.lengthOf(1); - expect(res.data.items[0]).to.have.any.keys('jobName', 'jobId', 'owner', 'status', 'type', 'subsystem'); - expect(res.data.items[0].jobName).to.equal(ZOWE_JOB_NAME); - }); - - it('returns the current user\'s TSO userid', async function() { - const res = await hq.request({ - url: '/jobs/api/v1/username', - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('username'); - expect(res.data.username).to.be.a('string'); - }); -}); diff --git a/tests/sanity/test/explorer-apis/test-api-jobs-v2.js b/tests/sanity/test/explorer-apis/test-api-jobs-v2.js deleted file mode 100644 index 8ff3fcd087..0000000000 --- a/tests/sanity/test/explorer-apis/test-api-jobs-v2.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * This program and the accompanying materials are made available under the terms of the - * Eclipse Public License v2.0 which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v20.html - * - * SPDX-License-Identifier: EPL-2.0 - * - * Copyright Contributors to the Zowe Project. - */ - -const expect = require('chai').expect; -const { HTTPRequest, HTTP_STATUS, APIMLAuth } = require('../http-helper'); -const { - APIML_AUTH_COOKIE, - ZOWE_JOB_NAME, -} = require('../constants'); - -describe('test explorer server jobs api v2', function() { - - let hq; - let apiml; - let token; - - before('verify environment variables', async function() { - hq = new HTTPRequest(); - apiml = new APIMLAuth(hq); - token = await apiml.login(); - }); - - it(`should be able to list jobs and have a job ${ZOWE_JOB_NAME} (v2 API)`, async function() { - const res = await hq.request({ - url:'/jobs/api/v2', - params: { - prefix: `${ZOWE_JOB_NAME}*`, - owner: 'ZWE*', - status: 'ACTIVE', - }, - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data.items).to.be.an('array'); - expect(res.data.items).to.have.lengthOf(1); - expect(res.data.items[0]).to.have.any.keys('jobName', 'jobId', 'owner', 'status', 'type', 'subsystem'); - expect(res.data.items[0].jobName).to.equal(ZOWE_JOB_NAME); - }); - - it(`should be able to list jobs and have a job ${ZOWE_JOB_NAME} (v2 API) (manual decompress)`, async function() { - const res = await hq.request({ - url:'/jobs/api/v2', - params: { - prefix: `${ZOWE_JOB_NAME}*`, - owner: 'ZWE*', - status: 'ACTIVE', - }, - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }, { - manualDecompress: true, - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data.items).to.be.an('array'); - expect(res.data.items).to.have.lengthOf(1); - expect(res.data.items[0]).to.have.any.keys('jobName', 'jobId', 'owner', 'status', 'type', 'subsystem'); - expect(res.data.items[0].jobName).to.equal(ZOWE_JOB_NAME); - }); -}); diff --git a/tests/sanity/test/explorer-apis/test-api-uss-v1.js b/tests/sanity/test/explorer-apis/test-api-uss-v1.js deleted file mode 100644 index c8e5d97561..0000000000 --- a/tests/sanity/test/explorer-apis/test-api-uss-v1.js +++ /dev/null @@ -1,65 +0,0 @@ -/** - * This program and the accompanying materials are made available under the terms of the - * Eclipse Public License v2.0 which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v20.html - * - * SPDX-License-Identifier: EPL-2.0 - * - * Copyright Contributors to the Zowe Project. - */ - -const expect = require('chai').expect; -const { HTTPRequest, HTTP_STATUS } = require('../http-helper'); - -describe('test explorer server uss files api', function() { - - let hq; - - before('verify environment variables', function() { - expect(process.env.SSH_USER, 'SSH_USER is not defined').to.not.be.empty; - expect(process.env.SSH_PASSWD, 'SSH_PASSWD is not defined').to.not.be.empty; - - hq = new HTTPRequest(null, null, null, { - username: process.env.SSH_USER, - password: process.env.SSH_PASSWD, - }); - }); - - it('Gets a list of files and directories for a given path', async function() { - const res = await hq.request({ - url: `/unixfiles/api/v1?path=${process.env.ZOWE_WORKSPACE_DIR}`, - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('type'); - expect(res.data.type).to.be.a('string'); - expect(res.data).to.have.property('owner'); - expect(res.data.owner).to.be.a('string'); - expect(res.data).to.have.property('group'); - expect(res.data.group).to.be.a('string'); - expect(res.data).to.have.property('permissionsSymbolic'); - expect(res.data.permissionsSymbolic).to.be.a('string'); - }); - - it('Gets a list of files and directories for a given path (manual decompress)', async function() { - const res = await hq.request({ - url: `/unixfiles/api/v1?path=${process.env.ZOWE_WORKSPACE_DIR}`, - }, { - manualDecompress: true, - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('type'); - expect(res.data.type).to.be.a('string'); - expect(res.data).to.have.property('owner'); - expect(res.data.owner).to.be.a('string'); - expect(res.data).to.have.property('group'); - expect(res.data.group).to.be.a('string'); - expect(res.data).to.have.property('permissionsSymbolic'); - expect(res.data.permissionsSymbolic).to.be.a('string'); - }); -}); diff --git a/tests/sanity/test/explorer-apis/test-api-uss-v2.js b/tests/sanity/test/explorer-apis/test-api-uss-v2.js deleted file mode 100644 index 9f29009806..0000000000 --- a/tests/sanity/test/explorer-apis/test-api-uss-v2.js +++ /dev/null @@ -1,70 +0,0 @@ -/** - * This program and the accompanying materials are made available under the terms of the - * Eclipse Public License v2.0 which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v20.html - * - * SPDX-License-Identifier: EPL-2.0 - * - * Copyright Contributors to the Zowe Project. - */ - -const expect = require('chai').expect; -const { HTTPRequest, HTTP_STATUS, APIMLAuth } = require('../http-helper'); -const { APIML_AUTH_COOKIE } = require('../constants'); - -describe('test explorer server uss files api v2', function() { - - let hq; - let apiml; - let token; - - before('verify environment variables', async function() { - hq = new HTTPRequest(); - apiml = new APIMLAuth(hq); - token = await apiml.login(); - }); - - it('Gets a list of files and directories for a given path (v2 API)', async() => { - const res = await hq.request({ - url: `/unixfiles/api/v2?path=${process.env.ZOWE_WORKSPACE_DIR}`, - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('type'); - expect(res.data.type).to.be.a('string'); - expect(res.data).to.have.property('owner'); - expect(res.data.owner).to.be.a('string'); - expect(res.data).to.have.property('group'); - expect(res.data.group).to.be.a('string'); - expect(res.data).to.have.property('permissionsSymbolic'); - expect(res.data.permissionsSymbolic).to.be.a('string'); - }); - - it('Gets a list of files and directories for a given path (v2 API) (manual decompress)', async() => { - const res = await hq.request({ - url: `/unixfiles/api/v2?path=${process.env.ZOWE_WORKSPACE_DIR}`, - headers: { - Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } - }, { - manualDecompress: true, - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.data).to.be.an('object'); - expect(res.data).to.have.property('type'); - expect(res.data.type).to.be.a('string'); - expect(res.data).to.have.property('owner'); - expect(res.data.owner).to.be.a('string'); - expect(res.data).to.have.property('group'); - expect(res.data.group).to.be.a('string'); - expect(res.data).to.have.property('permissionsSymbolic'); - expect(res.data.permissionsSymbolic).to.be.a('string'); - }); -}); diff --git a/tests/sanity/test/explorer-apis/test-explorer-api-docs.js b/tests/sanity/test/explorer-apis/test-explorer-api-docs.js deleted file mode 100644 index f7cd20fcd9..0000000000 --- a/tests/sanity/test/explorer-apis/test-explorer-api-docs.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * This program and the accompanying materials are made available under the terms of the - * Eclipse Public License v2.0 which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v20.html - * - * SPDX-License-Identifier: EPL-2.0 - * - * Copyright Contributors to the Zowe Project. - */ - -const expect = require('chai').expect; -const { HTTPRequest, HTTP_STATUS } = require('../http-helper'); - -describe('test explorer(s) api docs', function() { - - let hq; - - before('verify environment variables', function() { - expect(process.env.SSH_USER, 'SSH_USER is not defined').to.not.be.empty; - expect(process.env.SSH_PASSWD, 'SSH_PASSWD is not defined').to.not.be.empty; - - hq = new HTTPRequest(`https://${process.env.ZOWE_EXTERNAL_HOST}:${process.env.ZOWE_API_MEDIATION_GATEWAY_HTTP_PORT}/apicatalog/api/v1/apidoc`, null, null, { - username: process.env.SSH_USER, - password: process.env.SSH_PASSWD, - }); - }); - - - it('should be able to access jobs swagger json', async function() { - const res = await hq.request({ - url: '/jobs', - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.headers).to.have.property('content-type'); - expect(res.headers['content-type']).to.equal('application/json'); - expect(res.data).to.have.property('openapi'); - }); - - it('should be able to access datasets swagger json', async function() { - const res = await hq.request({ - url: '/datasets', - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.headers).to.have.property('content-type'); - expect(res.headers['content-type']).to.equal('application/json'); - expect(res.data).to.have.property('openapi'); - }); - - it('should be able to access unixfiles swagger json', async function() { - const res = await hq.request({ - url: '/unixfiles', - }); - - expect(res).to.have.property('status'); - expect(res.status).to.equal(HTTP_STATUS.SUCCESS); - expect(res.headers).to.have.property('content-type'); - expect(res.headers['content-type']).to.equal('application/json'); - expect(res.data).to.have.property('openapi'); - }); -}); From 836940e5b2a90e1fae7e8dfbb41f5b0191a3f928 Mon Sep 17 00:00:00 2001 From: achmelo Date: Tue, 20 Feb 2024 16:23:50 +0100 Subject: [PATCH 34/60] pass config as argument to verify-fingerprints Signed-off-by: achmelo --- tests/sanity/test/install/test-installed-files.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sanity/test/install/test-installed-files.js b/tests/sanity/test/install/test-installed-files.js index 7686528180..8e78dc4ca5 100644 --- a/tests/sanity/test/install/test-installed-files.js +++ b/tests/sanity/test/install/test-installed-files.js @@ -46,7 +46,7 @@ describe('verify installed files', function() { it('fingerprint should match', async function() { // IMPORT: After 'source' the profile, JAVA_HOME environment variable must exist - const fingerprintStdout = await sshHelper.executeCommandWithNoError(`touch ~/.profile && . ~/.profile && ${process.env.ZOWE_ROOT_DIR}/bin/zwe support verify-fingerprints`); + const fingerprintStdout = await sshHelper.executeCommandWithNoError(`touch ~/.profile && . ~/.profile && ${process.env.ZOWE_ROOT_DIR}/bin/zwe support verify-fingerprints --config /ZOWE/tmp/.zowe/zowe.yaml`); debug('fingerprint show result:', fingerprintStdout); addContext(this, { title: 'fingerprint show result', From 509efeb9dc1229d6454be9585b4b52146da45122 Mon Sep 17 00:00:00 2001 From: achmelo Date: Tue, 20 Feb 2024 22:52:43 +0100 Subject: [PATCH 35/60] replace jobs call with direct zosmf alternative Signed-off-by: achmelo --- bin/commands/support/verify-fingerprints/index.sh | 3 +-- tests/sanity/test/apiml/test-oidc-via-gateway.js | 2 +- tests/sanity/test/apiml/test-zss-via-gateway.js | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/bin/commands/support/verify-fingerprints/index.sh b/bin/commands/support/verify-fingerprints/index.sh index 078f1a5bcc..0044c5e48a 100644 --- a/bin/commands/support/verify-fingerprints/index.sh +++ b/bin/commands/support/verify-fingerprints/index.sh @@ -27,7 +27,7 @@ clean_up_tmp_files() { rm -f "${cust_hashes}" fi } -print_message $(java -version) + ############################### # validation require_java @@ -60,7 +60,6 @@ chmod 700 "${all_files}" print_debug " * File list created as ${all_files}" print_message "- Calculate hashes of Zowe files" -print_message $(java -version) cust_hashes=$(create_tmp_file "${tmp_file_prefix}") result=$(java -cp "${ZWE_zowe_runtimeDirectory}/bin/utils/" HashFiles "${all_files}" | sort > "${cust_hashes}") code=$? diff --git a/tests/sanity/test/apiml/test-oidc-via-gateway.js b/tests/sanity/test/apiml/test-oidc-via-gateway.js index 6ae611bfac..a0378d98e2 100644 --- a/tests/sanity/test/apiml/test-oidc-via-gateway.js +++ b/tests/sanity/test/apiml/test-oidc-via-gateway.js @@ -30,7 +30,7 @@ describe('test oidc mapping via gateway', function() { } const res = await hq.request({ - url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: `/ibmzosmf/api/v1/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, } diff --git a/tests/sanity/test/apiml/test-zss-via-gateway.js b/tests/sanity/test/apiml/test-zss-via-gateway.js index 397c6ebc9a..20c778ceb0 100644 --- a/tests/sanity/test/apiml/test-zss-via-gateway.js +++ b/tests/sanity/test/apiml/test-zss-via-gateway.js @@ -30,7 +30,7 @@ describe('test zss x509 certificate mapping via gateway', function() { } const res = await hq.request({ - url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: `/ibmzosmf/api/v1/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, } From fe12eb867764dbd780a1e826217a016dc2b6669b Mon Sep 17 00:00:00 2001 From: achmelo Date: Wed, 21 Feb 2024 08:58:31 +0100 Subject: [PATCH 36/60] comma Signed-off-by: achmelo --- tests/sanity/test/apiml/test-oidc-via-gateway.js | 2 +- tests/sanity/test/apiml/test-zss-via-gateway.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sanity/test/apiml/test-oidc-via-gateway.js b/tests/sanity/test/apiml/test-oidc-via-gateway.js index a0378d98e2..863c27ce28 100644 --- a/tests/sanity/test/apiml/test-oidc-via-gateway.js +++ b/tests/sanity/test/apiml/test-oidc-via-gateway.js @@ -33,7 +33,7 @@ describe('test oidc mapping via gateway', function() { url: `/ibmzosmf/api/v1/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } + }, }); expect(res).to.have.property('status'); diff --git a/tests/sanity/test/apiml/test-zss-via-gateway.js b/tests/sanity/test/apiml/test-zss-via-gateway.js index 20c778ceb0..b4092f65d0 100644 --- a/tests/sanity/test/apiml/test-zss-via-gateway.js +++ b/tests/sanity/test/apiml/test-zss-via-gateway.js @@ -33,7 +33,7 @@ describe('test zss x509 certificate mapping via gateway', function() { url: `/ibmzosmf/api/v1/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, - } + }, }); expect(res).to.have.property('status'); From 9dbc82ab34657af1a2d581f1f4ac595239356181 Mon Sep 17 00:00:00 2001 From: achmelo Date: Wed, 21 Feb 2024 10:43:01 +0100 Subject: [PATCH 37/60] add csrf zosmf header Signed-off-by: achmelo --- tests/sanity/test/apiml/test-oidc-via-gateway.js | 1 + tests/sanity/test/apiml/test-zss-via-gateway.js | 1 + 2 files changed, 2 insertions(+) diff --git a/tests/sanity/test/apiml/test-oidc-via-gateway.js b/tests/sanity/test/apiml/test-oidc-via-gateway.js index 863c27ce28..cb31ba21dd 100644 --- a/tests/sanity/test/apiml/test-oidc-via-gateway.js +++ b/tests/sanity/test/apiml/test-oidc-via-gateway.js @@ -33,6 +33,7 @@ describe('test oidc mapping via gateway', function() { url: `/ibmzosmf/api/v1/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, + 'X-CSRF-ZOSMF-HEADER': '*', }, }); diff --git a/tests/sanity/test/apiml/test-zss-via-gateway.js b/tests/sanity/test/apiml/test-zss-via-gateway.js index b4092f65d0..06fcac4318 100644 --- a/tests/sanity/test/apiml/test-zss-via-gateway.js +++ b/tests/sanity/test/apiml/test-zss-via-gateway.js @@ -33,6 +33,7 @@ describe('test zss x509 certificate mapping via gateway', function() { url: `/ibmzosmf/api/v1/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, + 'X-CSRF-ZOSMF-HEADER': '*', }, }); From c37bc63eedfbfddc9cd3b3faed9ea2d08c623dff Mon Sep 17 00:00:00 2001 From: achmelo Date: Wed, 21 Feb 2024 12:46:52 +0100 Subject: [PATCH 38/60] remove debug messages Signed-off-by: achmelo --- .pax/pre-packaging.sh | 2 -- bin/libs/java.sh | 12 +++++------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/.pax/pre-packaging.sh b/.pax/pre-packaging.sh index 96671a4006..ce08684a60 100755 --- a/.pax/pre-packaging.sh +++ b/.pax/pre-packaging.sh @@ -377,8 +377,6 @@ rm -rf "./templates" echo "[$SCRIPT_NAME] compile java utilities ..." cd "${ZOWE_ROOT_DIR}/bin/utils" -echo "$(java -version 2>&1)" -java -version javac HashFiles.java && rm HashFiles.java javac ExportPrivateKeyLinux.java && rm ExportPrivateKeyLinux.java javac ExportPrivateKeyZos.java && rm ExportPrivateKeyZos.java diff --git a/bin/libs/java.sh b/bin/libs/java.sh index f6e130de84..da658497bd 100644 --- a/bin/libs/java.sh +++ b/bin/libs/java.sh @@ -19,7 +19,7 @@ ensure_java_is_on_path() { shell_read_yaml_java_home() { yaml="${1}" - print_message $(cat "${yaml}") + java_home=$(shell_read_yaml_config "${yaml}" 'java' 'home') # validate NODE_HOME result=$(validate_java_home "${java_home}" 2>/dev/null) @@ -72,10 +72,8 @@ detect_java_home() { require_java() { # prepare the JAVA_HOME in zowe.yaml - print_message "CLI param ${ZWE_CLI_PARAMETER_CONFIG}" if [ -n "${ZWE_CLI_PARAMETER_CONFIG}" ]; then custom_java_home="$(shell_read_yaml_java_home "${ZWE_CLI_PARAMETER_CONFIG}")" - print_message "custom java home ${custom_java_home}" if [ -n "${custom_java_home}" ]; then export JAVA_HOME="${custom_java_home}" fi @@ -87,11 +85,11 @@ require_java() { if [ -z "${JAVA_HOME}" ]; then print_error_and_exit "Error ZWEL0122E: Cannot find java. Please define JAVA_HOME environment variable." "" 122 fi - print_message "Version of java is: ${JAVA_HOME}" + ensure_java_is_on_path - print_message "${PATH}" } + validate_java_home() { java_home="${1:-${JAVA_HOME}}" @@ -113,9 +111,9 @@ validate_java_home() { fi # As we know the java -version command works then strip out the line we need - java_version_short=$(echo "${java_version}" | grep ^"java version" | sed -e "s/java version //g" | sed -e "s/\"//g") + java_version_short=$(echo "${java_version}" | grep ^"java version" | sed -e "s/java version //g"| sed -e "s/\"//g") if [[ $java_version_short == "" ]]; then - java_version_short=$(echo "${java_version}" | grep ^"openjdk version" | sed -e "s/openjdk version //g" | sed -e "s/\"//g") + java_version_short=$(echo "${java_version}" | grep ^"openjdk version" | sed -e "s/openjdk version //g"| sed -e "s/\"//g") fi java_major_version=$(echo "${java_version_short}" | cut -d '.' -f 1) java_minor_version=$(echo "${java_version_short}" | cut -d '.' -f 2) From d2c0c04aba28222a913ec8725096872a13a427c5 Mon Sep 17 00:00:00 2001 From: achmelo Date: Wed, 6 Mar 2024 16:56:10 +0100 Subject: [PATCH 39/60] apiml keyring test build Signed-off-by: achmelo --- manifest.json.template | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index 76d7600403..4dabae0d9c 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -67,24 +67,20 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "^3.0.0-SNAPSHOT", - "artifact": "api-catalog-*.zip", - "exclusions": ["*PR*.zip"] + "version": "3.0.3-PR-2233-SNAPSHOT", + "artifact": "api-catalog-*.zip" }, "org.zowe.apiml.discovery-package": { - "version": "^3.0.0-SNAPSHOT", - "artifact": "discovery-*.zip", - "exclusions": ["*PR*.zip"] + "version": "3.0.3-PR-2233-SNAPSHOT", + "artifact": "discovery-*.zip" }, "org.zowe.apiml.gateway-package": { - "version": "^3.0.0-SNAPSHOT", - "artifact": "gateway-*.zip", - "exclusions": ["*PR*.zip"] + "version": "3.0.3-PR-2233-SNAPSHOT", + "artifact": "gateway-*.zip" }, "org.zowe.apiml.caching-service-package": { - "version": "^3.0.0-SNAPSHOT", - "artifact": "caching-service-*.zip", - "exclusions": ["*PR*.zip"] + "version": "3.0.3-PR-2233-SNAPSHOT", + "artifact": "caching-service-*.zip" }, "org.zowe.apiml.metrics-service-package": { "version": "^2.1.1-SNAPSHOT", @@ -92,9 +88,8 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "^3.0.0-SNAPSHOT", - "artifact": "apiml-common-lib-*.zip", - "exclusions": ["*PR*.zip"] + "version": "3.0.3-PR-2233-SNAPSHOT", + "artifact": "apiml-common-lib-*.zip" }, "org.zowe.apiml.sdk.common-java-lib-package": { "version": "^2.0.0-SNAPSHOT", @@ -102,14 +97,12 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.sdk.apiml-sample-extension-package": { - "version": "^3.0.0-SNAPSHOT", - "artifact": "apiml-sample-extension-*.zip", - "exclusions": ["*PR*.zip"] + "version": "3.0.3-PR-2233-SNAPSHOT", + "artifact": "apiml-sample-extension-*.zip" }, "org.zowe.apiml.cloud-gateway-package": { - "version": "^3.0.0-SNAPSHOT", - "artifact": "cloud-gateway-*.zip", - "exclusions": ["*PR*.zip"] + "version": "3.0.3-PR-2233-SNAPSHOT", + "artifact": "cloud-gateway-*.zip" }, "org.zowe.getesm": { "version": "^3.0.0-V3.X-STAGING", From 7bd0e4c59874f4ebf65fe1642bd2792113574338 Mon Sep 17 00:00:00 2001 From: achmelo Date: Wed, 6 Mar 2024 17:03:01 +0100 Subject: [PATCH 40/60] zlux v3 Signed-off-by: achmelo --- manifest.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json.template b/manifest.json.template index 4dabae0d9c..d030374825 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -12,7 +12,7 @@ }, "binaryDependencies": { "org.zowe.zlux.zlux-core": { - "version": "^3.0.0-V3.X-STAGING-ZLUX-CORE", + "version": "3.0.0-zlux-app-server-PR-291", "artifact": "*.pax" }, "org.zowe.zlux.sample-angular-app": { From 63426d221fbf6ff2b07847479af71ed2298eab7c Mon Sep 17 00:00:00 2001 From: achmelo Date: Wed, 6 Mar 2024 17:05:59 +0100 Subject: [PATCH 41/60] specific artifact Signed-off-by: achmelo --- manifest.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json.template b/manifest.json.template index d030374825..0ca410aeef 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -13,7 +13,7 @@ "binaryDependencies": { "org.zowe.zlux.zlux-core": { "version": "3.0.0-zlux-app-server-PR-291", - "artifact": "*.pax" + "artifact": "zlux-core-3.0.0-20240220.205642.tar" }, "org.zowe.zlux.sample-angular-app": { "version": "^3.0.0-V3.X-STAGING", From ca94ab5a8cf1ee11ddd5d0de439474efee08c1ed Mon Sep 17 00:00:00 2001 From: achmelo Date: Wed, 6 Mar 2024 17:36:01 +0100 Subject: [PATCH 42/60] not tar Signed-off-by: achmelo --- manifest.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json.template b/manifest.json.template index 0ca410aeef..b056c89b02 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -13,7 +13,7 @@ "binaryDependencies": { "org.zowe.zlux.zlux-core": { "version": "3.0.0-zlux-app-server-PR-291", - "artifact": "zlux-core-3.0.0-20240220.205642.tar" + "artifact": "zlux-core-3.0.0-20240220.205642.pax" }, "org.zowe.zlux.sample-angular-app": { "version": "^3.0.0-V3.X-STAGING", From 55e22a24b10bd76b1b8c7707d6ce5513a0399682 Mon Sep 17 00:00:00 2001 From: achmelo Date: Fri, 8 Mar 2024 09:26:02 +0100 Subject: [PATCH 43/60] 2 slashes in keyring path Signed-off-by: achmelo --- bin/commands/init/certificate/index.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bin/commands/init/certificate/index.sh b/bin/commands/init/certificate/index.sh index 478b3c745a..a1d2f5c8dd 100644 --- a/bin/commands/init/certificate/index.sh +++ b/bin/commands/init/certificate/index.sh @@ -340,7 +340,7 @@ elif [[ "${cert_type}" == JCE*KS ]]; then # should we clean up before creating new if [ "${ZWE_CLI_PARAMETER_ALLOW_OVERWRITE}" = "true" ]; then # warning - print_message "Warning ZWEL0300W: Keyring \"safkeyring:///${keyring_owner}/${keyring_name}\" will be overwritten during configuration." + print_message "Warning ZWEL0300W: Keyring \"safkeyring://${keyring_owner}/${keyring_name}\" will be overwritten during configuration." zwecli_inline_execute_command \ certificate keyring-jcl clean \ @@ -384,7 +384,7 @@ elif [[ "${cert_type}" == JCE*KS ]]; then yaml_keyring_label="${keyring_label}" # keyring string for self-signed CA - yaml_pem_cas="safkeyring:////${keyring_owner}/${keyring_name}&${keyring_caLabel}" + yaml_pem_cas="safkeyring://${keyring_owner}/${keyring_name}&${keyring_caLabel}" ;; 2) # connect existing certs to zowe keyring @@ -433,9 +433,9 @@ elif [[ "${cert_type}" == JCE*KS ]]; then item=$(echo "${item}" | trim) if [ -n "${item}" ]; then if [ -n "${yaml_pem_cas}" ]; then - yaml_pem_cas="${yaml_pem_cas},safkeyring:////${keyring_owner}/${keyring_name}&${item}" + yaml_pem_cas="${yaml_pem_cas},safkeyring://${keyring_owner}/${keyring_name}&${item}" else - yaml_pem_cas="safkeyring:////${keyring_owner}/${keyring_name}&${item}" + yaml_pem_cas="safkeyring://${keyring_owner}/${keyring_name}&${item}" fi fi done < Date: Mon, 11 Mar 2024 09:46:42 +0100 Subject: [PATCH 44/60] do not enable jobs and files Signed-off-by: achmelo --- playbooks/roles/custom_for_test/tasks/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/playbooks/roles/custom_for_test/tasks/main.yml b/playbooks/roles/custom_for_test/tasks/main.yml index 2ca66723e5..ad96b2ff60 100644 --- a/playbooks/roles/custom_for_test/tasks/main.yml +++ b/playbooks/roles/custom_for_test/tasks/main.yml @@ -158,8 +158,6 @@ tasks_from: update_zowe_yaml vars: configs: - "components.files-api.enabled": "true" - "components.jobs-api.enabled": "true" "components.apiml-sample-extension.enabled": "true" # debug mode for troubleshooting/profiling "zowe.launchScript.logLevel": "trace" From 4bdc7472245785ade4f24ca37a39774095f4fcab Mon Sep 17 00:00:00 2001 From: Pavel Jares Date: Tue, 12 Mar 2024 14:03:21 +0100 Subject: [PATCH 45/60] remove deprecated components --- manifest.json.template | 54 ------------------------------------------ 1 file changed, 54 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index b056c89b02..98236f7d54 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -43,16 +43,6 @@ "version": "^3.0.0-STAGING", "artifact": "*.pax" }, - "org.zowe.explorer.jobs.jobs-api-package": { - "version": "^2.0.7-SNAPSHOT", - "artifact": "jobs-api-package-*.zip", - "exclusions": ["*PR*.zip","*BRANCH*"] - }, - "org.zowe.explorer.files.files-api-package": { - "version": "^2.0.7-SNAPSHOT", - "artifact": "files-api-package-*.zip", - "exclusions": ["*PR*.zip","*BRANCH*"] - }, "org.zowe.explorer-jes": { "version": "~2.0.2-SNAPSHOT" }, @@ -82,11 +72,6 @@ "version": "3.0.3-PR-2233-SNAPSHOT", "artifact": "caching-service-*.zip" }, - "org.zowe.apiml.metrics-service-package": { - "version": "^2.1.1-SNAPSHOT", - "artifact": "metrics-service-*.zip", - "exclusions": ["*PR*.zip"] - }, "org.zowe.apiml.apiml-common-lib-package": { "version": "3.0.3-PR-2233-SNAPSHOT", "artifact": "apiml-common-lib-*.zip" @@ -256,13 +241,6 @@ "tag": "master", "destinations": ["Zowe CLI Package"] }] - }, { - "componentGroup": "IBM® IMS® Plug-in for Zowe CLI", - "entries": [{ - "repository": "zowe-cli-ims-plugin", - "tag": "master", - "destinations": ["Zowe CLI Package"] - }] }, { "componentGroup": "Zowe Desktop Data Sets UI Plugin", "entries": [{ @@ -292,28 +270,6 @@ "destinations": ["Zowe PAX"] }] }, { - "componentGroup": "Zowe Explorer Common REST Server", - "entries": [{ - "repository": "explorer-api-common", - "tag": "v2.x/master", - "destinations": ["Zowe PAX"] - }] - }, { - "componentGroup": "Zowe Explorer Data Sets REST Server", - "entries": [{ - "repository": "data-sets", - "tag": "v2.x/master", - "destinations": ["Zowe PAX"] - }] - }, { - "componentGroup": "Zowe Explorer Jobs REST Server", - "entries": [{ - "repository": "jobs", - "tag": "v2.x/master", - "destinations": ["Zowe PAX"] - }] - }, - { "componentGroup": "Zowe Desktop TN3270 Emulator Plug-in", "entries": [{ "repository": "tn3270-ng2", @@ -449,16 +405,6 @@ "name": "ompzowe/explorer-uss", "tag" : "2-ubuntu" }, - "files-api": { - "registry": "zowe-docker-release.jfrog.io", - "name": "ompzowe/files-api", - "tag" : "2-ubuntu" - }, - "jobs-api": { - "registry": "zowe-docker-release.jfrog.io", - "name": "ompzowe/jobs-api", - "tag" : "2-ubuntu" - }, "base": { "registry": "zowe-docker-release.jfrog.io", "name": "ompzowe/base", From a7274c1f4abe2360d10703d2a0dad056a05ff556 Mon Sep 17 00:00:00 2001 From: Pavel Jares Date: Tue, 12 Mar 2024 14:12:12 +0100 Subject: [PATCH 46/60] update number of components --- .github/workflows/build-packaging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-packaging.yml b/.github/workflows/build-packaging.yml index dc6dda480d..14e654e51c 100644 --- a/.github/workflows/build-packaging.yml +++ b/.github/workflows/build-packaging.yml @@ -178,7 +178,7 @@ jobs: with: manifest-file-path: ${{ github.workspace }}/manifest.json default-target-path: .pax/binaryDependencies/ - expected-count: 30 + expected-count: 27 # this step is not doing a publish, we are just utilizing this actions to get the PUBLISH_TARGET_PATH, # and it will be used in the next step: [Download 3] Download SMPE build log From 1199ae023308627398bc4ecd36e6d7f3b59baf31 Mon Sep 17 00:00:00 2001 From: Pavel Jares Date: Tue, 12 Mar 2024 15:10:41 +0100 Subject: [PATCH 47/60] remove jobs, dataset, metrics and ims --- .pax/pre-packaging.sh | 2 +- README.md | 1 - bin/commands/internal/start/prepare/index.sh | 4 +- bin/commands/internal/start/prepare/index.ts | 4 +- bin/commands/migrate/for/kubernetes/index.sh | 4 - bin/libs/common.ts | 2 +- bin/libs/index.sh | 2 +- containers/kubernetes/samples/config-cm.yaml | 8 - .../files-api-hpa.yaml | 26 ---- .../jobs-api-hpa.yaml | 26 ---- .../pod-disruption-budget/files-api-pdb.yaml | 19 --- .../pod-disruption-budget/jobs-api-pdb.yaml | 19 --- .../workloads/files-api-deployment.yaml | 139 ------------------ .../workloads/jobs-api-deployment.yaml | 139 ------------------ example-zowe.yaml | 28 ---- playbooks/all_host_vars_list.yml | 3 +- playbooks/roles/configfmid/defaults/main.yml | 4 - playbooks/roles/configfmid/tasks/main.yml | 3 - playbooks/roles/configure/defaults/main.yml | 4 - playbooks/roles/configure/tasks/main.yml | 3 - .../roles/custom_for_test/defaults/main.yml | 4 - playbooks/roles/kubernetes/defaults/main.yml | 2 +- playbooks/roles/start/tasks/wait_for_zowe.yml | 19 --- smpe/bld/smpe-split.sh | 2 - .../test/install/test-installed-files.js | 4 - workflows/files/ZWECONF.properties | 24 --- workflows/files/ZWECONF.xml | 104 ------------- 27 files changed, 9 insertions(+), 590 deletions(-) delete mode 100644 containers/kubernetes/samples/horizontal-pod-autoscaler/files-api-hpa.yaml delete mode 100644 containers/kubernetes/samples/horizontal-pod-autoscaler/jobs-api-hpa.yaml delete mode 100644 containers/kubernetes/samples/pod-disruption-budget/files-api-pdb.yaml delete mode 100644 containers/kubernetes/samples/pod-disruption-budget/jobs-api-pdb.yaml delete mode 100644 containers/kubernetes/workloads/files-api-deployment.yaml delete mode 100644 containers/kubernetes/workloads/jobs-api-deployment.yaml diff --git a/.pax/pre-packaging.sh b/.pax/pre-packaging.sh index ce08684a60..a183f1e207 100755 --- a/.pax/pre-packaging.sh +++ b/.pax/pre-packaging.sh @@ -282,7 +282,7 @@ EOT echo "[$SCRIPT_NAME] extract components" mkdir -p "${BASE_DIR}/logs" mkdir -p "${ZOWE_ROOT_DIR}/components" -for component in launcher zlux-core zss apiml-common-lib common-java-lib apiml-sample-extension gateway cloud-gateway caching-service metrics-service discovery api-catalog jobs-api files-api explorer-jes explorer-mvs explorer-uss; do +for component in launcher zlux-core zss apiml-common-lib common-java-lib apiml-sample-extension gateway cloud-gateway caching-service discovery api-catalog explorer-jes explorer-mvs explorer-uss; do echo "[$SCRIPT_NAME] - ${component}" component_file=$(find "${ZOWE_ROOT_DIR}/files" -type f \( -name "${component}*.pax" -o -name "${component}*.zip" \) | head -n 1) "${ZOWE_ROOT_DIR}/bin/zwe" \ diff --git a/README.md b/README.md index b913752be2..3686e6f720 100644 --- a/README.md +++ b/README.md @@ -157,7 +157,6 @@ For each Zowe component, we have point of contact(s) in case if we want to confi - zowe-cli-mq-plugin - zowe-cli-scs-plugin - zowe-cli-ftp-plugin - - zowe-cli-ims-plugin - Explorer (Visual Studio Code Extension): Fernando Rijo Cedeno, Mark Ackert * Source Dependencies - vscode-extension-for-zowe diff --git a/bin/commands/internal/start/prepare/index.sh b/bin/commands/internal/start/prepare/index.sh index 7927fbd231..8b397fee03 100644 --- a/bin/commands/internal/start/prepare/index.sh +++ b/bin/commands/internal/start/prepare/index.sh @@ -128,7 +128,7 @@ global_validate() { validate_this "validate_node_home 2>&1" "zwe-internal-start-prepare,global_validate:${LINENO}" # validate java for some core components - if [[ ${ZWE_ENABLED_COMPONENTS} == *"gateway"* || ${ZWE_ENABLED_COMPONENTS} == *"cloud-gateway"* || ${ZWE_ENABLED_COMPONENTS} == *"discovery"* || ${ZWE_ENABLED_COMPONENTS} == *"api-catalog"* || ${ZWE_ENABLED_COMPONENTS} == *"caching-service"* || ${ZWE_ENABLED_COMPONENTS} == *"metrics-service"* || ${ZWE_ENABLED_COMPONENTS} == *"files-api"* || ${ZWE_ENABLED_COMPONENTS} == *"jobs-api"* ]]; then + if [[ ${ZWE_ENABLED_COMPONENTS} == *"gateway"* || ${ZWE_ENABLED_COMPONENTS} == *"cloud-gateway"* || ${ZWE_ENABLED_COMPONENTS} == *"discovery"* || ${ZWE_ENABLED_COMPONENTS} == *"api-catalog"* || ${ZWE_ENABLED_COMPONENTS} == *"caching-service"* ]]; then validate_this "validate_java_home 2>&1" "zwe-internal-start-prepare,global_validate:${LINENO}" fi else @@ -139,7 +139,7 @@ global_validate() { # validate z/OSMF for some core components if [ -n "${ZOSMF_HOST}" -a -n "${ZOSMF_PORT}" ]; then - if [[ ${ZWE_ENABLED_COMPONENTS} == *"discovery"* || ${ZWE_ENABLED_COMPONENTS} == *"files-api"* || ${ZWE_ENABLED_COMPONENTS} == *"jobs-api"* ]]; then + if [[ ${ZWE_ENABLED_COMPONENTS} == *"discovery"* ]]; then validate_this "validate_zosmf_host_and_port \"${ZOSMF_HOST}\" \"${ZOSMF_PORT}\" 2>&1" "zwe-internal-start-prepare,global_validate:${LINENO}" fi elif [ "${ZWE_components_gateway_apiml_security_auth_provider}" = "zosmf" ]; then diff --git a/bin/commands/internal/start/prepare/index.ts b/bin/commands/internal/start/prepare/index.ts index 98b2bffec5..ffd8638890 100644 --- a/bin/commands/internal/start/prepare/index.ts +++ b/bin/commands/internal/start/prepare/index.ts @@ -146,7 +146,7 @@ function globalValidate(enabledComponents:string[]): void { // validate java for some core components //TODO this should be a manifest parameter that you require java, not a hardcoded list. What if extensions require it? - if (enabledComponents.includes('gateway') || enabledComponents.includes('cloud-gateway') || enabledComponents.includes('discovery') || enabledComponents.includes('api-catalog') || enabledComponents.includes('caching-service') || enabledComponents.includes('metrics-service') || enabledComponents.includes('files-api') || enabledComponents.includes('jobs-api')) { + if (enabledComponents.includes('gateway') || enabledComponents.includes('cloud-gateway') || enabledComponents.includes('discovery') || enabledComponents.includes('api-catalog') || enabledComponents.includes('caching-service')) { let javaOk = java.validateJavaHome(); if (!javaOk) { privateErrors++; @@ -165,7 +165,7 @@ function globalValidate(enabledComponents:string[]): void { // validate z/OSMF for some core components if (zosmfHost && zosmfPort) { - if (enabledComponents.includes('discovery') || enabledComponents.includes('files-api') || enabledComponents.includes('jobs-api')) { + if (enabledComponents.includes('discovery')) { let zosmfOk = zosmf.validateZosmfHostAndPort(zosmfHost, zosmfPort); if (!zosmfOk) { privateErrors++; diff --git a/bin/commands/migrate/for/kubernetes/index.sh b/bin/commands/migrate/for/kubernetes/index.sh index b957ea19db..7f421ea181 100644 --- a/bin/commands/migrate/for/kubernetes/index.sh +++ b/bin/commands/migrate/for/kubernetes/index.sh @@ -208,16 +208,12 @@ update_zowe_yaml "${temp_dir}/zowe.yaml" "components.discovery.port" "7553" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.api-catalog.port" "7552" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.caching-service.port" "7555" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.app-server.port" "7556" -update_zowe_yaml "${temp_dir}/zowe.yaml" "components.jobs-api.port" "8545" -update_zowe_yaml "${temp_dir}/zowe.yaml" "components.files-api.port" "8547" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.gateway.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.discovery.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.api-catalog.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.caching-service.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.app-server.enabled" "true" -update_zowe_yaml "${temp_dir}/zowe.yaml" "components.jobs-api.enabled" "true" -update_zowe_yaml "${temp_dir}/zowe.yaml" "components.files-api.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.explorer-jes.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.explorer-mvs.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.explorer-uss.enabled" "true" diff --git a/bin/libs/common.ts b/bin/libs/common.ts index 7eabf33f5f..2245cd8d31 100644 --- a/bin/libs/common.ts +++ b/bin/libs/common.ts @@ -374,6 +374,6 @@ std.setenv('ZWE_PRIVATE_DEFAULT_ZIS_USER', 'ZWESIUSR'); std.setenv('ZWE_PRIVATE_DEFAULT_ZOWE_STC', 'ZWESLSTC'); std.setenv('ZWE_PRIVATE_DEFAULT_ZIS_STC', 'ZWESISTC'); std.setenv('ZWE_PRIVATE_DEFAULT_AUX_STC', 'ZWESASTC'); -std.setenv('ZWE_PRIVATE_CORE_COMPONENTS_REQUIRE_JAVA', 'gateway,cloud-gateway,discovery,api-catalog,caching-service,metrics-service,files-api,jobs-api'); +std.setenv('ZWE_PRIVATE_CORE_COMPONENTS_REQUIRE_JAVA', 'gateway,cloud-gateway,discovery,api-catalog,caching-service'); std.setenv('ZWE_PRIVATE_CLI_LIBRARY_LOADED', 'true'); diff --git a/bin/libs/index.sh b/bin/libs/index.sh index cf291d5e19..c70833e610 100755 --- a/bin/libs/index.sh +++ b/bin/libs/index.sh @@ -27,7 +27,7 @@ export ZWE_PRIVATE_DEFAULT_ZIS_USER=ZWESIUSR export ZWE_PRIVATE_DEFAULT_ZOWE_STC=ZWESLSTC export ZWE_PRIVATE_DEFAULT_ZIS_STC=ZWESISTC export ZWE_PRIVATE_DEFAULT_AUX_STC=ZWESASTC -export ZWE_PRIVATE_CORE_COMPONENTS_REQUIRE_JAVA=gateway,cloud-gateway,discovery,api-catalog,caching-service,metrics-service,files-api,jobs-api +export ZWE_PRIVATE_CORE_COMPONENTS_REQUIRE_JAVA=gateway,cloud-gateway,discovery,api-catalog,caching-service . "${ZWE_zowe_runtimeDirectory}/bin/libs/certificate.sh" . "${ZWE_zowe_runtimeDirectory}/bin/libs/container.sh" diff --git a/containers/kubernetes/samples/config-cm.yaml b/containers/kubernetes/samples/config-cm.yaml index 51f019ce13..1f53d349d6 100644 --- a/containers/kubernetes/samples/config-cm.yaml +++ b/containers/kubernetes/samples/config-cm.yaml @@ -122,14 +122,6 @@ data: tls: true crossMemoryServerName: ZWESIS_STD - jobs-api: - enabled: true - port: 8545 - - files-api: - enabled: true - port: 8547 - explorer-jes: enabled: true diff --git a/containers/kubernetes/samples/horizontal-pod-autoscaler/files-api-hpa.yaml b/containers/kubernetes/samples/horizontal-pod-autoscaler/files-api-hpa.yaml deleted file mode 100644 index 0843dc9a37..0000000000 --- a/containers/kubernetes/samples/horizontal-pod-autoscaler/files-api-hpa.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -apiVersion: autoscaling/v2beta2 -kind: HorizontalPodAutoscaler -metadata: - name: files-api-hpa - namespace: zowe - labels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/version: "2.1.0" - app.kubernetes.io/component: hpa - app.kubernetes.io/managed-by: manual -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: files-api - minReplicas: 1 - maxReplicas: 3 - metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 70 diff --git a/containers/kubernetes/samples/horizontal-pod-autoscaler/jobs-api-hpa.yaml b/containers/kubernetes/samples/horizontal-pod-autoscaler/jobs-api-hpa.yaml deleted file mode 100644 index 3ad0a8ae35..0000000000 --- a/containers/kubernetes/samples/horizontal-pod-autoscaler/jobs-api-hpa.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -apiVersion: autoscaling/v2beta2 -kind: HorizontalPodAutoscaler -metadata: - name: jobs-api-hpa - namespace: zowe - labels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/version: "2.1.0" - app.kubernetes.io/component: hpa - app.kubernetes.io/managed-by: manual -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: jobs-api - minReplicas: 1 - maxReplicas: 3 - metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 70 diff --git a/containers/kubernetes/samples/pod-disruption-budget/files-api-pdb.yaml b/containers/kubernetes/samples/pod-disruption-budget/files-api-pdb.yaml deleted file mode 100644 index ba4e9ad5a4..0000000000 --- a/containers/kubernetes/samples/pod-disruption-budget/files-api-pdb.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -apiVersion: policy/v1beta1 -kind: PodDisruptionBudget -metadata: - name: files-api-pdb - namespace: zowe - labels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/version: "2.1.0" - app.kubernetes.io/component: pdb - app.kubernetes.io/managed-by: manual -spec: - minAvailable: 1 - selector: - matchLabels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/component: files-api diff --git a/containers/kubernetes/samples/pod-disruption-budget/jobs-api-pdb.yaml b/containers/kubernetes/samples/pod-disruption-budget/jobs-api-pdb.yaml deleted file mode 100644 index 5bc883a5a1..0000000000 --- a/containers/kubernetes/samples/pod-disruption-budget/jobs-api-pdb.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -apiVersion: policy/v1beta1 -kind: PodDisruptionBudget -metadata: - name: jobs-api-pdb - namespace: zowe - labels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/version: "2.1.0" - app.kubernetes.io/component: pdb - app.kubernetes.io/managed-by: manual -spec: - minAvailable: 1 - selector: - matchLabels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/component: jobs-api diff --git a/containers/kubernetes/workloads/files-api-deployment.yaml b/containers/kubernetes/workloads/files-api-deployment.yaml deleted file mode 100644 index b365d0fcc7..0000000000 --- a/containers/kubernetes/workloads/files-api-deployment.yaml +++ /dev/null @@ -1,139 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: files-api - namespace: zowe - labels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/version: "2.1.0" - app.kubernetes.io/component: files-api - app.kubernetes.io/part-of: explorer-api - app.kubernetes.io/managed-by: manual -spec: - selector: - matchLabels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/component: files-api - template: - metadata: - labels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/component: files-api - spec: - securityContext: - runAsUser: 20000 - runAsGroup: 20000 - fsGroup: 20000 - runAsNonRoot: true - serviceAccountName: zowe-sa - volumes: - - name: tmp - emptyDir: {} - - name: zowe-runtime - emptyDir: {} - - name: zowe-config - configMap: - name: zowe-config - - name: zowe-keystore - projected: - sources: - - secret: - name: zowe-certificates-secret - - name: zowe-logs - emptyDir: {} - - name: zowe-workspace - persistentVolumeClaim: - claimName: zowe-workspace-pvc - containers: - - name: files-api - image: zowe-docker-release.jfrog.io/ompzowe/files-api:2.0.10-ubuntu - imagePullPolicy: Always - resources: - requests: - memory: "256Mi" - cpu: "50m" - limits: - memory: "384Mi" - cpu: "300m" - ports: - - name: files-api-port - containerPort: 8547 - protocol: TCP - startupProbe: - tcpSocket: - port: 8547 - # this should give 60 * periodSeconds(default to 10) seconds about 10 minutes to confirm it's ready - periodSeconds: 10 - failureThreshold: 60 - livenessProbe: - tcpSocket: - port: 8547 - # this should give 3 * periodSeconds(default to 10) seconds about 30 seconds to confirm it's offline - periodSeconds: 10 - failureThreshold: 3 - command: ["/bin/bash", "-c"] - args: - - "/home/zowe/runtime/bin/zwe internal start -c /home/zowe/instance/zowe.yaml" - env: - - name: ZWE_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - lifecycle: - preStop: - exec: - command: ["/bin/sh", "-c", "/home/zowe/runtime/bin/zwe internal container prestop -c /home/zowe/instance/zowe.yaml"] - securityContext: - readOnlyRootFilesystem: true - allowPrivilegeEscalation: false - privileged: false - runAsNonRoot: true - capabilities: - drop: - - all - volumeMounts: - - name: tmp - mountPath: /tmp - - name: zowe-runtime - mountPath: "/home/zowe/runtime" - - name: zowe-config - mountPath: "/home/zowe/instance/zowe.yaml" - subPath: zowe.yaml - readOnly: true - - name: zowe-keystore - mountPath: "/home/zowe/keystore" - readOnly: true - - name: zowe-logs - mountPath: "/home/zowe/instance/logs" - - name: zowe-workspace - mountPath: "/home/zowe/instance/workspace" - initContainers: - - name: init-zowe - image: zowe-docker-snapshot.jfrog.io/ompzowe/zowe-launch-scripts:2.5.0-ubuntu.v2-x-staging - imagePullPolicy: Always - resources: - requests: - memory: "64Mi" - cpu: "10m" - limits: - memory: "128Mi" - cpu: "100m" - securityContext: - readOnlyRootFilesystem: true - allowPrivilegeEscalation: false - privileged: false - runAsNonRoot: true - capabilities: - drop: - - all - volumeMounts: - - name: tmp - mountPath: /tmp - - name: zowe-runtime - mountPath: "/home/zowe/runtime" - - name: zowe-workspace - mountPath: "/home/zowe/instance/workspace" diff --git a/containers/kubernetes/workloads/jobs-api-deployment.yaml b/containers/kubernetes/workloads/jobs-api-deployment.yaml deleted file mode 100644 index e331293a33..0000000000 --- a/containers/kubernetes/workloads/jobs-api-deployment.yaml +++ /dev/null @@ -1,139 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: jobs-api - namespace: zowe - labels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/version: "2.1.0" - app.kubernetes.io/component: jobs-api - app.kubernetes.io/part-of: explorer-api - app.kubernetes.io/managed-by: manual -spec: - selector: - matchLabels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/component: jobs-api - template: - metadata: - labels: - app.kubernetes.io/name: zowe - app.kubernetes.io/instance: zowe - app.kubernetes.io/component: jobs-api - spec: - securityContext: - runAsUser: 20000 - runAsGroup: 20000 - fsGroup: 20000 - runAsNonRoot: true - serviceAccountName: zowe-sa - volumes: - - name: tmp - emptyDir: {} - - name: zowe-runtime - emptyDir: {} - - name: zowe-config - configMap: - name: zowe-config - - name: zowe-keystore - projected: - sources: - - secret: - name: zowe-certificates-secret - - name: zowe-logs - emptyDir: {} - - name: zowe-workspace - persistentVolumeClaim: - claimName: zowe-workspace-pvc - containers: - - name: jobs-api - image: zowe-docker-release.jfrog.io/ompzowe/jobs-api:2.0.10-ubuntu - imagePullPolicy: Always - resources: - requests: - memory: "256Mi" - cpu: "50m" - limits: - memory: "384Mi" - cpu: "300m" - ports: - - name: jobs-api-port - containerPort: 8545 - protocol: TCP - startupProbe: - tcpSocket: - port: 8545 - # this should give 60 * periodSeconds(default to 10) seconds about 10 minutes to confirm it's ready - periodSeconds: 10 - failureThreshold: 60 - livenessProbe: - tcpSocket: - port: 8545 - # this should give 3 * periodSeconds(default to 10) seconds about 30 seconds to confirm it's offline - periodSeconds: 10 - failureThreshold: 3 - command: ["/bin/bash", "-c"] - args: - - "/home/zowe/runtime/bin/zwe internal start -c /home/zowe/instance/zowe.yaml" - env: - - name: ZWE_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - lifecycle: - preStop: - exec: - command: ["/bin/sh", "-c", "/home/zowe/runtime/bin/zwe internal container prestop -c /home/zowe/instance/zowe.yaml"] - securityContext: - readOnlyRootFilesystem: true - allowPrivilegeEscalation: false - privileged: false - runAsNonRoot: true - capabilities: - drop: - - all - volumeMounts: - - name: tmp - mountPath: /tmp - - name: zowe-runtime - mountPath: "/home/zowe/runtime" - - name: zowe-config - mountPath: "/home/zowe/instance/zowe.yaml" - subPath: zowe.yaml - readOnly: true - - name: zowe-keystore - mountPath: "/home/zowe/keystore" - readOnly: true - - name: zowe-logs - mountPath: "/home/zowe/instance/logs" - - name: zowe-workspace - mountPath: "/home/zowe/instance/workspace" - initContainers: - - name: init-zowe - image: zowe-docker-snapshot.jfrog.io/ompzowe/zowe-launch-scripts:2.5.0-ubuntu.v2-x-staging - imagePullPolicy: Always - resources: - requests: - memory: "64Mi" - cpu: "10m" - limits: - memory: "128Mi" - cpu: "100m" - securityContext: - readOnlyRootFilesystem: true - allowPrivilegeEscalation: false - privileged: false - runAsNonRoot: true - capabilities: - drop: - - all - volumeMounts: - - name: tmp - mountPath: /tmp - - name: zowe-runtime - mountPath: "/home/zowe/runtime" - - name: zowe-workspace - mountPath: "/home/zowe/instance/workspace" diff --git a/example-zowe.yaml b/example-zowe.yaml index d8028ac1dd..0e6d526dd4 100644 --- a/example-zowe.yaml +++ b/example-zowe.yaml @@ -529,12 +529,6 @@ components: # keystore: # alias: "" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - metrics-service: - enabled: false - port: 7551 - debug: false - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cloud-gateway: enabled: false @@ -600,18 +594,6 @@ components: fallback: true 64bit: true - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - jobs-api: - enabled: false - debug: false - port: 7558 - - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - files-api: - enabled: false - debug: false - port: 7559 - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> explorer-jes: enabled: true @@ -670,12 +652,6 @@ components: # zss: # # no app-server in this instance # enabled: false -# jobs-api: -# port: 18545 -# enabled: true -# files-api: -# port: 18547 -# enabled: true # caching-service: # port: 17555 # @@ -697,9 +673,5 @@ components: # port: 28544 # zss: # port: 28542 -# jobs-api: -# enabled: true -# files-api: -# enabled: false # caching-service: # enabled: false diff --git a/playbooks/all_host_vars_list.yml b/playbooks/all_host_vars_list.yml index d3528c7fa7..6d0c540f8b 100644 --- a/playbooks/all_host_vars_list.yml +++ b/playbooks/all_host_vars_list.yml @@ -12,7 +12,7 @@ k8s_gateway_domain: k8s_list_domain_ip: localhost k8s_networking: k8s_pv_name: -k8s_required_apps: ["api-catalog", "app-server", "caching", "explorer-jes", "explorer-mvs", "explorer-uss", "discovery", "files-api", "gateway", "jobs-api"] +k8s_required_apps: ["api-catalog", "app-server", "caching", "explorer-jes", "explorer-mvs", "explorer-uss", "discovery", "gateway"] k8s_service: loadbalancer k8s_storageclass: kubeconfig: @@ -30,7 +30,6 @@ zowe_apiml_discovery_port: 7553 zowe_apiml_gateway_port: 7554 zowe_apiml_cloud_gateway_port: 7563 zowe_apiml_gateway_timeout_millis: 600000 -zowe_apiml_metrics_service_port: 7551 zowe_apiml_nonstrict_verify_certficates_of_services: true zowe_apiml_security_auth_provider: zosmf zowe_apiml_security_x509_enabled: false diff --git a/playbooks/roles/configfmid/defaults/main.yml b/playbooks/roles/configfmid/defaults/main.yml index 322e90b06d..aea2263053 100644 --- a/playbooks/roles/configfmid/defaults/main.yml +++ b/playbooks/roles/configfmid/defaults/main.yml @@ -7,14 +7,11 @@ zowe_core_components: - gateway - cloud-gateway -- metrics-service - api-catalog - discovery - caching-service - app-server - zss -- jobs-api -- files-api - explorer-jes - explorer-mvs - explorer-uss @@ -54,7 +51,6 @@ zos_zosmf_user: IZUSVR # default z/OSMF Certificate Authority zos_zosmf_ca: # APIML ports -zowe_apiml_metrics_service_port: 7551 zowe_apiml_catalog_port: 7552 zowe_apiml_discovery_port: 7553 zowe_apiml_gateway_port: 7554 diff --git a/playbooks/roles/configfmid/tasks/main.yml b/playbooks/roles/configfmid/tasks/main.yml index 7b2ad2c6c5..ff601ce238 100644 --- a/playbooks/roles/configfmid/tasks/main.yml +++ b/playbooks/roles/configfmid/tasks/main.yml @@ -282,14 +282,11 @@ vars: configs: "components.gateway.port": "{{ zowe_apiml_gateway_port }}" - "components.metrics-service.port": "{{ zowe_apiml_metrics_service_port }}" "components.api-catalog.port": "{{ zowe_apiml_catalog_port }}" "components.discovery.port": "{{ zowe_apiml_discovery_port }}" "components.caching-service.port": "{{ zowe_caching_service_port }}" "components.app-server.port": "{{ zowe_zlux_port }}" "components.zss.port": "{{ zowe_zss_port }}" - "components.jobs-api.port": "{{ zowe_jobs_api_port }}" - "components.files-api.port": "{{ zowe_mvs_api_port }}" # other gateway configs "components.gateway.apiml.gateway.timeoutMillis": "{{ zowe_apiml_gateway_timeout_millis }}" "components.gateway.apiml.security.x509.enabled": "{{ zowe_apiml_security_x509_enabled|string|lower }}" diff --git a/playbooks/roles/configure/defaults/main.yml b/playbooks/roles/configure/defaults/main.yml index 24ff9b6446..5dffe41823 100644 --- a/playbooks/roles/configure/defaults/main.yml +++ b/playbooks/roles/configure/defaults/main.yml @@ -7,14 +7,11 @@ zowe_core_components: - gateway - cloud-gateway -- metrics-service - api-catalog - discovery - caching-service - app-server - zss -- jobs-api -- files-api - explorer-jes - explorer-mvs - explorer-uss @@ -54,7 +51,6 @@ zos_zosmf_user: IZUSVR # default z/OSMF Certificate Authority zos_zosmf_ca: # APIML ports -zowe_apiml_metrics_service_port: 7551 zowe_apiml_catalog_port: 7552 zowe_apiml_discovery_port: 7553 zowe_apiml_gateway_port: 7554 diff --git a/playbooks/roles/configure/tasks/main.yml b/playbooks/roles/configure/tasks/main.yml index 0cc6b1f017..2b979c1b6b 100644 --- a/playbooks/roles/configure/tasks/main.yml +++ b/playbooks/roles/configure/tasks/main.yml @@ -284,14 +284,11 @@ configs: "components.gateway.port": "{{ zowe_apiml_gateway_port }}" "components.cloud-gateway.port": "{{ zowe_apiml_cloud_gateway_port }}" - "components.metrics-service.port": "{{ zowe_apiml_metrics_service_port }}" "components.api-catalog.port": "{{ zowe_apiml_catalog_port }}" "components.discovery.port": "{{ zowe_apiml_discovery_port }}" "components.caching-service.port": "{{ zowe_caching_service_port }}" "components.app-server.port": "{{ zowe_zlux_port }}" "components.zss.port": "{{ zowe_zss_port }}" - "components.jobs-api.port": "{{ zowe_jobs_api_port }}" - "components.files-api.port": "{{ zowe_mvs_api_port }}" # other gateway configs "components.gateway.apiml.gateway.timeoutMillis": "{{ zowe_apiml_gateway_timeout_millis }}" "components.gateway.apiml.security.x509.enabled": "{{ zowe_apiml_security_x509_enabled|string|lower }}" diff --git a/playbooks/roles/custom_for_test/defaults/main.yml b/playbooks/roles/custom_for_test/defaults/main.yml index 0f223bc20e..b3dc868cf1 100644 --- a/playbooks/roles/custom_for_test/defaults/main.yml +++ b/playbooks/roles/custom_for_test/defaults/main.yml @@ -7,14 +7,11 @@ zowe_core_components: - gateway - cloud-gateway -- metrics-service - api-catalog - discovery - caching-service - app-server - zss -- jobs-api -- files-api - explorer-jes - explorer-mvs - explorer-uss @@ -54,7 +51,6 @@ zos_zosmf_user: IZUSVR # default z/OSMF Certificate Authority zos_zosmf_ca: # APIML ports -zowe_apiml_metrics_service_port: 7551 zowe_apiml_catalog_port: 7552 zowe_apiml_discovery_port: 7553 zowe_apiml_gateway_port: 7554 diff --git a/playbooks/roles/kubernetes/defaults/main.yml b/playbooks/roles/kubernetes/defaults/main.yml index 98867d5662..836ba1bc08 100644 --- a/playbooks/roles/kubernetes/defaults/main.yml +++ b/playbooks/roles/kubernetes/defaults/main.yml @@ -48,4 +48,4 @@ k8s_gateway_domain: k8s_discovery_domain: #list of the apps required for zowe -k8s_required_apps: ["api-catalog", "app-server", "caching", "discovery", "files-api", "gateway", "jobs-api"] +k8s_required_apps: ["api-catalog", "app-server", "caching", "discovery", "gateway"] diff --git a/playbooks/roles/start/tasks/wait_for_zowe.yml b/playbooks/roles/start/tasks/wait_for_zowe.yml index 9d24092d02..48cbbcecbd 100644 --- a/playbooks/roles/start/tasks/wait_for_zowe.yml +++ b/playbooks/roles/start/tasks/wait_for_zowe.yml @@ -84,25 +84,6 @@ # hide log to avoid exposing zowe_test_user and zowe_test_password no_log: True -- name: Wait for Jobs API port {{ zowe_jobs_api_port }} to be available - uri: - url: "https://{{ zowe_zos_host }}:{{ zowe_jobs_api_port }}/jobs/api/v1?prefix=ZWE*&status=ACTIVE" - url_password: "{{ zowe_test_password }}" - url_username: "{{ zowe_test_user }}" - follow_redirects: none - method: GET - validate_certs: false - register: _result - until: _result.status == 200 - retries: "{{ wait_for_zowe_service_retries | int }}" - delay: "{{ wait_for_zowe_service_delay | int }}" - # if zowe_zos_host and zowe_external_domain_name are not same, zlux could be - # started off z/OS and then we couldn't test right now - when: zowe_zos_host == zowe_external_domain_name and (zowe_launch_components is not none and "jobs-api" in zowe_launch_components) - delegate_to: localhost - # hide log to avoid exposing zowe_test_user and zowe_test_password - no_log: True - - name: Wait for Desktop at {{zowe_zos_host}} port {{ zowe_zlux_port }} to be available uri: url: "https://{{ zowe_zos_host }}:{{ zowe_zlux_port }}" diff --git a/smpe/bld/smpe-split.sh b/smpe/bld/smpe-split.sh index c38c2c80ac..04552cbf37 100755 --- a/smpe/bld/smpe-split.sh +++ b/smpe/bld/smpe-split.sh @@ -105,8 +105,6 @@ list="$list components/caching-service" # pax02 list="$list components/discovery" # pax03 list="$list components/gateway" # pax04 list="$list components/app-server" # pax05 -list="$list components/files-api" # pax06 -list="$list components/jobs-api" # pax07 test "$debug" && echo "for f in $list" for f in $list diff --git a/tests/sanity/test/install/test-installed-files.js b/tests/sanity/test/install/test-installed-files.js index 8e78dc4ca5..d940029edb 100644 --- a/tests/sanity/test/install/test-installed-files.js +++ b/tests/sanity/test/install/test-installed-files.js @@ -32,10 +32,6 @@ describe('verify installed files', function() { await sshHelper.executeCommandWithNoError(`test -f ${process.env.ZOWE_ROOT_DIR}/bin/utils/opercmd.rex`); }); - it('components/jobs-api/bin/jobs-api-server-*.jar should exist', async function() { - await sshHelper.executeCommandWithNoError(`test -f ${process.env.ZOWE_ROOT_DIR}/components/jobs-api/bin/jobs-api-server-*.jar`); - }); - it('fingerprint directory should exist', async function() { await sshHelper.executeCommandWithNoError(`test -d ${process.env.ZOWE_ROOT_DIR}/fingerprint`); }); diff --git a/workflows/files/ZWECONF.properties b/workflows/files/ZWECONF.properties index 1e1efb1f38..f05ed10a14 100644 --- a/workflows/files/ZWECONF.properties +++ b/workflows/files/ZWECONF.properties @@ -392,30 +392,6 @@ components_gateway_server_internal_port=7550 # Enable gateway internal connector SSL components_gateway_server_internal_ssl_enabled=false -# components_metrics_service_enabled -# Label: Enable metrics service -# Abstract: Use this option to enable the metrics seervice -# Category: components -# Description: -# Use this option to enable the metrics seervice -components_metrics_service_enabled=false - -# components_metrics_service_port -# Label: Metrics service port -# Abstract: Port for the metrics service -# Category: components -# Description: -# Port for the metrics service -components_metrics_service_port=7551 - -# components_metrics_service_debug -# Label: Metrics service debug -# Abstract: Check this value to get additional debugging -# Category: components -# Description: -# Check this value to get additional debugging -components_metrics_service_debug=false - # components_api_catalog_enabled # Label: Enable API catalog # Abstract: Use this option to enable the API catalog diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml index 3f581d300b..e9a316bdbc 100644 --- a/workflows/files/ZWECONF.xml +++ b/workflows/files/ZWECONF.xml @@ -557,39 +557,6 @@ How we want to verify SSL certificates of services. Valid values are: false - - - Use this option to enable the metrics seervice - Use this option to enable the metrics seervice - components - - - - false - - - - - Port for the metrics service - Port for the metrics service - components - - - - 7551 - - - - - Check this value to get additional debugging - Check this value to get additional debugging - components - - - - false - - Use this option to enable the API catalog @@ -928,7 +895,6 @@ How we want to verify SSL certificates of services. Valid values are: - @@ -979,30 +945,6 @@ How we want to verify SSL certificates of services. Valid values are: false - - Metrics component variables - Specify the variables for the metrics component - - - 1 == 1 - Always true - - - Skipped if the metrics component was not selected - !${instance-components_metrics_service_enabled} - skipped - - - - - - Run this step to specify the metrics variables - 1 - z/OS System Programmer - false - false - - API Catalog Variables Variables for the API catalog @@ -1686,18 +1628,6 @@ echo ' # keystore:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' # alias: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -#if (${instance-components_metrics_service_enabled} == "true" ) -echo ' metrics-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' enabled: ${instance-components_metrics_service_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' port: ${instance-components_metrics_service_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' debug: ${instance-components_metrics_service_debug}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -#end -#if (${instance-components_metrics_service_enabled} == "false" ) -echo ' metrics-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' enabled: ${instance-components_metrics_service_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' port: 7551' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -#end echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" #if (${instance-components_api_catalog_enabled} == "true" ) @@ -1799,30 +1729,6 @@ echo ' tls: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" #end echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -#if (${instance-components_jobs_api_enabled} == "true" ) -echo ' jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' enabled: ${instance-components_jobs_api_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' port: ${instance-components_jobs_api_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -#end -#if (${instance-components_jobs_api_enabled} == "false" ) -echo ' jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' enabled: ${instance-components_jobs_api_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' port: 7558' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -#end -echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -#if (${instance-components_files_api_enabled} == "true" ) -echo ' files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' enabled: ${instance-components_files_api_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' port: ${instance-components_files_api_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -#end -#if (${instance-components_files_api_enabled} == "false" ) -echo ' files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' enabled: ${instance-components_files_api_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' port: 7559' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -#end -echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' explorer-jes:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' enabled: ${instance-components_explorer_jes_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" @@ -1879,12 +1785,6 @@ echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# zss:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# # no app-server in this instance' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# port: 18545' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# port: 18547' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# caching-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# port: 17555' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" @@ -1906,10 +1806,6 @@ echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# port: 28544' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# zss:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# port: 28542' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" -echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# caching-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" ]]> From ac6bded9bd3ab5db2f283d4dbadd761090f67478 Mon Sep 17 00:00:00 2001 From: Pavel Jares Date: Thu, 14 Mar 2024 08:10:28 +0100 Subject: [PATCH 48/60] Revert "remove jobs, dataset, metrics and ims" This reverts commit 1199ae023308627398bc4ecd36e6d7f3b59baf31. --- .pax/pre-packaging.sh | 2 +- README.md | 1 + bin/commands/internal/start/prepare/index.sh | 4 +- bin/commands/internal/start/prepare/index.ts | 4 +- bin/commands/migrate/for/kubernetes/index.sh | 4 + bin/libs/common.ts | 2 +- bin/libs/index.sh | 2 +- containers/kubernetes/samples/config-cm.yaml | 8 + .../files-api-hpa.yaml | 26 ++++ .../jobs-api-hpa.yaml | 26 ++++ .../pod-disruption-budget/files-api-pdb.yaml | 19 +++ .../pod-disruption-budget/jobs-api-pdb.yaml | 19 +++ .../workloads/files-api-deployment.yaml | 139 ++++++++++++++++++ .../workloads/jobs-api-deployment.yaml | 139 ++++++++++++++++++ example-zowe.yaml | 28 ++++ playbooks/all_host_vars_list.yml | 3 +- playbooks/roles/configfmid/defaults/main.yml | 4 + playbooks/roles/configfmid/tasks/main.yml | 3 + playbooks/roles/configure/defaults/main.yml | 4 + playbooks/roles/configure/tasks/main.yml | 3 + .../roles/custom_for_test/defaults/main.yml | 4 + playbooks/roles/kubernetes/defaults/main.yml | 2 +- playbooks/roles/start/tasks/wait_for_zowe.yml | 19 +++ smpe/bld/smpe-split.sh | 2 + .../test/install/test-installed-files.js | 4 + workflows/files/ZWECONF.properties | 24 +++ workflows/files/ZWECONF.xml | 104 +++++++++++++ 27 files changed, 590 insertions(+), 9 deletions(-) create mode 100644 containers/kubernetes/samples/horizontal-pod-autoscaler/files-api-hpa.yaml create mode 100644 containers/kubernetes/samples/horizontal-pod-autoscaler/jobs-api-hpa.yaml create mode 100644 containers/kubernetes/samples/pod-disruption-budget/files-api-pdb.yaml create mode 100644 containers/kubernetes/samples/pod-disruption-budget/jobs-api-pdb.yaml create mode 100644 containers/kubernetes/workloads/files-api-deployment.yaml create mode 100644 containers/kubernetes/workloads/jobs-api-deployment.yaml diff --git a/.pax/pre-packaging.sh b/.pax/pre-packaging.sh index a183f1e207..ce08684a60 100755 --- a/.pax/pre-packaging.sh +++ b/.pax/pre-packaging.sh @@ -282,7 +282,7 @@ EOT echo "[$SCRIPT_NAME] extract components" mkdir -p "${BASE_DIR}/logs" mkdir -p "${ZOWE_ROOT_DIR}/components" -for component in launcher zlux-core zss apiml-common-lib common-java-lib apiml-sample-extension gateway cloud-gateway caching-service discovery api-catalog explorer-jes explorer-mvs explorer-uss; do +for component in launcher zlux-core zss apiml-common-lib common-java-lib apiml-sample-extension gateway cloud-gateway caching-service metrics-service discovery api-catalog jobs-api files-api explorer-jes explorer-mvs explorer-uss; do echo "[$SCRIPT_NAME] - ${component}" component_file=$(find "${ZOWE_ROOT_DIR}/files" -type f \( -name "${component}*.pax" -o -name "${component}*.zip" \) | head -n 1) "${ZOWE_ROOT_DIR}/bin/zwe" \ diff --git a/README.md b/README.md index 3686e6f720..b913752be2 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,7 @@ For each Zowe component, we have point of contact(s) in case if we want to confi - zowe-cli-mq-plugin - zowe-cli-scs-plugin - zowe-cli-ftp-plugin + - zowe-cli-ims-plugin - Explorer (Visual Studio Code Extension): Fernando Rijo Cedeno, Mark Ackert * Source Dependencies - vscode-extension-for-zowe diff --git a/bin/commands/internal/start/prepare/index.sh b/bin/commands/internal/start/prepare/index.sh index 8b397fee03..7927fbd231 100644 --- a/bin/commands/internal/start/prepare/index.sh +++ b/bin/commands/internal/start/prepare/index.sh @@ -128,7 +128,7 @@ global_validate() { validate_this "validate_node_home 2>&1" "zwe-internal-start-prepare,global_validate:${LINENO}" # validate java for some core components - if [[ ${ZWE_ENABLED_COMPONENTS} == *"gateway"* || ${ZWE_ENABLED_COMPONENTS} == *"cloud-gateway"* || ${ZWE_ENABLED_COMPONENTS} == *"discovery"* || ${ZWE_ENABLED_COMPONENTS} == *"api-catalog"* || ${ZWE_ENABLED_COMPONENTS} == *"caching-service"* ]]; then + if [[ ${ZWE_ENABLED_COMPONENTS} == *"gateway"* || ${ZWE_ENABLED_COMPONENTS} == *"cloud-gateway"* || ${ZWE_ENABLED_COMPONENTS} == *"discovery"* || ${ZWE_ENABLED_COMPONENTS} == *"api-catalog"* || ${ZWE_ENABLED_COMPONENTS} == *"caching-service"* || ${ZWE_ENABLED_COMPONENTS} == *"metrics-service"* || ${ZWE_ENABLED_COMPONENTS} == *"files-api"* || ${ZWE_ENABLED_COMPONENTS} == *"jobs-api"* ]]; then validate_this "validate_java_home 2>&1" "zwe-internal-start-prepare,global_validate:${LINENO}" fi else @@ -139,7 +139,7 @@ global_validate() { # validate z/OSMF for some core components if [ -n "${ZOSMF_HOST}" -a -n "${ZOSMF_PORT}" ]; then - if [[ ${ZWE_ENABLED_COMPONENTS} == *"discovery"* ]]; then + if [[ ${ZWE_ENABLED_COMPONENTS} == *"discovery"* || ${ZWE_ENABLED_COMPONENTS} == *"files-api"* || ${ZWE_ENABLED_COMPONENTS} == *"jobs-api"* ]]; then validate_this "validate_zosmf_host_and_port \"${ZOSMF_HOST}\" \"${ZOSMF_PORT}\" 2>&1" "zwe-internal-start-prepare,global_validate:${LINENO}" fi elif [ "${ZWE_components_gateway_apiml_security_auth_provider}" = "zosmf" ]; then diff --git a/bin/commands/internal/start/prepare/index.ts b/bin/commands/internal/start/prepare/index.ts index ffd8638890..98b2bffec5 100644 --- a/bin/commands/internal/start/prepare/index.ts +++ b/bin/commands/internal/start/prepare/index.ts @@ -146,7 +146,7 @@ function globalValidate(enabledComponents:string[]): void { // validate java for some core components //TODO this should be a manifest parameter that you require java, not a hardcoded list. What if extensions require it? - if (enabledComponents.includes('gateway') || enabledComponents.includes('cloud-gateway') || enabledComponents.includes('discovery') || enabledComponents.includes('api-catalog') || enabledComponents.includes('caching-service')) { + if (enabledComponents.includes('gateway') || enabledComponents.includes('cloud-gateway') || enabledComponents.includes('discovery') || enabledComponents.includes('api-catalog') || enabledComponents.includes('caching-service') || enabledComponents.includes('metrics-service') || enabledComponents.includes('files-api') || enabledComponents.includes('jobs-api')) { let javaOk = java.validateJavaHome(); if (!javaOk) { privateErrors++; @@ -165,7 +165,7 @@ function globalValidate(enabledComponents:string[]): void { // validate z/OSMF for some core components if (zosmfHost && zosmfPort) { - if (enabledComponents.includes('discovery')) { + if (enabledComponents.includes('discovery') || enabledComponents.includes('files-api') || enabledComponents.includes('jobs-api')) { let zosmfOk = zosmf.validateZosmfHostAndPort(zosmfHost, zosmfPort); if (!zosmfOk) { privateErrors++; diff --git a/bin/commands/migrate/for/kubernetes/index.sh b/bin/commands/migrate/for/kubernetes/index.sh index 7f421ea181..b957ea19db 100644 --- a/bin/commands/migrate/for/kubernetes/index.sh +++ b/bin/commands/migrate/for/kubernetes/index.sh @@ -208,12 +208,16 @@ update_zowe_yaml "${temp_dir}/zowe.yaml" "components.discovery.port" "7553" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.api-catalog.port" "7552" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.caching-service.port" "7555" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.app-server.port" "7556" +update_zowe_yaml "${temp_dir}/zowe.yaml" "components.jobs-api.port" "8545" +update_zowe_yaml "${temp_dir}/zowe.yaml" "components.files-api.port" "8547" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.gateway.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.discovery.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.api-catalog.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.caching-service.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.app-server.enabled" "true" +update_zowe_yaml "${temp_dir}/zowe.yaml" "components.jobs-api.enabled" "true" +update_zowe_yaml "${temp_dir}/zowe.yaml" "components.files-api.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.explorer-jes.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.explorer-mvs.enabled" "true" update_zowe_yaml "${temp_dir}/zowe.yaml" "components.explorer-uss.enabled" "true" diff --git a/bin/libs/common.ts b/bin/libs/common.ts index 2245cd8d31..7eabf33f5f 100644 --- a/bin/libs/common.ts +++ b/bin/libs/common.ts @@ -374,6 +374,6 @@ std.setenv('ZWE_PRIVATE_DEFAULT_ZIS_USER', 'ZWESIUSR'); std.setenv('ZWE_PRIVATE_DEFAULT_ZOWE_STC', 'ZWESLSTC'); std.setenv('ZWE_PRIVATE_DEFAULT_ZIS_STC', 'ZWESISTC'); std.setenv('ZWE_PRIVATE_DEFAULT_AUX_STC', 'ZWESASTC'); -std.setenv('ZWE_PRIVATE_CORE_COMPONENTS_REQUIRE_JAVA', 'gateway,cloud-gateway,discovery,api-catalog,caching-service'); +std.setenv('ZWE_PRIVATE_CORE_COMPONENTS_REQUIRE_JAVA', 'gateway,cloud-gateway,discovery,api-catalog,caching-service,metrics-service,files-api,jobs-api'); std.setenv('ZWE_PRIVATE_CLI_LIBRARY_LOADED', 'true'); diff --git a/bin/libs/index.sh b/bin/libs/index.sh index c70833e610..cf291d5e19 100755 --- a/bin/libs/index.sh +++ b/bin/libs/index.sh @@ -27,7 +27,7 @@ export ZWE_PRIVATE_DEFAULT_ZIS_USER=ZWESIUSR export ZWE_PRIVATE_DEFAULT_ZOWE_STC=ZWESLSTC export ZWE_PRIVATE_DEFAULT_ZIS_STC=ZWESISTC export ZWE_PRIVATE_DEFAULT_AUX_STC=ZWESASTC -export ZWE_PRIVATE_CORE_COMPONENTS_REQUIRE_JAVA=gateway,cloud-gateway,discovery,api-catalog,caching-service +export ZWE_PRIVATE_CORE_COMPONENTS_REQUIRE_JAVA=gateway,cloud-gateway,discovery,api-catalog,caching-service,metrics-service,files-api,jobs-api . "${ZWE_zowe_runtimeDirectory}/bin/libs/certificate.sh" . "${ZWE_zowe_runtimeDirectory}/bin/libs/container.sh" diff --git a/containers/kubernetes/samples/config-cm.yaml b/containers/kubernetes/samples/config-cm.yaml index 1f53d349d6..51f019ce13 100644 --- a/containers/kubernetes/samples/config-cm.yaml +++ b/containers/kubernetes/samples/config-cm.yaml @@ -122,6 +122,14 @@ data: tls: true crossMemoryServerName: ZWESIS_STD + jobs-api: + enabled: true + port: 8545 + + files-api: + enabled: true + port: 8547 + explorer-jes: enabled: true diff --git a/containers/kubernetes/samples/horizontal-pod-autoscaler/files-api-hpa.yaml b/containers/kubernetes/samples/horizontal-pod-autoscaler/files-api-hpa.yaml new file mode 100644 index 0000000000..0843dc9a37 --- /dev/null +++ b/containers/kubernetes/samples/horizontal-pod-autoscaler/files-api-hpa.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: autoscaling/v2beta2 +kind: HorizontalPodAutoscaler +metadata: + name: files-api-hpa + namespace: zowe + labels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/version: "2.1.0" + app.kubernetes.io/component: hpa + app.kubernetes.io/managed-by: manual +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: files-api + minReplicas: 1 + maxReplicas: 3 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 70 diff --git a/containers/kubernetes/samples/horizontal-pod-autoscaler/jobs-api-hpa.yaml b/containers/kubernetes/samples/horizontal-pod-autoscaler/jobs-api-hpa.yaml new file mode 100644 index 0000000000..3ad0a8ae35 --- /dev/null +++ b/containers/kubernetes/samples/horizontal-pod-autoscaler/jobs-api-hpa.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: autoscaling/v2beta2 +kind: HorizontalPodAutoscaler +metadata: + name: jobs-api-hpa + namespace: zowe + labels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/version: "2.1.0" + app.kubernetes.io/component: hpa + app.kubernetes.io/managed-by: manual +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: jobs-api + minReplicas: 1 + maxReplicas: 3 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 70 diff --git a/containers/kubernetes/samples/pod-disruption-budget/files-api-pdb.yaml b/containers/kubernetes/samples/pod-disruption-budget/files-api-pdb.yaml new file mode 100644 index 0000000000..ba4e9ad5a4 --- /dev/null +++ b/containers/kubernetes/samples/pod-disruption-budget/files-api-pdb.yaml @@ -0,0 +1,19 @@ +--- +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + name: files-api-pdb + namespace: zowe + labels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/version: "2.1.0" + app.kubernetes.io/component: pdb + app.kubernetes.io/managed-by: manual +spec: + minAvailable: 1 + selector: + matchLabels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/component: files-api diff --git a/containers/kubernetes/samples/pod-disruption-budget/jobs-api-pdb.yaml b/containers/kubernetes/samples/pod-disruption-budget/jobs-api-pdb.yaml new file mode 100644 index 0000000000..5bc883a5a1 --- /dev/null +++ b/containers/kubernetes/samples/pod-disruption-budget/jobs-api-pdb.yaml @@ -0,0 +1,19 @@ +--- +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + name: jobs-api-pdb + namespace: zowe + labels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/version: "2.1.0" + app.kubernetes.io/component: pdb + app.kubernetes.io/managed-by: manual +spec: + minAvailable: 1 + selector: + matchLabels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/component: jobs-api diff --git a/containers/kubernetes/workloads/files-api-deployment.yaml b/containers/kubernetes/workloads/files-api-deployment.yaml new file mode 100644 index 0000000000..b365d0fcc7 --- /dev/null +++ b/containers/kubernetes/workloads/files-api-deployment.yaml @@ -0,0 +1,139 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: files-api + namespace: zowe + labels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/version: "2.1.0" + app.kubernetes.io/component: files-api + app.kubernetes.io/part-of: explorer-api + app.kubernetes.io/managed-by: manual +spec: + selector: + matchLabels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/component: files-api + template: + metadata: + labels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/component: files-api + spec: + securityContext: + runAsUser: 20000 + runAsGroup: 20000 + fsGroup: 20000 + runAsNonRoot: true + serviceAccountName: zowe-sa + volumes: + - name: tmp + emptyDir: {} + - name: zowe-runtime + emptyDir: {} + - name: zowe-config + configMap: + name: zowe-config + - name: zowe-keystore + projected: + sources: + - secret: + name: zowe-certificates-secret + - name: zowe-logs + emptyDir: {} + - name: zowe-workspace + persistentVolumeClaim: + claimName: zowe-workspace-pvc + containers: + - name: files-api + image: zowe-docker-release.jfrog.io/ompzowe/files-api:2.0.10-ubuntu + imagePullPolicy: Always + resources: + requests: + memory: "256Mi" + cpu: "50m" + limits: + memory: "384Mi" + cpu: "300m" + ports: + - name: files-api-port + containerPort: 8547 + protocol: TCP + startupProbe: + tcpSocket: + port: 8547 + # this should give 60 * periodSeconds(default to 10) seconds about 10 minutes to confirm it's ready + periodSeconds: 10 + failureThreshold: 60 + livenessProbe: + tcpSocket: + port: 8547 + # this should give 3 * periodSeconds(default to 10) seconds about 30 seconds to confirm it's offline + periodSeconds: 10 + failureThreshold: 3 + command: ["/bin/bash", "-c"] + args: + - "/home/zowe/runtime/bin/zwe internal start -c /home/zowe/instance/zowe.yaml" + env: + - name: ZWE_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + lifecycle: + preStop: + exec: + command: ["/bin/sh", "-c", "/home/zowe/runtime/bin/zwe internal container prestop -c /home/zowe/instance/zowe.yaml"] + securityContext: + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + privileged: false + runAsNonRoot: true + capabilities: + drop: + - all + volumeMounts: + - name: tmp + mountPath: /tmp + - name: zowe-runtime + mountPath: "/home/zowe/runtime" + - name: zowe-config + mountPath: "/home/zowe/instance/zowe.yaml" + subPath: zowe.yaml + readOnly: true + - name: zowe-keystore + mountPath: "/home/zowe/keystore" + readOnly: true + - name: zowe-logs + mountPath: "/home/zowe/instance/logs" + - name: zowe-workspace + mountPath: "/home/zowe/instance/workspace" + initContainers: + - name: init-zowe + image: zowe-docker-snapshot.jfrog.io/ompzowe/zowe-launch-scripts:2.5.0-ubuntu.v2-x-staging + imagePullPolicy: Always + resources: + requests: + memory: "64Mi" + cpu: "10m" + limits: + memory: "128Mi" + cpu: "100m" + securityContext: + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + privileged: false + runAsNonRoot: true + capabilities: + drop: + - all + volumeMounts: + - name: tmp + mountPath: /tmp + - name: zowe-runtime + mountPath: "/home/zowe/runtime" + - name: zowe-workspace + mountPath: "/home/zowe/instance/workspace" diff --git a/containers/kubernetes/workloads/jobs-api-deployment.yaml b/containers/kubernetes/workloads/jobs-api-deployment.yaml new file mode 100644 index 0000000000..e331293a33 --- /dev/null +++ b/containers/kubernetes/workloads/jobs-api-deployment.yaml @@ -0,0 +1,139 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jobs-api + namespace: zowe + labels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/version: "2.1.0" + app.kubernetes.io/component: jobs-api + app.kubernetes.io/part-of: explorer-api + app.kubernetes.io/managed-by: manual +spec: + selector: + matchLabels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/component: jobs-api + template: + metadata: + labels: + app.kubernetes.io/name: zowe + app.kubernetes.io/instance: zowe + app.kubernetes.io/component: jobs-api + spec: + securityContext: + runAsUser: 20000 + runAsGroup: 20000 + fsGroup: 20000 + runAsNonRoot: true + serviceAccountName: zowe-sa + volumes: + - name: tmp + emptyDir: {} + - name: zowe-runtime + emptyDir: {} + - name: zowe-config + configMap: + name: zowe-config + - name: zowe-keystore + projected: + sources: + - secret: + name: zowe-certificates-secret + - name: zowe-logs + emptyDir: {} + - name: zowe-workspace + persistentVolumeClaim: + claimName: zowe-workspace-pvc + containers: + - name: jobs-api + image: zowe-docker-release.jfrog.io/ompzowe/jobs-api:2.0.10-ubuntu + imagePullPolicy: Always + resources: + requests: + memory: "256Mi" + cpu: "50m" + limits: + memory: "384Mi" + cpu: "300m" + ports: + - name: jobs-api-port + containerPort: 8545 + protocol: TCP + startupProbe: + tcpSocket: + port: 8545 + # this should give 60 * periodSeconds(default to 10) seconds about 10 minutes to confirm it's ready + periodSeconds: 10 + failureThreshold: 60 + livenessProbe: + tcpSocket: + port: 8545 + # this should give 3 * periodSeconds(default to 10) seconds about 30 seconds to confirm it's offline + periodSeconds: 10 + failureThreshold: 3 + command: ["/bin/bash", "-c"] + args: + - "/home/zowe/runtime/bin/zwe internal start -c /home/zowe/instance/zowe.yaml" + env: + - name: ZWE_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + lifecycle: + preStop: + exec: + command: ["/bin/sh", "-c", "/home/zowe/runtime/bin/zwe internal container prestop -c /home/zowe/instance/zowe.yaml"] + securityContext: + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + privileged: false + runAsNonRoot: true + capabilities: + drop: + - all + volumeMounts: + - name: tmp + mountPath: /tmp + - name: zowe-runtime + mountPath: "/home/zowe/runtime" + - name: zowe-config + mountPath: "/home/zowe/instance/zowe.yaml" + subPath: zowe.yaml + readOnly: true + - name: zowe-keystore + mountPath: "/home/zowe/keystore" + readOnly: true + - name: zowe-logs + mountPath: "/home/zowe/instance/logs" + - name: zowe-workspace + mountPath: "/home/zowe/instance/workspace" + initContainers: + - name: init-zowe + image: zowe-docker-snapshot.jfrog.io/ompzowe/zowe-launch-scripts:2.5.0-ubuntu.v2-x-staging + imagePullPolicy: Always + resources: + requests: + memory: "64Mi" + cpu: "10m" + limits: + memory: "128Mi" + cpu: "100m" + securityContext: + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + privileged: false + runAsNonRoot: true + capabilities: + drop: + - all + volumeMounts: + - name: tmp + mountPath: /tmp + - name: zowe-runtime + mountPath: "/home/zowe/runtime" + - name: zowe-workspace + mountPath: "/home/zowe/instance/workspace" diff --git a/example-zowe.yaml b/example-zowe.yaml index 0e6d526dd4..d8028ac1dd 100644 --- a/example-zowe.yaml +++ b/example-zowe.yaml @@ -529,6 +529,12 @@ components: # keystore: # alias: "" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + metrics-service: + enabled: false + port: 7551 + debug: false + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cloud-gateway: enabled: false @@ -594,6 +600,18 @@ components: fallback: true 64bit: true + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + jobs-api: + enabled: false + debug: false + port: 7558 + + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + files-api: + enabled: false + debug: false + port: 7559 + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> explorer-jes: enabled: true @@ -652,6 +670,12 @@ components: # zss: # # no app-server in this instance # enabled: false +# jobs-api: +# port: 18545 +# enabled: true +# files-api: +# port: 18547 +# enabled: true # caching-service: # port: 17555 # @@ -673,5 +697,9 @@ components: # port: 28544 # zss: # port: 28542 +# jobs-api: +# enabled: true +# files-api: +# enabled: false # caching-service: # enabled: false diff --git a/playbooks/all_host_vars_list.yml b/playbooks/all_host_vars_list.yml index 6d0c540f8b..d3528c7fa7 100644 --- a/playbooks/all_host_vars_list.yml +++ b/playbooks/all_host_vars_list.yml @@ -12,7 +12,7 @@ k8s_gateway_domain: k8s_list_domain_ip: localhost k8s_networking: k8s_pv_name: -k8s_required_apps: ["api-catalog", "app-server", "caching", "explorer-jes", "explorer-mvs", "explorer-uss", "discovery", "gateway"] +k8s_required_apps: ["api-catalog", "app-server", "caching", "explorer-jes", "explorer-mvs", "explorer-uss", "discovery", "files-api", "gateway", "jobs-api"] k8s_service: loadbalancer k8s_storageclass: kubeconfig: @@ -30,6 +30,7 @@ zowe_apiml_discovery_port: 7553 zowe_apiml_gateway_port: 7554 zowe_apiml_cloud_gateway_port: 7563 zowe_apiml_gateway_timeout_millis: 600000 +zowe_apiml_metrics_service_port: 7551 zowe_apiml_nonstrict_verify_certficates_of_services: true zowe_apiml_security_auth_provider: zosmf zowe_apiml_security_x509_enabled: false diff --git a/playbooks/roles/configfmid/defaults/main.yml b/playbooks/roles/configfmid/defaults/main.yml index aea2263053..322e90b06d 100644 --- a/playbooks/roles/configfmid/defaults/main.yml +++ b/playbooks/roles/configfmid/defaults/main.yml @@ -7,11 +7,14 @@ zowe_core_components: - gateway - cloud-gateway +- metrics-service - api-catalog - discovery - caching-service - app-server - zss +- jobs-api +- files-api - explorer-jes - explorer-mvs - explorer-uss @@ -51,6 +54,7 @@ zos_zosmf_user: IZUSVR # default z/OSMF Certificate Authority zos_zosmf_ca: # APIML ports +zowe_apiml_metrics_service_port: 7551 zowe_apiml_catalog_port: 7552 zowe_apiml_discovery_port: 7553 zowe_apiml_gateway_port: 7554 diff --git a/playbooks/roles/configfmid/tasks/main.yml b/playbooks/roles/configfmid/tasks/main.yml index ff601ce238..7b2ad2c6c5 100644 --- a/playbooks/roles/configfmid/tasks/main.yml +++ b/playbooks/roles/configfmid/tasks/main.yml @@ -282,11 +282,14 @@ vars: configs: "components.gateway.port": "{{ zowe_apiml_gateway_port }}" + "components.metrics-service.port": "{{ zowe_apiml_metrics_service_port }}" "components.api-catalog.port": "{{ zowe_apiml_catalog_port }}" "components.discovery.port": "{{ zowe_apiml_discovery_port }}" "components.caching-service.port": "{{ zowe_caching_service_port }}" "components.app-server.port": "{{ zowe_zlux_port }}" "components.zss.port": "{{ zowe_zss_port }}" + "components.jobs-api.port": "{{ zowe_jobs_api_port }}" + "components.files-api.port": "{{ zowe_mvs_api_port }}" # other gateway configs "components.gateway.apiml.gateway.timeoutMillis": "{{ zowe_apiml_gateway_timeout_millis }}" "components.gateway.apiml.security.x509.enabled": "{{ zowe_apiml_security_x509_enabled|string|lower }}" diff --git a/playbooks/roles/configure/defaults/main.yml b/playbooks/roles/configure/defaults/main.yml index 5dffe41823..24ff9b6446 100644 --- a/playbooks/roles/configure/defaults/main.yml +++ b/playbooks/roles/configure/defaults/main.yml @@ -7,11 +7,14 @@ zowe_core_components: - gateway - cloud-gateway +- metrics-service - api-catalog - discovery - caching-service - app-server - zss +- jobs-api +- files-api - explorer-jes - explorer-mvs - explorer-uss @@ -51,6 +54,7 @@ zos_zosmf_user: IZUSVR # default z/OSMF Certificate Authority zos_zosmf_ca: # APIML ports +zowe_apiml_metrics_service_port: 7551 zowe_apiml_catalog_port: 7552 zowe_apiml_discovery_port: 7553 zowe_apiml_gateway_port: 7554 diff --git a/playbooks/roles/configure/tasks/main.yml b/playbooks/roles/configure/tasks/main.yml index 2b979c1b6b..0cc6b1f017 100644 --- a/playbooks/roles/configure/tasks/main.yml +++ b/playbooks/roles/configure/tasks/main.yml @@ -284,11 +284,14 @@ configs: "components.gateway.port": "{{ zowe_apiml_gateway_port }}" "components.cloud-gateway.port": "{{ zowe_apiml_cloud_gateway_port }}" + "components.metrics-service.port": "{{ zowe_apiml_metrics_service_port }}" "components.api-catalog.port": "{{ zowe_apiml_catalog_port }}" "components.discovery.port": "{{ zowe_apiml_discovery_port }}" "components.caching-service.port": "{{ zowe_caching_service_port }}" "components.app-server.port": "{{ zowe_zlux_port }}" "components.zss.port": "{{ zowe_zss_port }}" + "components.jobs-api.port": "{{ zowe_jobs_api_port }}" + "components.files-api.port": "{{ zowe_mvs_api_port }}" # other gateway configs "components.gateway.apiml.gateway.timeoutMillis": "{{ zowe_apiml_gateway_timeout_millis }}" "components.gateway.apiml.security.x509.enabled": "{{ zowe_apiml_security_x509_enabled|string|lower }}" diff --git a/playbooks/roles/custom_for_test/defaults/main.yml b/playbooks/roles/custom_for_test/defaults/main.yml index b3dc868cf1..0f223bc20e 100644 --- a/playbooks/roles/custom_for_test/defaults/main.yml +++ b/playbooks/roles/custom_for_test/defaults/main.yml @@ -7,11 +7,14 @@ zowe_core_components: - gateway - cloud-gateway +- metrics-service - api-catalog - discovery - caching-service - app-server - zss +- jobs-api +- files-api - explorer-jes - explorer-mvs - explorer-uss @@ -51,6 +54,7 @@ zos_zosmf_user: IZUSVR # default z/OSMF Certificate Authority zos_zosmf_ca: # APIML ports +zowe_apiml_metrics_service_port: 7551 zowe_apiml_catalog_port: 7552 zowe_apiml_discovery_port: 7553 zowe_apiml_gateway_port: 7554 diff --git a/playbooks/roles/kubernetes/defaults/main.yml b/playbooks/roles/kubernetes/defaults/main.yml index 836ba1bc08..98867d5662 100644 --- a/playbooks/roles/kubernetes/defaults/main.yml +++ b/playbooks/roles/kubernetes/defaults/main.yml @@ -48,4 +48,4 @@ k8s_gateway_domain: k8s_discovery_domain: #list of the apps required for zowe -k8s_required_apps: ["api-catalog", "app-server", "caching", "discovery", "gateway"] +k8s_required_apps: ["api-catalog", "app-server", "caching", "discovery", "files-api", "gateway", "jobs-api"] diff --git a/playbooks/roles/start/tasks/wait_for_zowe.yml b/playbooks/roles/start/tasks/wait_for_zowe.yml index 48cbbcecbd..9d24092d02 100644 --- a/playbooks/roles/start/tasks/wait_for_zowe.yml +++ b/playbooks/roles/start/tasks/wait_for_zowe.yml @@ -84,6 +84,25 @@ # hide log to avoid exposing zowe_test_user and zowe_test_password no_log: True +- name: Wait for Jobs API port {{ zowe_jobs_api_port }} to be available + uri: + url: "https://{{ zowe_zos_host }}:{{ zowe_jobs_api_port }}/jobs/api/v1?prefix=ZWE*&status=ACTIVE" + url_password: "{{ zowe_test_password }}" + url_username: "{{ zowe_test_user }}" + follow_redirects: none + method: GET + validate_certs: false + register: _result + until: _result.status == 200 + retries: "{{ wait_for_zowe_service_retries | int }}" + delay: "{{ wait_for_zowe_service_delay | int }}" + # if zowe_zos_host and zowe_external_domain_name are not same, zlux could be + # started off z/OS and then we couldn't test right now + when: zowe_zos_host == zowe_external_domain_name and (zowe_launch_components is not none and "jobs-api" in zowe_launch_components) + delegate_to: localhost + # hide log to avoid exposing zowe_test_user and zowe_test_password + no_log: True + - name: Wait for Desktop at {{zowe_zos_host}} port {{ zowe_zlux_port }} to be available uri: url: "https://{{ zowe_zos_host }}:{{ zowe_zlux_port }}" diff --git a/smpe/bld/smpe-split.sh b/smpe/bld/smpe-split.sh index 04552cbf37..c38c2c80ac 100755 --- a/smpe/bld/smpe-split.sh +++ b/smpe/bld/smpe-split.sh @@ -105,6 +105,8 @@ list="$list components/caching-service" # pax02 list="$list components/discovery" # pax03 list="$list components/gateway" # pax04 list="$list components/app-server" # pax05 +list="$list components/files-api" # pax06 +list="$list components/jobs-api" # pax07 test "$debug" && echo "for f in $list" for f in $list diff --git a/tests/sanity/test/install/test-installed-files.js b/tests/sanity/test/install/test-installed-files.js index d940029edb..8e78dc4ca5 100644 --- a/tests/sanity/test/install/test-installed-files.js +++ b/tests/sanity/test/install/test-installed-files.js @@ -32,6 +32,10 @@ describe('verify installed files', function() { await sshHelper.executeCommandWithNoError(`test -f ${process.env.ZOWE_ROOT_DIR}/bin/utils/opercmd.rex`); }); + it('components/jobs-api/bin/jobs-api-server-*.jar should exist', async function() { + await sshHelper.executeCommandWithNoError(`test -f ${process.env.ZOWE_ROOT_DIR}/components/jobs-api/bin/jobs-api-server-*.jar`); + }); + it('fingerprint directory should exist', async function() { await sshHelper.executeCommandWithNoError(`test -d ${process.env.ZOWE_ROOT_DIR}/fingerprint`); }); diff --git a/workflows/files/ZWECONF.properties b/workflows/files/ZWECONF.properties index f05ed10a14..1e1efb1f38 100644 --- a/workflows/files/ZWECONF.properties +++ b/workflows/files/ZWECONF.properties @@ -392,6 +392,30 @@ components_gateway_server_internal_port=7550 # Enable gateway internal connector SSL components_gateway_server_internal_ssl_enabled=false +# components_metrics_service_enabled +# Label: Enable metrics service +# Abstract: Use this option to enable the metrics seervice +# Category: components +# Description: +# Use this option to enable the metrics seervice +components_metrics_service_enabled=false + +# components_metrics_service_port +# Label: Metrics service port +# Abstract: Port for the metrics service +# Category: components +# Description: +# Port for the metrics service +components_metrics_service_port=7551 + +# components_metrics_service_debug +# Label: Metrics service debug +# Abstract: Check this value to get additional debugging +# Category: components +# Description: +# Check this value to get additional debugging +components_metrics_service_debug=false + # components_api_catalog_enabled # Label: Enable API catalog # Abstract: Use this option to enable the API catalog diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml index e9a316bdbc..3f581d300b 100644 --- a/workflows/files/ZWECONF.xml +++ b/workflows/files/ZWECONF.xml @@ -557,6 +557,39 @@ How we want to verify SSL certificates of services. Valid values are: false + + + Use this option to enable the metrics seervice + Use this option to enable the metrics seervice + components + + + + false + + + + + Port for the metrics service + Port for the metrics service + components + + + + 7551 + + + + + Check this value to get additional debugging + Check this value to get additional debugging + components + + + + false + + Use this option to enable the API catalog @@ -895,6 +928,7 @@ How we want to verify SSL certificates of services. Valid values are: + @@ -945,6 +979,30 @@ How we want to verify SSL certificates of services. Valid values are: false + + Metrics component variables + Specify the variables for the metrics component + + + 1 == 1 + Always true + + + Skipped if the metrics component was not selected + !${instance-components_metrics_service_enabled} + skipped + + + + + + Run this step to specify the metrics variables + 1 + z/OS System Programmer + false + false + + API Catalog Variables Variables for the API catalog @@ -1628,6 +1686,18 @@ echo ' # keystore:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' # alias: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +#if (${instance-components_metrics_service_enabled} == "true" ) +echo ' metrics-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' enabled: ${instance-components_metrics_service_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' port: ${instance-components_metrics_service_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' debug: ${instance-components_metrics_service_debug}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +#end +#if (${instance-components_metrics_service_enabled} == "false" ) +echo ' metrics-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' enabled: ${instance-components_metrics_service_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' port: 7551' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +#end echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" #if (${instance-components_api_catalog_enabled} == "true" ) @@ -1729,6 +1799,30 @@ echo ' tls: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" #end echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +#if (${instance-components_jobs_api_enabled} == "true" ) +echo ' jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' enabled: ${instance-components_jobs_api_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' port: ${instance-components_jobs_api_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +#end +#if (${instance-components_jobs_api_enabled} == "false" ) +echo ' jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' enabled: ${instance-components_jobs_api_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' port: 7558' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +#end +echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +#if (${instance-components_files_api_enabled} == "true" ) +echo ' files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' enabled: ${instance-components_files_api_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' port: ${instance-components_files_api_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +#end +#if (${instance-components_files_api_enabled} == "false" ) +echo ' files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' enabled: ${instance-components_files_api_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' port: 7559' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +#end +echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' explorer-jes:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo ' enabled: ${instance-components_explorer_jes_enabled}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" @@ -1785,6 +1879,12 @@ echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# zss:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# # no app-server in this instance' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# port: 18545' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# port: 18547' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# caching-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# port: 17555' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" @@ -1806,6 +1906,10 @@ echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# port: 28544' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# zss:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# port: 28542' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" +echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# caching-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml" ]]> From 172ac59b7a4ed02f8a494ce7514f38db65658f9b Mon Sep 17 00:00:00 2001 From: Pavel Jares Date: Thu, 14 Mar 2024 08:10:31 +0100 Subject: [PATCH 49/60] Revert "update number of components" This reverts commit a7274c1f4abe2360d10703d2a0dad056a05ff556. --- .github/workflows/build-packaging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-packaging.yml b/.github/workflows/build-packaging.yml index 14e654e51c..dc6dda480d 100644 --- a/.github/workflows/build-packaging.yml +++ b/.github/workflows/build-packaging.yml @@ -178,7 +178,7 @@ jobs: with: manifest-file-path: ${{ github.workspace }}/manifest.json default-target-path: .pax/binaryDependencies/ - expected-count: 27 + expected-count: 30 # this step is not doing a publish, we are just utilizing this actions to get the PUBLISH_TARGET_PATH, # and it will be used in the next step: [Download 3] Download SMPE build log From f75840bc19b4527964a8580f85dcaaffb3256e33 Mon Sep 17 00:00:00 2001 From: Pavel Jares Date: Thu, 14 Mar 2024 08:10:33 +0100 Subject: [PATCH 50/60] Revert "remove deprecated components" This reverts commit 4bdc7472245785ade4f24ca37a39774095f4fcab. --- manifest.json.template | 54 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/manifest.json.template b/manifest.json.template index 98236f7d54..b056c89b02 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -43,6 +43,16 @@ "version": "^3.0.0-STAGING", "artifact": "*.pax" }, + "org.zowe.explorer.jobs.jobs-api-package": { + "version": "^2.0.7-SNAPSHOT", + "artifact": "jobs-api-package-*.zip", + "exclusions": ["*PR*.zip","*BRANCH*"] + }, + "org.zowe.explorer.files.files-api-package": { + "version": "^2.0.7-SNAPSHOT", + "artifact": "files-api-package-*.zip", + "exclusions": ["*PR*.zip","*BRANCH*"] + }, "org.zowe.explorer-jes": { "version": "~2.0.2-SNAPSHOT" }, @@ -72,6 +82,11 @@ "version": "3.0.3-PR-2233-SNAPSHOT", "artifact": "caching-service-*.zip" }, + "org.zowe.apiml.metrics-service-package": { + "version": "^2.1.1-SNAPSHOT", + "artifact": "metrics-service-*.zip", + "exclusions": ["*PR*.zip"] + }, "org.zowe.apiml.apiml-common-lib-package": { "version": "3.0.3-PR-2233-SNAPSHOT", "artifact": "apiml-common-lib-*.zip" @@ -241,6 +256,13 @@ "tag": "master", "destinations": ["Zowe CLI Package"] }] + }, { + "componentGroup": "IBM® IMS® Plug-in for Zowe CLI", + "entries": [{ + "repository": "zowe-cli-ims-plugin", + "tag": "master", + "destinations": ["Zowe CLI Package"] + }] }, { "componentGroup": "Zowe Desktop Data Sets UI Plugin", "entries": [{ @@ -270,6 +292,28 @@ "destinations": ["Zowe PAX"] }] }, { + "componentGroup": "Zowe Explorer Common REST Server", + "entries": [{ + "repository": "explorer-api-common", + "tag": "v2.x/master", + "destinations": ["Zowe PAX"] + }] + }, { + "componentGroup": "Zowe Explorer Data Sets REST Server", + "entries": [{ + "repository": "data-sets", + "tag": "v2.x/master", + "destinations": ["Zowe PAX"] + }] + }, { + "componentGroup": "Zowe Explorer Jobs REST Server", + "entries": [{ + "repository": "jobs", + "tag": "v2.x/master", + "destinations": ["Zowe PAX"] + }] + }, + { "componentGroup": "Zowe Desktop TN3270 Emulator Plug-in", "entries": [{ "repository": "tn3270-ng2", @@ -405,6 +449,16 @@ "name": "ompzowe/explorer-uss", "tag" : "2-ubuntu" }, + "files-api": { + "registry": "zowe-docker-release.jfrog.io", + "name": "ompzowe/files-api", + "tag" : "2-ubuntu" + }, + "jobs-api": { + "registry": "zowe-docker-release.jfrog.io", + "name": "ompzowe/jobs-api", + "tag" : "2-ubuntu" + }, "base": { "registry": "zowe-docker-release.jfrog.io", "name": "ompzowe/base", From eeaa3edda84714f3109517371941a90fb10be864 Mon Sep 17 00:00:00 2001 From: Pavel Jares Date: Thu, 14 Mar 2024 14:15:06 +0100 Subject: [PATCH 51/60] revert Zlux core dependency Signed-off-by: Pavel Jares --- manifest.json.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index b056c89b02..4dabae0d9c 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -12,8 +12,8 @@ }, "binaryDependencies": { "org.zowe.zlux.zlux-core": { - "version": "3.0.0-zlux-app-server-PR-291", - "artifact": "zlux-core-3.0.0-20240220.205642.pax" + "version": "^3.0.0-V3.X-STAGING-ZLUX-CORE", + "artifact": "*.pax" }, "org.zowe.zlux.sample-angular-app": { "version": "^3.0.0-V3.X-STAGING", From 3e89a8752aaa58a556489593229bf3057d181d45 Mon Sep 17 00:00:00 2001 From: MarkAckert Date: Fri, 22 Mar 2024 08:44:15 -0400 Subject: [PATCH 52/60] make java17 default and explicit for all playbooks in v3 Signed-off-by: MarkAckert --- tests/installation/src/utils.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/installation/src/utils.ts b/tests/installation/src/utils.ts index 9b41514184..5bbde80017 100644 --- a/tests/installation/src/utils.ts +++ b/tests/installation/src/utils.ts @@ -96,6 +96,9 @@ export function importDefaultExtraVars(extraVars: {[key: string]: any}, serverId 'zos_node_home' : ['ZOS_NODE_HOME'], 'zowe_sanity_test_debug_mode': ['SANITY_TEST_DEBUG'], }; + const globalDefaults: { [key:string] : string } = { + 'zos_java_home': '/ZOWE/node/J17.0_64' + } const serverIdSanitized = serverId.replace(/[^A-Za-z0-9]/g, '_').toUpperCase(); defaultMapping['ansible_ssh_host'].push(`${serverIdSanitized}_SSH_HOST`); defaultMapping['ansible_port'].push(`${serverIdSanitized}_SSH_PORT`); @@ -109,6 +112,13 @@ export function importDefaultExtraVars(extraVars: {[key: string]: any}, serverId } } }); + + Object.keys(globalDefaults).forEach((item) => { + if (extraVars[item] == null) { + extraVars[item] = globalDefaults[item]; + } + }) + } type PlaybookResponse = { @@ -206,6 +216,8 @@ async function installAndVerifyZowe(testcase: string, installPlaybook: string, s debug(`installAndVerifyZowe(${testcase}, ${installPlaybook}, ${serverId}, ${JSON.stringify(extraVars)})`); debug(`run ${installPlaybook} on ${serverId}`); + + const resultInstall = await runAnsiblePlaybook( testcase, installPlaybook, From f43a9c95d71951b133fbafbfa37654c07ec1bf10 Mon Sep 17 00:00:00 2001 From: at670475 Date: Fri, 22 Mar 2024 17:46:33 +0100 Subject: [PATCH 53/60] test fix for zosmf Signed-off-by: at670475 --- manifest.json.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index f39e77d5cb..df14685c01 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -61,8 +61,8 @@ "artifact": "api-catalog-*.zip" }, "org.zowe.apiml.discovery-package": { - "version": "3.0.3-PR-2233-SNAPSHOT", - "artifact": "discovery-*.zip" + "version": "3.0.3-PR-0001-SNAPSHOT", + "artifact": "discovery-package-3.0.3-PR-0001-20240322.160632-1.zip" }, "org.zowe.apiml.gateway-package": { "version": "3.0.3-PR-2233-SNAPSHOT", From dddce504c2aa208b8a5d7d256d96f3991a4931f4 Mon Sep 17 00:00:00 2001 From: at670475 Date: Mon, 25 Mar 2024 10:53:33 +0100 Subject: [PATCH 54/60] update sanity Signed-off-by: at670475 --- tests/sanity/test/apiml/test-api-zosmf-via-gateway.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sanity/test/apiml/test-api-zosmf-via-gateway.js b/tests/sanity/test/apiml/test-api-zosmf-via-gateway.js index 3fab3edf0d..626665972e 100644 --- a/tests/sanity/test/apiml/test-api-zosmf-via-gateway.js +++ b/tests/sanity/test/apiml/test-api-zosmf-via-gateway.js @@ -31,13 +31,13 @@ describe('test api mediation layer zosmf api', function() { token = await apiml.login(); }); - it('should be able to get z/OS Info via the gateway port and endpoint (/ibmzosmf/api/v1/info)', async function() { + it('should be able to get z/OS Info via the gateway port and endpoint (/ibmzosmf/api/v1/zosmf/info)', async function() { if (!token) { this.skip(); } const res = await hq.request({ - url: '/ibmzosmf/api/v1/info', + url: '/ibmzosmf/api/v1/zosmf/info', method: 'get', headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, From 585dcb2789638cc05f77ec26b4d58dfd6278b90f Mon Sep 17 00:00:00 2001 From: at670475 Date: Mon, 25 Mar 2024 12:32:09 +0100 Subject: [PATCH 55/60] fix tests Signed-off-by: at670475 --- .../apiml/test-authentication-zosmf-via-gateway.js | 10 +++++----- tests/sanity/test/http-helper.js | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/sanity/test/apiml/test-authentication-zosmf-via-gateway.js b/tests/sanity/test/apiml/test-authentication-zosmf-via-gateway.js index 917a51cabc..6193c279af 100644 --- a/tests/sanity/test/apiml/test-authentication-zosmf-via-gateway.js +++ b/tests/sanity/test/apiml/test-authentication-zosmf-via-gateway.js @@ -41,7 +41,7 @@ describe('test api mediation layer zosmf authentication', function() { it('with valid basic header', async function() { const token = Buffer.from(`${username}:${password}`, 'utf8').toString('base64'); const res = await hq.request({ - url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: '/ibmzosmf/api/v1/zosmf/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { 'Authorization': `Basic ${token}`, } @@ -53,7 +53,7 @@ describe('test api mediation layer zosmf authentication', function() { it('with valid cookie', async function() { const token = await apiml.login(); const res = await hq.request({ - url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: '/ibmzosmf/api/v1/zosmf/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, } @@ -65,7 +65,7 @@ describe('test api mediation layer zosmf authentication', function() { it('with valid LTPA cookie', async function() { const token = Buffer.from(`${username}:${password}`, 'utf8').toString('base64'); const loginResponse = await hq.request({ - url: '/ibmzosmf/api/v1/info', + url: '/ibmzosmf/api/v1/zosmf/info', headers: { 'Authorization': `Basic ${token}`, } @@ -73,7 +73,7 @@ describe('test api mediation layer zosmf authentication', function() { const ltpaCookie = hq.findCookieInResponse(loginResponse, ZOSMF_TOKEN); const response = await hq.request({ - url: '/ibmzosmf/api/v1/info', + url: '/ibmzosmf/api/v1/zosmf/info', headers: { 'Cookie': ltpaCookie, } @@ -85,7 +85,7 @@ describe('test api mediation layer zosmf authentication', function() { it('with valid JWT token via Bearer', async function() { const token = await apiml.login(); const res = await hq.request({ - url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: '/ibmzosmf/api/v1/zosmf/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { 'Authorization': `Bearer ${token}`, } diff --git a/tests/sanity/test/http-helper.js b/tests/sanity/test/http-helper.js index 63da92630a..2a7762740e 100644 --- a/tests/sanity/test/http-helper.js +++ b/tests/sanity/test/http-helper.js @@ -323,7 +323,7 @@ class APIMLAuth { debug('================================= APIMLAuth.isLoggedIn'); const res = await this.httpRequest.request({ - url: '/ibmzosmf/api/v1/restfiles/ds?dslevel=SYS1.PARMLIB*', + url: '/ibmzosmf/api/v1/zosmf/restfiles/ds?dslevel=SYS1.PARMLIB*', headers: { ...headers, 'X-CSRF-ZOSMF-HEADER': '*', From ff4c949e9357128e7cb82f252e8e94bfc91415b3 Mon Sep 17 00:00:00 2001 From: at670475 Date: Mon, 25 Mar 2024 14:49:30 +0100 Subject: [PATCH 56/60] fix tests Signed-off-by: at670475 --- tests/sanity/test/apiml/test-oidc-via-gateway.js | 2 +- tests/sanity/test/apiml/test-zss-via-gateway.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sanity/test/apiml/test-oidc-via-gateway.js b/tests/sanity/test/apiml/test-oidc-via-gateway.js index 5199f080c1..193e1164a0 100644 --- a/tests/sanity/test/apiml/test-oidc-via-gateway.js +++ b/tests/sanity/test/apiml/test-oidc-via-gateway.js @@ -30,7 +30,7 @@ describe('test oidc mapping via gateway', function() { } const res = await hq.request({ - url: `ibmzosmf/api/v1/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, + url: `ibmzosmf/api/v1/zosmf/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, 'X-CSRF-ZOSMF-HEADER': '*', diff --git a/tests/sanity/test/apiml/test-zss-via-gateway.js b/tests/sanity/test/apiml/test-zss-via-gateway.js index f4fba45e9e..7a2a6a35ac 100644 --- a/tests/sanity/test/apiml/test-zss-via-gateway.js +++ b/tests/sanity/test/apiml/test-zss-via-gateway.js @@ -30,7 +30,7 @@ describe('test zss x509 certificate mapping via gateway', function() { } const res = await hq.request({ - url: `ibmzosmf/api/v1/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, + url: `ibmzosmf/api/v1/zosmf/restjobs/jobs?owner=${process.env.SSH_USER.toUpperCase()}&prefix=*`, headers: { Cookie: `${APIML_AUTH_COOKIE}=${token}`, 'X-CSRF-ZOSMF-HEADER': '*', From 8a54275ae44cbfcbac2cf3d9d9bff0b377039410 Mon Sep 17 00:00:00 2001 From: at670475 Date: Tue, 26 Mar 2024 10:41:06 +0100 Subject: [PATCH 57/60] revert manifest json Signed-off-by: at670475 --- manifest.json.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index df14685c01..f39e77d5cb 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -61,8 +61,8 @@ "artifact": "api-catalog-*.zip" }, "org.zowe.apiml.discovery-package": { - "version": "3.0.3-PR-0001-SNAPSHOT", - "artifact": "discovery-package-3.0.3-PR-0001-20240322.160632-1.zip" + "version": "3.0.3-PR-2233-SNAPSHOT", + "artifact": "discovery-*.zip" }, "org.zowe.apiml.gateway-package": { "version": "3.0.3-PR-2233-SNAPSHOT", From 9e697a95fcbf33917e655624df039af97ff8e9b1 Mon Sep 17 00:00:00 2001 From: at670475 Date: Tue, 26 Mar 2024 14:52:25 +0100 Subject: [PATCH 58/60] revert manifest json Signed-off-by: at670475 --- manifest.json.template | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index f39e77d5cb..eb53fa25f2 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -57,23 +57,23 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "3.0.3-PR-2233-SNAPSHOT", + "version": "^3.0.3-SNAPSHOT", "artifact": "api-catalog-*.zip" }, "org.zowe.apiml.discovery-package": { - "version": "3.0.3-PR-2233-SNAPSHOT", + "version": "^3.0.3-SNAPSHOT", "artifact": "discovery-*.zip" }, "org.zowe.apiml.gateway-package": { - "version": "3.0.3-PR-2233-SNAPSHOT", + "version": "^3.0.3-SNAPSHOT", "artifact": "gateway-*.zip" }, "org.zowe.apiml.caching-service-package": { - "version": "3.0.3-PR-2233-SNAPSHOT", + "version": "^3.0.3-SNAPSHOT", "artifact": "caching-service-*.zip" }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "3.0.3-PR-2233-SNAPSHOT", + "version": "^3.0.3-SNAPSHOT", "artifact": "apiml-common-lib-*.zip" }, "org.zowe.apiml.sdk.common-java-lib-package": { @@ -82,11 +82,11 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.sdk.apiml-sample-extension-package": { - "version": "3.0.3-PR-2233-SNAPSHOT", + "version": "^3.0.3-SNAPSHOT", "artifact": "apiml-sample-extension-*.zip" }, "org.zowe.apiml.cloud-gateway-package": { - "version": "3.0.3-PR-2233-SNAPSHOT", + "version": "^3.0.3-SNAPSHOT", "artifact": "cloud-gateway-*.zip" }, "org.zowe.getesm": { From 88935d98dab02a717d98bfc60a2a86d698f59df3 Mon Sep 17 00:00:00 2001 From: at670475 Date: Wed, 27 Mar 2024 13:44:00 +0100 Subject: [PATCH 59/60] test custom build Signed-off-by: at670475 --- manifest.json.template | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index eb53fa25f2..73b93797e1 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -57,23 +57,23 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "^3.0.3-SNAPSHOT", + "version": "3.0.3-PR-1111-SNAPSHOT", "artifact": "api-catalog-*.zip" }, "org.zowe.apiml.discovery-package": { - "version": "^3.0.3-SNAPSHOT", + "version": "3.0.3-PR-1111-SNAPSHOT", "artifact": "discovery-*.zip" }, "org.zowe.apiml.gateway-package": { - "version": "^3.0.3-SNAPSHOT", + "version": "3.0.3-PR-1111-SNAPSHOT", "artifact": "gateway-*.zip" }, "org.zowe.apiml.caching-service-package": { - "version": "^3.0.3-SNAPSHOT", + "version": "3.0.3-PR-1111-SNAPSHOT", "artifact": "caching-service-*.zip" }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "^3.0.3-SNAPSHOT", + "version": "3.0.3-PR-1111-SNAPSHOT", "artifact": "apiml-common-lib-*.zip" }, "org.zowe.apiml.sdk.common-java-lib-package": { @@ -82,11 +82,11 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.sdk.apiml-sample-extension-package": { - "version": "^3.0.3-SNAPSHOT", + "version": "3.0.3-PR-1111-SNAPSHOT", "artifact": "apiml-sample-extension-*.zip" }, "org.zowe.apiml.cloud-gateway-package": { - "version": "^3.0.3-SNAPSHOT", + "version": "3.0.3-PR-1111-SNAPSHOT", "artifact": "cloud-gateway-*.zip" }, "org.zowe.getesm": { From 5f353fd38367fc4e6bc323e98ceda79b8455348b Mon Sep 17 00:00:00 2001 From: at670475 Date: Wed, 27 Mar 2024 16:43:42 +0100 Subject: [PATCH 60/60] set manifest json back Signed-off-by: at670475 --- manifest.json.template | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/manifest.json.template b/manifest.json.template index 73b93797e1..1dc701a564 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -57,24 +57,29 @@ "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { - "version": "3.0.3-PR-1111-SNAPSHOT", - "artifact": "api-catalog-*.zip" + "version": "^3.0.3-SNAPSHOT", + "artifact": "api-catalog-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.discovery-package": { - "version": "3.0.3-PR-1111-SNAPSHOT", - "artifact": "discovery-*.zip" + "version": "^3.0.3-SNAPSHOT", + "artifact": "discovery-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.gateway-package": { - "version": "3.0.3-PR-1111-SNAPSHOT", - "artifact": "gateway-*.zip" + "version": "^3.0.3-SNAPSHOT", + "artifact": "gateway-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.caching-service-package": { - "version": "3.0.3-PR-1111-SNAPSHOT", - "artifact": "caching-service-*.zip" + "version": "^3.0.3-SNAPSHOT", + "artifact": "caching-service-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.apiml-common-lib-package": { - "version": "3.0.3-PR-1111-SNAPSHOT", - "artifact": "apiml-common-lib-*.zip" + "version": "^3.0.3-SNAPSHOT", + "artifact": "apiml-common-lib-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.sdk.common-java-lib-package": { "version": "^2.0.0-SNAPSHOT", @@ -82,12 +87,14 @@ "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.sdk.apiml-sample-extension-package": { - "version": "3.0.3-PR-1111-SNAPSHOT", - "artifact": "apiml-sample-extension-*.zip" + "version": "^3.0.3-SNAPSHOT", + "artifact": "apiml-sample-extension-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.apiml.cloud-gateway-package": { - "version": "3.0.3-PR-1111-SNAPSHOT", - "artifact": "cloud-gateway-*.zip" + "version": "^3.0.3-SNAPSHOT", + "artifact": "cloud-gateway-*.zip", + "exclusions": ["*PR*.zip"] }, "org.zowe.getesm": { "version": "^3.0.0-V3.X-STAGING",