Skip to content

Commit

Permalink
User/markackert/v215-staging-to-rc (#3734)
Browse files Browse the repository at this point in the history
* Remove node 14 support

node 14 is no longer supported. our documentation says so

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Update node.sh

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Update cicd-test.yml

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Update cicd-test-readme.md

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Update make_matrix.sh

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Update node.sh

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Tracing messages with correct function names (#3619)

Signed-off-by: Martin Zeithaml <[email protected]>

* Replace introspect URL with JWK for OIDC validation (#3614)

* Replace introspect url with JWK

Signed-off-by: at670475 <[email protected]>

* fix name

Signed-off-by: at670475 <[email protected]>

* temporary change to test

Signed-off-by: at670475 <[email protected]>

* fix

Signed-off-by: at670475 <[email protected]>

* fix

Signed-off-by: at670475 <[email protected]>

* revert back the manifest.json

Signed-off-by: at670475 <[email protected]>

---------

Signed-off-by: at670475 <[email protected]>
Co-authored-by: Mark Ackert <[email protected]>

* Ensure workflow files are in ascii in final PAX (#3593)

* build: convert workflow files to ascii before paxing

Signed-off-by: MarkAckert <[email protected]>

* chore: add changelog

Signed-off-by: MarkAckert <[email protected]>

* build: adjust dir base

Signed-off-by: MarkAckert <[email protected]>

* build: remove quotes from ls command

Signed-off-by: MarkAckert <[email protected]>

* build: fix quotes in iconv

Signed-off-by: MarkAckert <[email protected]>

* deleted hyphen

Signed-off-by: mm667937 <[email protected]>

* script was trying to convert files that are in input directory but it was trying it from working directory

Signed-off-by: mm667937 <[email protected]>

* build: fix variable

Signed-off-by: MarkAckert <[email protected]>

* build: correct conversion script; use find instead of ls

Signed-off-by: MarkAckert <[email protected]>

* Have to convert all the workflows back to IBM-1047 before copy into dataset(not going into pswi, just test dir)

Signed-off-by: mm667937 <[email protected]>

* update changelog target version

Signed-off-by: MarkAckert <[email protected]>

---------

Signed-off-by: MarkAckert <[email protected]>
Signed-off-by: mm667937 <[email protected]>
Co-authored-by: mm667937 <[email protected]>

* Formatting in general pattern (#3615)

Signed-off-by: Martin Zeithaml <[email protected]>
Co-authored-by: Mark Ackert <[email protected]>

* add new PTF numbers

Signed-off-by: ojcelis <[email protected]>

* Promote PTF after release v2.12.0

Signed-off-by: zowe-robot <[email protected]>

* updated PTF bucket

Signed-off-by: ojcelis <[email protected]>

* Update cicd-test-readme.md

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Update cicd-test.yml

Signed-off-by: 1000TurquoisePogs <[email protected]>

* update zowe version to next release

Signed-off-by: ojcelis <[email protected]>

* build: remove node v14/v16 refs; cicd defaults to v16

Signed-off-by: MarkAckert <[email protected]>

* zwe diagnose running under configmgr

Signed-off-by: Martin Zeithaml <[email protected]>

* Make example-zowe.yaml certificate scenarios more accurate

Signed-off-by: Leanid Astrakou <[email protected]>

* Add global and component level network configuration options (#3509)

* Add global and component level network configuration options

Signed-off-by: Timothy Gerstel <[email protected]>

* Use zoweIpv4 for bind addresses and update tls settings to enums

Signed-off-by: Timothy Gerstel <[email protected]>

* Deduplicate schema and separate server from client

Also change "bind" to "listen" and tls prefix with TLSv, as seen in the majority of our servers.

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Fix schema json syntax

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Shorten tlsSettings to tls, and fix plural ipAddresses

Signed-off-by: 1000TurquoisePogs <[email protected]>

---------

Signed-off-by: Timothy Gerstel <[email protected]>
Signed-off-by: 1000TurquoisePogs <[email protected]>
Co-authored-by: 1000TurquoisePogs <[email protected]>

* Build: fix failing chown from build step (#3658)

* build: remove failing chown from build step

Signed-off-by: MarkAckert <[email protected]>

* build: update mkdir to _cmd, chown _super to _cmd

Signed-off-by: MarkAckert <[email protected]>

* chore: update comment

Signed-off-by: MarkAckert <[email protected]>

---------

Signed-off-by: MarkAckert <[email protected]>

* zzow system updates (#3651)

* build: zzow04 to zzow08

Signed-off-by: MarkAckert <[email protected]>

* build: add port

Signed-off-by: MarkAckert <[email protected]>

* build: remove explicit pax vars. action defaults updated.

Signed-off-by: MarkAckert <[email protected]>

* build: update marist system names

Signed-off-by: MarkAckert <[email protected]>

* chore: update playbook hosts

Signed-off-by: MarkAckert <[email protected]>

* chore: change ansible port for new systems

Signed-off-by: MarkAckert <[email protected]>

* test: update failing vt test; system response correct

Signed-off-by: MarkAckert <[email protected]>

* build: update PSWI builds for zzow07

Signed-off-by: MarkAckert <[email protected]>

* chore: lint fix

Signed-off-by: MarkAckert <[email protected]>

* chore: update random gen to create 6,7,8

Signed-off-by: MarkAckert <[email protected]>

* build: temporarily disable vt test

Signed-off-by: MarkAckert <[email protected]>

* build: comment out entire file (lint errors)

Signed-off-by: MarkAckert <[email protected]>

---------

Signed-off-by: MarkAckert <[email protected]>

* Update TLS settings (#3659)

* Update TLS settings

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Update zowe-yaml-schema.json

Signed-off-by: 1000TurquoisePogs <[email protected]>

---------

Signed-off-by: 1000TurquoisePogs <[email protected]>
Co-authored-by: Mark Ackert <[email protected]>

* Add getesm to build (#3663)

* Add getesm to build

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Update README.md

Signed-off-by: Martin Zeithaml <[email protected]>

---------

Signed-off-by: 1000TurquoisePogs <[email protected]>
Signed-off-by: Martin Zeithaml <[email protected]>
Co-authored-by: Martin Zeithaml <[email protected]>

* Reduce string fields by introducing better typing (#3617)

* Reduce string fields by introducing better typing

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Add new reusable types

Signed-off-by: 1000TurquoisePogs <[email protected]>

---------

Signed-off-by: 1000TurquoisePogs <[email protected]>
Signed-off-by: Mark Ackert <[email protected]>
Co-authored-by: Mark Ackert <[email protected]>

* build: update zzow matrix generator (#3665)

Signed-off-by: MarkAckert <[email protected]>

* Added more clarification to example-zowe.yaml (#3660)

* Added more clarification

Signed-off-by: Leanid Astrakou <[email protected]>

* 512 char --> 126

Signed-off-by: Leanid Astrakou <[email protected]>

---------

Signed-off-by: Leanid Astrakou <[email protected]>
Co-authored-by: ojcelis <[email protected]>
Co-authored-by: Mark Ackert <[email protected]>
Co-authored-by: 1000TurquoisePogs <[email protected]>

* Add zosmf scheme option for at-tls in api ml (#3661)

* add zosmf scheme option for at-tls in api ml

Signed-off-by: Pablo Hernán Carle <[email protected]>

* add common-java

Signed-off-by: Pablo Hernán Carle <[email protected]>

* common-java lib package

Signed-off-by: Pablo Hernán Carle <[email protected]>

* try without comp

Signed-off-by: Pablo Hernán Carle <[email protected]>

* back to allowlist common-java-lib

Signed-off-by: Pablo Hernán Carle <[email protected]>

* remove env

Signed-off-by: Pablo Hernán Carle <[email protected]>

---------

Signed-off-by: Pablo Hernán Carle <[email protected]>
Co-authored-by: Pablo Hernán Carle <[email protected]>
Co-authored-by: Mark Ackert <[email protected]>

* Revert "Reduce string fields by introducing better typing (#3617)" (#3674)

This reverts commit 1190cbb.

Signed-off-by: MarkAckert <[email protected]>

* Typo in comment (#3679)

Signed-off-by: Martin Zeithaml <[email protected]>

* Promote PTF after release v2.13.0

Signed-off-by: zowe-robot <[email protected]>

* update manifest version

Signed-off-by: MarkAckert <[email protected]>

* Update version to 2.14.0 (#3691)

Signed-off-by: James Struga <[email protected]>

* Add return code to zis plugin install 

Signed-off-by: James Struga <[email protected]>

* add typescript too

Signed-off-by: James Struga <[email protected]>

* Schema missing in staging

Signed-off-by: James Struga <[email protected]>

* Fix components not being enabled or disabled at ha instance level (#3692)

* Fix components not being enabled or disabled at ha instance level

Signed-off-by: 1000TurquoisePogs <[email protected]>

* Fix for env vars too

Signed-off-by: 1000TurquoisePogs <[email protected]>

---------

Signed-off-by: 1000TurquoisePogs <[email protected]>
Co-authored-by: Timothy Gerstel <[email protected]>

* build: sigstore sign build artifacts

Signed-off-by: MarkAckert <[email protected]>

* build: add id-token permissions for sigstore

Signed-off-by: MarkAckert <[email protected]>

* build: discrete permissions cont..

Signed-off-by: MarkAckert <[email protected]>

* build: discrete permissions cont... PR

Signed-off-by: MarkAckert <[email protected]>

* build: update contents permissions (ack locks)

Signed-off-by: MarkAckert <[email protected]>

* upgrade cicd-test to node18

Signed-off-by: MarkAckert <[email protected]>

* Promote PTF after release v2.14.0

Signed-off-by: zowe-robot <[email protected]>

* update manifest to 2.15.0

Signed-off-by: MarkAckert <[email protected]>

* bin/libs/string.sh: trim update

Signed-off-by: Martin Zeithaml <[email protected]>

* Update zwe for handeling missing parms

Signed-off-by: Martin Zeithaml <[email protected]>

* Treat special chars

Signed-off-by: Martin Zeithaml <[email protected]>

* Too many slashes

Signed-off-by: Martin Zeithaml <[email protected]>

* Minor fixes

Signed-off-by: Martin Zeithaml <[email protected]>

* Switch ChangeTag to sh

Signed-off-by: Martin Zeithaml <[email protected]>

* Regex update

Signed-off-by: Martin Zeithaml <[email protected]>

* Revert changes

Signed-off-by: Martin Zeithaml <[email protected]>

* Get volume

Signed-off-by: Martin Zeithaml <[email protected]>

* Support '$' and '-' in ds name

Signed-off-by: Martin Zeithaml <[email protected]>

* Escape prefix

Signed-off-by: Martin Zeithaml <[email protected]>

* Use the zos function for getFileEncoding (#3642)

* Use the zos function

Signed-off-by: Martin Zeithaml <[email protected]>

* CCSID only for platform=zos

Signed-off-by: Martin Zeithaml <[email protected]>

* Update type declaration file

Signed-off-by: Martin Zeithaml <[email protected]>

---------

Signed-off-by: Martin Zeithaml <[email protected]>
Co-authored-by: Mark Ackert <[email protected]>

* update changelog to align with 2.15.0

Signed-off-by: MarkAckert <[email protected]>

* TSS: Detect zOSMF Root CA (#3725)

* TSS: Detect zOSMF Root CA

Signed-off-by: Martin Zeithaml <[email protected]>

* Parameters updated

Signed-off-by: Martin Zeithaml <[email protected]>

* Minor text change

Signed-off-by: Martin Zeithaml <[email protected]>

---------

Signed-off-by: Martin Zeithaml <[email protected]>
Signed-off-by: Martin Zeithaml <[email protected]>
Co-authored-by: Mark Ackert <[email protected]>

* Escape dataset in copyMvsToUss

Signed-off-by: Martin Zeithaml <[email protected]>

---------

Signed-off-by: 1000TurquoisePogs <[email protected]>
Signed-off-by: Martin Zeithaml <[email protected]>
Signed-off-by: at670475 <[email protected]>
Signed-off-by: MarkAckert <[email protected]>
Signed-off-by: mm667937 <[email protected]>
Signed-off-by: ojcelis <[email protected]>
Signed-off-by: zowe-robot <[email protected]>
Signed-off-by: ojcelis <[email protected]>
Signed-off-by: Mark Ackert <[email protected]>
Signed-off-by: Leanid Astrakou <[email protected]>
Signed-off-by: Timothy Gerstel <[email protected]>
Signed-off-by: Martin Zeithaml <[email protected]>
Signed-off-by: Pablo Hernán Carle <[email protected]>
Signed-off-by: James Struga <[email protected]>
Signed-off-by: Martin Zeithaml <[email protected]>
Co-authored-by: 1000TurquoisePogs <[email protected]>
Co-authored-by: Martin Zeithaml <[email protected]>
Co-authored-by: Andrea Tabone <[email protected]>
Co-authored-by: mm667937 <[email protected]>
Co-authored-by: ojcelis <[email protected]>
Co-authored-by: zowe-robot <[email protected]>
Co-authored-by: ojcelis <[email protected]>
Co-authored-by: Martin Zeithaml <[email protected]>
Co-authored-by: Leanid Astrakou <[email protected]>
Co-authored-by: Timothy Gerstel <[email protected]>
Co-authored-by: Leanid Astrakou <[email protected]>
Co-authored-by: Pablo Carle <[email protected]>
Co-authored-by: Pablo Hernán Carle <[email protected]>
Co-authored-by: James Struga <[email protected]>
  • Loading branch information
15 people authored Feb 20, 2024
1 parent c2f7396 commit f00a002
Show file tree
Hide file tree
Showing 23 changed files with 325 additions and 77 deletions.
10 changes: 9 additions & 1 deletion .github/workflows/build-packaging.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
name: Zowe Build and Packaging

permissions:
id-token: write
issues: write
pull-requests: write
contents: write

on:
push:
branches:
Expand Down Expand Up @@ -130,7 +137,7 @@ jobs:
echo BUILD_WHAT=$BUILD_WHAT >> $GITHUB_OUTPUT
- name: '[Prep 7] Comment on PR to indicate build is started'
- name: '[Prep 7] Comment on PR to indicate build is started'
uses: actions/github-script@v5
id: create-comment
if: (github.event_name == 'workflow_dispatch' || github.event_name == 'pull_request') && startsWith(env.CURRENT_BRANCH, 'PR-')
Expand Down Expand Up @@ -265,6 +272,7 @@ jobs:
timeout-minutes: 10
uses: zowe-actions/shared-actions/publish@main
with:
sigstore-sign-artifacts: true
artifacts: |
.pax/zowe.pax
.pax/zowe-smpe.zip
Expand Down
11 changes: 8 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

All notable changes to the Zowe Installer will be documented in this file.
<!--Add the PR or issue number to the entry if available.-->
## `2.15.0`

## New features and enhancements

## Minor enhancements/defect fixes
- Bugfix: `zwe diagnose` running under comfigmgr and output formatted. Fixes #[3627](https://github.com/zowe/zowe-install-packaging/issues/3627).

## `2.14.0`

### New features and enhancements
Expand All @@ -16,17 +23,15 @@ All notable changes to the Zowe Installer will be documented in this file.
- Enhancement: Added utility "getesm" into bin/utils. When run it outputs to STDOUT which ESM your system is using. (#3662)

#### Minor enhancements/defect fixes
- Enhancement: `/bin/utils/date-add.rex` utility is accepting the date formatting as combination of YY|YYYY, MM, DD and any separator.
- Bugfix: Workflow files in the Zowe PAX are now ASCII-encoded. Fixes [#3591](https://github.com/zowe/zowe-install-packaging/issues/3591).

- Enhancement: `/bin/utils/date-add.rex` utility is accepting the date formatting as combination of YY|YYYY, MM, DD and any separator.

## `2.12.0`

### New features and enhancements

#### Minor enhancements/defect fixes


## `2.11.0`

### New features and enhancements
Expand Down
2 changes: 1 addition & 1 deletion bin/commands/certificate/keyring-jcl/connect/.parameters
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ trust-cas||string|||||Labels of extra certificate authorities should be trusted,
connect-user||string|required||||Certificate owner. Can be `SITE` or a user ID.
connect-label||string|required||||Certificate label to connect.
trust-zosmf||boolean|||||Whether to trust z/OSMF CA.
zosmf-ca||string||_auto_|||Labels of z/OSMF root certificate authorities. Specify "_auto_" to let Zowe to detect automatically. This only works for RACF.
zosmf-ca||string||_auto_|||Labels of z/OSMF root certificate authorities. Specify `_auto_` to let Zowe to detect automatically. This works for RACF and TSS.
zosmf-user||string||IZUSVR|||z/OSMF user name. This is used to automatically detect z/OSMF root certificate authorities.
ignore-security-failures||boolean|||||Whether to ignore security setup job failures.
2 changes: 1 addition & 1 deletion bin/commands/certificate/keyring-jcl/generate/.parameters
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ country||string|||||Country of certificate and certificate authority.
validity||string|||||Validity days of certificate.
trust-cas||string|||||Labels of extra certificate authorities should be trusted, separated by comma (Maximum 2).
trust-zosmf||boolean|||||Whether to trust z/OSMF CA.
zosmf-ca||string||_auto_|||Labels of z/OSMF root certificate authorities. Specify "_auto_" to let Zowe to detect automatically. This only works for RACF.
zosmf-ca||string||_auto_|||Labels of z/OSMF root certificate authorities. Specify `_auto_` to let Zowe to detect automatically. This works for RACF and TSS.
zosmf-user||string||IZUSVR|||z/OSMF user name. This is used to automatically detect z/OSMF root certificate authorities.
ignore-security-failures||boolean|||||Whether to ignore security setup job failures.
2 changes: 1 addition & 1 deletion bin/commands/certificate/keyring-jcl/import-ds/.parameters
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ keyring-name||string|required||||Name of the keyring.
alias|a|string|required|localhost|||Certificate alias name.
trust-cas||string|||||Labels of extra certificate authorities should be trusted, separated by comma (Maximum 2).
trust-zosmf||boolean|||||Whether to trust z/OSMF CA.
zosmf-ca||string||_auto_|||Labels of z/OSMF root certificate authorities. Specify "_auto_" to let Zowe to detect automatically. This only works for RACF.
zosmf-ca||string||_auto_|||Labels of z/OSMF root certificate authorities. Specify `_auto_` to let Zowe to detect automatically. This works for RACF and TSS.
zosmf-user||string||IZUSVR|||z/OSMF user name. This is used to automatically detect z/OSMF root certificate authorities.
import-ds-name||string|required||||Name of the data set holds certificate to import into keyring.
import-ds-password||string|required||||Password of the data set holds certificate to import.
Expand Down
70 changes: 52 additions & 18 deletions bin/commands/diagnose/index.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,59 @@
# Copyright Contributors to the Zowe Project.
#######################################################################

error_code="${ZWE_CLI_PARAMETER_ERROR_CODE}"
USE_CONFIGMGR=$(check_configmgr_enabled)
if [ "${USE_CONFIGMGR}" = "true" ]; then
_CEE_RUNOPTS="XPLINK(ON),HEAPPOOLS(OFF)" ${ZWE_zowe_runtimeDirectory}/bin/utils/configmgr -script "${ZWE_zowe_runtimeDirectory}/bin/commands/diagnose/cli.js"
else

error_code="${ZWE_CLI_PARAMETER_ERROR_CODE}"

server_code=$(echo "${error_code}" | cut -c4)
print_message ""

if echo $error_code | grep -q -E "^[zZ][wW][eE][AaSsDdLl][A-Za-z]?[0-9]{3,4}[A-Za-z]$"; then
if [[ "$server_code" == [Dd] ]]; then
print_message "This code corresponds to the errors related to the ZOWE Desktop and the App Server."
print_message "To find the description of this error code, refer to the Zowe documentation at https://github.com/zowe/docs-site/blob/master/docs/troubleshoot/app-framework/appserver-error-codes.md"
elif [[ "$server_code" == [Ss] ]]; then
print_message "This code corresponds to the errors related to the Zowe Subsystem Services (ZSS) and Zowe Installation Services (ZIS)"
print_message "To find the description of this error code, refer to the Zowe documentation for ZSS at https://docs.zowe.org/stable/troubleshoot/app-framework/zss-error-codes and for ZIS at https://github.com/zowe/docs-site/blob/master/docs/troubleshoot/app-framework/zis-error-codes.md"
elif [[ "$server_code" == [Aa] ]]; then
print_message "This code corresponds to the errors related to the Zowe API Mediation Layer (APIML)."
print_message "To find the description of this error code, refer to the Zowe documentation at https://docs.zowe.org/stable/troubleshoot/troubleshoot-apiml-error-codes"
elif [[ "$server_code" == [Ll] ]]; then
print_message "This code corresponds to the errors related to the Zowe Launcher and ZWE"
print_message "To find the description of this error code, refer to the Zowe documentation for the Launcher at https://docs.zowe.org/stable/troubleshoot/launcher/launcher-error-codes and https://github.com/zowe/launcher/blob/v2.x/master/src/msg.h, and for ZWE at https://docs.zowe.org/stable/appendix/zwe_server_command_reference/zwe/ "
if echo $error_code | grep -q -E "^[zZ][wW][eE][AaSsDdLl][A-Za-z]?[0-9]{3,4}[A-Za-z]$"; then
server_code=$(echo "${error_code}" | cut -c4)
if [[ "$server_code" == [Dd] ]]; then
print_message "This code corresponds to the errors related to the ZOWE Desktop and the App Server."
print_message ""
print_message "To find the description of this error code, refer to the:"
print_message ""
print_message " Zowe documentation for Application framework"
print_message " https://docs.zowe.org/stable/troubleshoot/app-framework/appserver-error-codes"
elif [[ "$server_code" == [Ss] ]]; then
print_message "This code corresponds to the errors related to the Zowe Subsystem Services (ZSS) and Zowe Installation Services (ZIS)."
print_message ""
print_message "To find the description of this error code, refer to the:"
print_message ""
print_message " Zowe documentation for ZSS"
print_message " https://docs.zowe.org/stable/troubleshoot/app-framework/zss-error-codes"
print_message " Zowe documentation for ZIS"
print_message " https://docs.zowe.org/stable/troubleshoot/app-framework/zis-error-codes"
elif [[ "$server_code" == [Aa] ]]; then
print_message "This code corresponds to the errors related to the Zowe API Mediation Layer (APIML)."
print_message ""
print_message "To find the description of this error code, refer to the:"
print_message ""
print_message " Zowe documentation for API Mediation Layer"
print_message " https://docs.zowe.org/stable/troubleshoot/troubleshoot-apiml-error-codes"
elif [[ "$server_code" == [Ll] ]]; then
print_message "This code corresponds to the errors related to the Zowe Launcher and ZWE."
print_message ""
print_message "To find the description of this error code, refer to the:"
print_message ""
print_message " Zowe documentation for Launcher"
print_message " https://docs.zowe.org/stable/troubleshoot/launcher/launcher-error-codes"
print_message " Launcher error codes"
print_message " https://github.com/zowe/launcher/blob/v2.x/master/src/msg.h"
print_message " Zowe documentation for ZWE"
print_message " https://docs.zowe.org/stable/appendix/zwe_server_command_reference/zwe/"
fi
print_message ""
print_message "You may also explore reports from other users experiencing the same error by searching"
print_message "https://github.com/search?q=org%3Azowe+${error_code}&type=discussions"
else
print_error_and_exit "ZWEL0102E: Invalid parameter --error-code='${error_code}'" "" 102
fi
print_message "You may also explore reports from other users experiencing the same error by searching here https://github.com/search?q=org%3Azowe+${error_code}&type=discussions"
else
print_error_and_exit "Invalid Error Code" "" 102

print_message ""

fi
71 changes: 50 additions & 21 deletions bin/commands/diagnose/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,31 +8,60 @@
Copyright Contributors to the Zowe Project.
*/

import * as std from 'cm_std';
import * as common from '../../libs/common';

export function execute() {
const errorCode: string = std.getenv('ZWE_CLI_PARAMETER_ERROR_CODE');
const THIS_CODE = "\nThis code corresponds to the errors related to the";
const FIND_DESC = "To find the description of this error code, refer to the:\n ";
const URL = {
apiML: "https://docs.zowe.org/stable/troubleshoot/troubleshoot-apiml-error-codes",
appFW : "https://docs.zowe.org/stable/troubleshoot/app-framework/appserver-error-codes",
launcher: "https://docs.zowe.org/stable/troubleshoot/launcher/launcher-error-codes",
launcherGit: "https://github.com/zowe/launcher/blob/v2.x/master/src/msg.h",
zss: "https://docs.zowe.org/stable/troubleshoot/app-framework/zss-error-codes",
zis: "https://docs.zowe.org/stable/troubleshoot/app-framework/zis-error-codes",
zwe: "https://docs.zowe.org/stable/appendix/zwe_server_command_reference/zwe/"
}

function thisCodeCorrespondsTo(component: string){
common.printMessage(`${THIS_CODE} ${component}.\n`);
common.printMessage(`${FIND_DESC}`);
}

const serverCode: string = errorCode.charAt(3);
function printLinks(description: string, link: string){
if (link.indexOf('github') > 0)
common.printMessage(` ${description}`)
else
common.printMessage(` Zowe documentation for ${description}`)
common.printMessage(` ${link}`);
}

if (/^[zZ][wW][eE][AaSsDdLl][A-Za-z]?[0-9]{3,4}[A-Za-z]$/.test(errorCode)) {
if (serverCode.toLowerCase() === 'd') {
common.printMessage("This code corresponds to the errors related to the ZOWE Desktop and the App Server.");
common.printMessage("To find the description of this error code, refer to the Zowe documentation at https://github.com/zowe/docs-site/blob/master/docs/troubleshoot/app-framework/appserver-error-codes.md");
} else if (serverCode.toLowerCase() === 's') {
common.printMessage("This code corresponds to the errors related to the Zowe Subsystem Services (ZSS) and Zowe Installation Services (ZIS)");
common.printMessage("To find the description of this error code, refer to the Zowe documentation for ZSS at https://docs.zowe.org/stable/troubleshoot/app-framework/zss-error-codes and for ZIS at https://github.com/zowe/docs-site/blob/master/docs/troubleshoot/app-framework/zis-error-codes.md");
} else if (serverCode.toLowerCase() === 'a') {
common.printMessage("This code corresponds to the errors related to the Zowe API Mediation Layer (APIML).");
common.printMessage("To find the description of this error code, refer to the Zowe documentation at https://docs.zowe.org/stable/troubleshoot/troubleshoot-apiml-error-codes");
} else if (serverCode.toLowerCase() === 'l') {
common.printMessage("This code corresponds to the errors related to the Zowe Launcher and ZWE");
common.printMessage("To find the description of this error code, refer to the Zowe documentation for the Launcher at https://docs.zowe.org/stable/troubleshoot/launcher/launcher-error-codes and https://github.com/zowe/launcher/blob/v2.x/master/src/msg.h, and for ZWE at https://docs.zowe.org/stable/appendix/zwe_server_command_reference/zwe/");
export function execute() {
const errorCode = std.getenv('ZWE_CLI_PARAMETER_ERROR_CODE');
if (/^[zZ][wW][eE][AaSsDdLl][A-Za-z]?[0-9]{3,4}[A-Za-z]$/.test(errorCode)) {
const serverCode = errorCode.charAt(3);
if (serverCode.toLowerCase() === 'd') {
thisCodeCorrespondsTo('ZOWE Desktop and the App Server');
printLinks('Application framework', `${URL.appFW}`);
}
else if (serverCode.toLowerCase() === 's') {
thisCodeCorrespondsTo('Zowe Subsystem Services (ZSS) and Zowe Installation Services (ZIS)');
printLinks('ZSS', `${URL.zss}`);
printLinks('ZIS', `${URL.zis}`);
}
else if (serverCode.toLowerCase() === 'a') {
thisCodeCorrespondsTo('Zowe API Mediation Layer (APIML)');
printLinks('API Mediation Layer', `${URL.apiML}`);
}
else if (serverCode.toLowerCase() === 'l') {
thisCodeCorrespondsTo('Zowe Launcher and ZWE');
printLinks('Launcher', `${URL.launcher}`);
printLinks('Launcher error codes', `${URL.launcherGit}`);
printLinks('ZWE', `${URL.zwe}`);
}
common.printMessage(`\nYou may also explore reports from other users experiencing the same error by searching\nhttps://github.com/search?q=org%3Azowe+${errorCode}&type=discussions\n`);
}
else {
common.printErrorAndExit(`ZWEL0102E: Invalid parameter --error-code='${errorCode}'`, undefined, 102);
}
common.printMessage(`You may also explore reports from other users experiencing the same error by searching here https://github.com/search?q=org%3Azowe+${errorCode}&type=discussions`)
} else {
common.printErrorAndExit("Invalid Error Code", undefined, 102);
}
}
80 changes: 76 additions & 4 deletions bin/libs/certificate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -876,7 +876,15 @@ EOF

if [ "${trust_zosmf}" = "1" ]; then
if [ "${zosmf_root_ca}" = "_auto_" ]; then
zosmf_root_ca=$(detect_zosmf_root_ca "${ZWE_PRIVATE_ZOSMF_USER}")
if [ "${security_product}" = "RACF" ]; then
zosmf_root_ca=$(detect_zosmf_root_ca_racf "${ZWE_PRIVATE_ZOSMF_USER}")
fi
if [ "${security_product}" = "TSS" ]; then
zosmf_root_ca=$(detect_zosmf_root_ca_tss "${ZWE_PRIVATE_ZOSMF_USER}")
fi
if [ "${security_product}" = "ACF2" ]; then
zosmf_root_ca=$(detect_zosmf_root_ca_acf2 "${ZWE_PRIVATE_ZOSMF_USER}")
fi
fi
if [ -z "${zosmf_root_ca}" ]; then
print_error_and_exit "Error ZWEL0137E: z/OSMF root certificate authority is not provided (or cannot be detected) with trusting z/OSMF option enabled." "" 137
Expand Down Expand Up @@ -1397,12 +1405,76 @@ EOF
"${labels_with_private_key}"
}

# this only works for RACF
detect_zosmf_root_ca() {
# FIXME
# - Support for multiple? | long | special characters entries
detect_zosmf_root_ca_tss() {
zosmf_user=${1:-IZUSVR}
zosmf_root_ca=

print_trace "- Detect z/OSMF keyring by listing ID(${zosmf_user}) [TSS]"
zosmf_certs=$(tsocmd "TSS LIST(${zosmf_user}) KEYRING(ALL)" 2>&1)
code=$?
if [ ${code} -ne 0 ]; then
print_trace " * Exit code: ${code}"
print_trace " * Output:"
if [ -n "${zosmf_certs}" ]; then
print_trace "$(padding_left "${zosmf_certs}" " ")"
fi
return 1
fi

# Output example:
# KEYRING LABEL = KEYRING.IZUDFLT
zosmf_keyring_name=$(echo "${zosmf_certs}" | grep "KEYRING LABEL = " | awk -F= '{ print $2 }' | head -n 1)
if [ -n "${zosmf_keyring_name}" ]; then
print_trace " * z/OSMF keyring name is ${zosmf_keyring_name}"
# Output example:
# ACID(CERTAUTH) DIGICERT(ABCDEFGH) DEFAULT(NO ) USAGE(CERTAUTH)
# LABLCERT(ZOSMF_ROOT_CA )
zosmf_root_ca=$(echo "${zosmf_certs}" | grep -A 1 "ACID(CERTAUTH)" | grep "LABLCERT(" | head -n 1)
zosmf_root_ca=$(echo "${zosmf_root_ca}" | awk '{ print substr( $0, 12, length($0)-13) }')
zosmf_root_ca=$(echo "${zosmf_root_ca}" | sed -e 's/^[[:space:]]*//;s/[[:space:]]*$//')
if [ -n "${zosmf_root_ca}" ]; then
print_trace " * z/OSMF root certificate authority found: ${zosmf_root_ca}"
echo "${zosmf_root_ca}"
return 0
else
print_trace " * Error: cannot detect z/OSMF root certificate authority"
return 2
fi
else
print_trace " * Error: failed to detect z/OSMF keyring name"
return 3
fi
}

# FIXME
# - add similar code using ACFUNIX instead of tsocmd
# - or use JCLs to be sure it will always works
detect_zosmf_root_ca_acf2() {
zosmf_user=${1:-IZUSVR}
zosmf_root_ca=

print_trace "- Detect z/OSMF keyring by listing ID(${zosmf_user}) [ACF2]"
echo "${zosmf_root_ca}"
return 1
}

# FIXME
# - Support for multiple? | long | special characters entries
# - RACDCERT LISTRING will be confused if label contains 'CERTAUTH' word:
#
# Certificate Label Name Cert Owner USAGE DEFAULT
# -------------------------------- ------------ -------- -------
# CERTAUTH_FOR_T800 ID(SKYNET) DEADLY YES
# JOHN_CONNOR CERTAUTH CERTAUTH NO
#
# Will return CERTAUTH_FOR_T800 instead of JOHN_CONNOR
detect_zosmf_root_ca_racf() {
zosmf_user=${1:-IZUSVR}
zosmf_root_ca=

print_trace "- Detect z/OSMF keyring by listing ID(${zosmf_user})"
print_trace "- Detect z/OSMF keyring by listing ID(${zosmf_user}) [RACF]"
zosmf_certs=$(tsocmd "RACDCERT LIST ID(${zosmf_user})" 2>&1)
code=$?
if [ ${code} -ne 0 ]; then
Expand Down
3 changes: 2 additions & 1 deletion bin/libs/configmgr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import * as os from 'cm_os';
import * as xplatform from 'xplatform';
import { ConfigManager } from 'Configuration';
import * as fs from './fs';
import * as stringlib from './string';

import * as objUtils from '../utils/ObjUtils';

Expand Down Expand Up @@ -415,7 +416,7 @@ function getMemberNameFromConfigPath(configPath: string): string|undefined {
function stripMemberName(configPath: string, memberName: string): string {
//Turn PARMLIB(my.zowe(yaml)):PARMLIB(my.other.zowe(yaml))
//Into PARMLIB(my.zowe):FILE(/some/path.yaml):PARMLIB(my.other.zowe)
const replacer = new RegExp('\\('+memberName+'\\)\\)', 'gi');
const replacer = new RegExp('\\('+stringlib.escapeDollar(memberName)+'\\)\\)', 'gi');
return configPath.replace(replacer, ")");
}

Expand Down
2 changes: 1 addition & 1 deletion bin/libs/string.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ trim() {
input=${1}
fi

echo "${input}" | xargs
echo "${input}" | sed -e 's/^[[:space:]]*//;s/[[:space:]]*$//'
}

###############################
Expand Down
13 changes: 13 additions & 0 deletions bin/libs/string.ts
Original file line number Diff line number Diff line change
Expand Up @@ -344,3 +344,16 @@ export function itemInList(stringList: string, stringToFind?: string, separator:
}
return stringList.split(separator).includes(stringToFind);
}

export function escapeDollar(str: string): string | undefined {
if (str === null || str === undefined)
return undefined;
return str.replace(/[$]/g, '\\$&');
}

export function escapeRegExp(str: string): string | undefined {
if (str === null || str === undefined)
return undefined;
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}

Loading

0 comments on commit f00a002

Please sign in to comment.