Skip to content

Commit

Permalink
Merge branch 'v2.x/staging' into clarification-example-zowe
Browse files Browse the repository at this point in the history
  • Loading branch information
ojcelis authored Nov 22, 2023
2 parents 94ae9a5 + 1a25ee1 commit 536f0f4
Show file tree
Hide file tree
Showing 11 changed files with 102 additions and 147 deletions.
8 changes: 0 additions & 8 deletions .github/scripts/cicd_test/make_matrix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,6 @@ case $install_test_choice in
test_file="$KEYRING_TESTFILE"
;;

"z/OS node v14")
test_file="$ZOS_NODE_V14_TESTFILE"
;;

"z/OS node v16")
test_file="$ZOS_NODE_V16_TESTFILE"
;;

"z/OS node v18")
test_file="$ZOS_NODE_V18_TESTFILE"
test_force_system="zzow04"
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/cicd-test-readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ Workflow trigger is at [cicd-test](https://github.com/zowe/zowe-install-packagin
- SMPE PTF
- Extensions
- Keyring
- z/OS node v14
- z/OS node v16
- z/OS node v18
- Non-strict Verify External Certificate
- Install PTF twice
Expand Down Expand Up @@ -111,7 +109,7 @@ Background: CICD testing relies on a `zowe.pax` or `zowe-smpe.zip` (for SMPE ins
When running CICD integration tests during RC stage, the following string will be parsed into the Github Actions matrix. As a result, a total of 21 independent jobs will be spawned.
```
basic/install.ts(zzow02,zzow03,zzow04);basic/install-ptf.ts(zzow02,zzow03,zzow04);basic/install-ext.ts(zzow03);extended/keyring.ts(zzow02,zzow03,zzow04);extended/node-versions/node-v8.ts(zzow02,zzow03,zzow04);extended/node-versions/node-v14.ts(zzow02,zzow03,zzow04);extended/certificates/nonstrict-verify-external-certificate.ts(zzow02)
basic/install.ts(zzow02,zzow03,zzow04);basic/install-ptf.ts(zzow02,zzow03,zzow04);basic/install-ext.ts(zzow03);extended/keyring.ts(zzow02,zzow03,zzow04);extended/node-versions/node-v18.ts(zzow02,zzow03,zzow04);extended/certificates/nonstrict-verify-external-certificate.ts(zzow02)
```
Total elapsed time when running in parallel is approximately 3.5 hours on paper idealy if all parallel jobs are executing at the same time. In reality, from numerous tests performed, total elapsed time is around 4 hours.
Expand All @@ -124,8 +122,6 @@ Selected test running elapsed time:
| Convenience Pax | 53m |
| SMPE PTF | 68m |
| z/OS node v18 | 45m |
| z/OS node v16 | 45m |
| z/OS node v14 | 45m |
| Keyring | 53m |
| Non-strict Verify External Certificate | 51m |
| Extensions | 67m
Expand Down
16 changes: 3 additions & 13 deletions .github/workflows/cicd-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ on:
- SMPE PTF
- Extensions
- Keyring
- z/OS node v14
- z/OS node v16
- z/OS node v18
- Non-strict Verify External Certificate
- Install PTF Twice
Expand Down Expand Up @@ -63,8 +61,8 @@ env:
DEFAULT_ZOWE_EXT_ARTIFACTORY_PATTERN: libs-snapshot-local/org/zowe/{ext-name}/*/{ext-name}-*.pax

# below block can be overwritten, adjusted by DevOps only
# ZOS_NODE_VERSION more to choose from: v14.21.3.1, v16.20.1
ZOS_NODE_VERSION: v14.21.3.1
# ZOS_NODE_VERSION more to choose from: v16.20.1, v18.16.0
ZOS_NODE_VERSION: v16.20.1
CLIENT_NODE_VERSION: v12.18.3
INSTALL_TEST_DEBUG_INFORMATION: zowe-install-test:*
SANITY_TEST_DEBUG_INFORMATION: zowe-sanity-test:*
Expand All @@ -75,8 +73,6 @@ env:
SMPE_PTF_TESTFILE: basic/install-ptf.ts
EXTENSIONS_TESTFILE: basic/install-ext.ts
KEYRING_TESTFILE: extended/keyring.ts
ZOS_NODE_V14_TESTFILE: extended/node-versions/node-v14.ts
ZOS_NODE_V16_TESTFILE: extended/node-versions/node-v16.ts
ZOS_NODE_V18_TESTFILE: extended/node-versions/node-v18.ts
NON_STRICT_VERIFY_EXTERNAL_CERTIFICATE_TESTFILE: extended/certificates/nonstrict-verify-external-certificate.ts
INSTALL_PTF_TWICE_TESTFILE: extended/install-ptf-two-times.ts
Expand All @@ -85,7 +81,7 @@ env:
CONFIG_MANAGER_TESTFILE: extended/config-manager/enable-config-manager.ts
GENERAL_API_DOCUMENTATION_TESTFILE: basic/install-api-gen.ts
ZOWE_NIGHTLY_TESTS_FULL: basic/install.ts(all);basic/install-ptf.ts(all)
ZOWE_RELEASE_TESTS_FULL: basic/install.ts(all);basic/install-ptf.ts(all);basic/install-ext.ts(any);extended/keyring.ts(all);extended/node-versions/node-v14.ts(any);extended/node-versions/node-v16.ts(any);extended/node-versions/node-v18.ts(zzow04):extended/certificates/nonstrict-verify-external-certificate.ts(any);extended/caching-storages/infinispan-storage.ts(any);extended/config-manager/enable-config-manager.ts(any)
ZOWE_RELEASE_TESTS_FULL: basic/install.ts(all);basic/install-ptf.ts(all);basic/install-ext.ts(any);extended/keyring.ts(all);extended/node-versions/node-v18.ts(zzow04):extended/certificates/nonstrict-verify-external-certificate.ts(any);extended/caching-storages/infinispan-storage.ts(any);extended/config-manager/enable-config-manager.ts(any)

jobs:
display-dispatch-event-id:
Expand Down Expand Up @@ -293,12 +289,6 @@ jobs:
case 'Keyring':
eta = 53
break;
case 'z/OS node v14':
eta = 45
break;
case 'z/OS node v16':
eta = 45
break;
case 'z/OS node v18':
eta = 45
break;
Expand Down
4 changes: 2 additions & 2 deletions .pax/pre-packaging.sh
Original file line number Diff line number Diff line change
Expand Up @@ -190,8 +190,8 @@ BASE_DIR=$(
pwd
) # <something>/.pax

# use node v14 to build
export NODE_HOME=/ZOWE/node/node-v14.21.3.1-os390-s390x
# use node v16 to build
export NODE_HOME=/ZOWE/node/node-v16.20.1-os390-s390x

ZOWE_ROOT_DIR="${BASE_DIR}/content"

Expand Down
11 changes: 4 additions & 7 deletions bin/libs/node.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ export NODE_STDIN_CCSID=1047
# Workaround Fix for node 8.16.1 that requires compatibility mode for untagged files
export __UNTAGGED_READ_MODE=V6

NODE_MIN=16

ensure_node_is_on_path() {
if [[ ":${PATH}:" != *":${NODE_HOME}/bin:"* ]]; then
export PATH="${NODE_HOME}/bin:${PATH}"
Expand Down Expand Up @@ -122,18 +124,13 @@ validate_node_home() {
node_fix_version=$(echo ${node_version} | cut -d '.' -f 3)

# check node version
if [ "${node_version}" = "v14.17.2" ]; then
print_error "Node ${node_version} specifically is not compatible with Zowe. Please use a different version. See https://docs.zowe.org/stable/troubleshoot/app-framework/app-known-issues.html#desktop-apps-fail-to-load for more details."
return 1
fi

if [ "${node_version}" = "v18.12.1" ]; then
print_error "Node ${node_version} specifically is not compatible with Zowe. Please use a different version. See https://github.com/ibmruntimes/node-zos/issues/21 for more details."
return 1
fi

if [ ${node_major_version} -lt 14 ]; then
print_error "Node ${node_version} is less than the minimum level required of v14+."
if [ ${node_major_version} -lt ${NODE_MIN} ]; then
print_error "Node ${node_version} is less than the minimum level required of v${NODE_MIN}+."
return 1
fi
print_debug "Node ${node_version} is supported."
Expand Down
7 changes: 1 addition & 6 deletions bin/libs/node.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import * as shell from './shell';
import * as config from './config';
import { PathAPI as pathoid } from './pathoid';

const NODE_MIN_VERSION=14;
const NODE_MIN_VERSION=16;

// enforce encoding of stdio/stdout/stderr
// sometimes /dev/tty* ($SSH_TTY) are not configured properly, for example tagged as binary or wrong encoding
Expand Down Expand Up @@ -109,11 +109,6 @@ export function validateNodeHome(nodeHome:string|undefined=std.getenv("NODE_HOME
//const nodeMinorVersion = Number(parts[1]);
//const nodePatchVersion = Number(parts[2]);

if (version == 'v14.17.2') {
common.printError(`Node ${version} specifically is not compatible with Zowe. Please use a different version. See https://docs.zowe.org/stable/troubleshoot/app-framework/app-known-issues.html#desktop-apps-fail-to-load for more details.`);
return false;
}

if (version == 'v18.12.1') {
common.printError(`Node ${version} specifically is not compatible with Zowe. Please use a different version. See https://github.com/ibmruntimes/node-zos/issues/21 for more details.`);
return false;
Expand Down
2 changes: 1 addition & 1 deletion containers/conformance.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Here are our recommendations of base images:

- Zowe base images:
* `ompzowe/base`: `zowe-docker-release.jfrog.io/ompzowe/base:latest-ubuntu` and `zowe-docker-release.jfrog.io/ompzowe/base:latest-ubi`.
* `ompzowe/base-node`: `zowe-docker-release.jfrog.io/ompzowe/base-node:latest-ubuntu` and `zowe-docker-release.jfrog.io/ompzowe/base-node:latest-ubi` has node.js LTS (v14) version pre-installed.
* `ompzowe/base-node`: `zowe-docker-release.jfrog.io/ompzowe/base-node:latest-ubuntu` and `zowe-docker-release.jfrog.io/ompzowe/base-node:latest-ubi` has node.js LTS (v16) version pre-installed.
* `ompzowe/base-jdk`: `zowe-docker-release.jfrog.io/ompzowe/base-jdk:latest-ubuntu` and `zowe-docker-release.jfrog.io/ompzowe/base-jdk:latest-ubi` has JRE v8 pre-installed.
- [Red Hat Universal Base Image 8 Minimal](https://developers.redhat.com/articles/ubi-faq?redirect_fragment=resources#ubi_details)
- [Ubuntu](https://hub.docker.com/_/ubuntu)
Expand Down
101 changes: 87 additions & 14 deletions schemas/zowe-yaml-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -419,20 +419,7 @@
}
},
"network": {
"type": "object",
"additionalProperties": false,
"description": "Optional, advanced network configuration parameters",
"properties": {
"vipaIp": {
"type": "string",
"description": "The IP address which all of the Zowe servers will be binding to. If you are using multiple DIPVA addresses, do not use this option."
},
"validatePortFree": {
"type": "boolean",
"default": true,
"description": "Whether or not to ensure that the port a server is about to use is available. Usually, servers will know this when they attempt to bind to a port, so this option allows you to disable the additional verification step."
}
}
"$ref": "#/$defs/networkSettings"
},
"extensionRegistry": {
"type": "object",
Expand Down Expand Up @@ -854,6 +841,92 @@
"default": "yes"
}
}
},
"zowe": {
"type": "object",
"description": "Component level overrides for top level Zowe network configuration.",
"additionalProperties": false,
"properties": {
"network": {
"$ref": "#/$defs/networkSettings"
}
}
}
}
},
"tlsSettings": {
"$anchor": "tlsSettings",
"type": "object",
"properties": {
"ciphers": {
"type": "array",
"description": "Acceptable TLS cipher suites for network connections.",
"items": {
"type": "string"
}
},
"curves": {
"type": "array",
"description": "Acceptable key exchange elliptic curves for network connections.",
"items": {
"type": "string"
}
},
"maxTls": {
"type": "string",
"enum": ["TLSv1.0", "TLSv1.1", "TLSv1.2", "TLSv1.3"],
"default": "TLSv1.3",
"description": "Maximum TLS version allowed for network connections."
},
"minTls": {
"type": "string",
"enum": ["TLSv1.0", "TLSv1.1", "TLSv1.2", "TLSv1.3"],
"default": "TLSv1.3",
"description": "Minimum TLS version allowed for network connections, and less than network.maxTls."
}
}
},
"networkSettings": {
"type": "object",
"$anchor": "networkSettings",
"additionalProperties": false,
"description": "Optional, advanced network configuration parameters",
"properties": {
"server": {
"type": "object",
"additionalProperties": false,
"description": "Optional, advanced network configuration parameters for Zowe servers",
"properties": {
"tls": {
"$ref": "#/$defs/tlsSettings"
},
"listenAddresses": {
"type": "array",
"description": "The IP addresses which all of the Zowe servers will be binding on and listening to. Some servers may only support listening on the first element.",
"items": {
"$ref": "/schemas/v2/server-common#zoweIpv4"
}
},
"vipaIp": {
"type": "string",
"description": "The IP address which all of the Zowe servers will be binding to. If you are using multiple DIPVA addresses, do not use this option."
},
"validatePortFree": {
"type": "boolean",
"default": true,
"description": "Whether or not to ensure that the port a server is about to use is available. Usually, servers will know this when they attempt to bind to a port, so this option allows you to disable the additional verification step."
}
}
},
"client": {
"type": "object",
"additionalProperties": false,
"description": "Optional, advanced network configuration parameters for Zowe servers when sending requests as clients.",
"properties": {
"tls": {
"$ref": "#/$defs/tlsSettings"
}
}
}
}
},
Expand Down
6 changes: 3 additions & 3 deletions smpe/bld/smpe-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ opts="$opts -l $log" # install log
_cmd $extract/$zweScript install $opts </dev/null

echo "-- copying product to $stage"
mkdir -p $stage
_cmd mkdir -p $stage
_cmd cd $extract
_cmd pax -rw -px * $stage/ # use pax to copy with extattr preserved

Expand Down Expand Up @@ -628,8 +628,8 @@ else
_cmd pax -rw -px * $stage/ # use pax to copy with extattr preserved
fi #

# ensure we can access everything
_super chown -R $(id -u) $stage
# ensure we can access everything (previously _super, which may fail in some environments)
_cmd chown -R $(id -u) $stage

# set permissions to ensure consistency & ability to move during split
_cmd chmod -R 755 $stage
Expand Down

This file was deleted.

This file was deleted.

0 comments on commit 536f0f4

Please sign in to comment.