diff --git a/CHANGELOG.md b/CHANGELOG.md
index b909772b9f..88cdd0a1ea 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,8 +2,11 @@
All notable changes to the Zowe Installer will be documented in this file.
-## `3.0.1`
-- Bugfix: When `--log-dir` parameter for `zwe` command is a file, there might be an error "InternalError: stack overflow". [#40nn](https://github.com/zowe/zowe-install-packaging/pull/40nn)
+## `3.1.0`
+- Bugfix: When logging `zwe` command, sometimes the log has wrong file tag and the log is unreadable. [#4071](https://github.com/zowe/zowe-install-packaging/pull/4071)
+- Bugfix: When `--log-dir` parameter for `zwe` command is a file, there might be an error "InternalError: stack overflow". [#4064](https://github.com/zowe/zowe-install-packaging/pull/4064)
+- Enhancement: command `zwe init` does not require NodeJS [#4088](https://github.com/zowe/zowe-install-packaging/pull/4088)
+- Enhancement: command `zwe install` does not require NodeJS [#4069](https://github.com/zowe/zowe-install-packaging/pull/4069)
- Enhancement: new javascript funtion `getStatvfs()` to obtain information about the file sysytem [#3994](https://github.com/zowe/zowe-install-packaging/pull/3994)
- Enhancement: command `zwe diagnose` in javascript only [#4061](https://github.com/zowe/zowe-install-packaging/pull/4061)
- Enhancement: schema validation update for `zowe.job.name` and `zowe.job.prefix` [#4060](https://github.com/zowe/zowe-install-packaging/pull/4060)
diff --git a/bin/commands/init/apfauth/index.sh b/bin/commands/init/apfauth/index.sh
index d248cbb904..06398f846d 100644
--- a/bin/commands/init/apfauth/index.sh
+++ b/bin/commands/init/apfauth/index.sh
@@ -19,10 +19,10 @@ auth_libs="authLoadlib authPluginLib"
###############################
# validation
-require_zowe_yaml
+require_zowe_yaml "skipnode"
# read prefix and validate
-prefix=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
+prefix=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
if [ -z "${prefix}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe dataset prefix (zowe.setup.dataset.prefix) is not defined in Zowe YAML configuration file." "" 157
fi
@@ -32,7 +32,7 @@ fi
job_has_failures=
for key in ${auth_libs}; do
# read def and validate
- ds=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.${key}")
+ ds=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.${key}")
if [ -z "${ds}" ]; then
# authLoadlib can be empty
if [ "${key}" = "authLoadlib" ]; then
diff --git a/bin/commands/init/certificate/index.sh b/bin/commands/init/certificate/index.sh
index a1d2f5c8dd..90106839fb 100644
--- a/bin/commands/init/certificate/index.sh
+++ b/bin/commands/init/certificate/index.sh
@@ -13,24 +13,24 @@
###############################
# validation
-require_zowe_yaml
+require_zowe_yaml "skipnode"
###############################
# read prefix and validate
-prefix=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
+prefix=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
if [ -z "${prefix}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe dataset prefix (zowe.setup.dataset.prefix) is not defined in Zowe YAML configuration file." "" 157
fi
# read JCL library and validate
-jcllib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.jcllib")
+jcllib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.jcllib")
if [ -z "${jcllib}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe custom JCL library (zowe.setup.dataset.jcllib) is not defined in Zowe YAML configuration file." "" 157
fi
-security_product=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.product")
-security_users_zowe=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zowe")
-security_groups_admin=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.admin")
+security_product=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.product")
+security_users_zowe=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zowe")
+security_groups_admin=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.admin")
# read cert type and validate
-cert_type=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.type")
+cert_type=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.type")
if [ -z "${cert_type}" ]; then
print_error_and_exit "Error ZWEL0157E: Certificate type (zowe.setup.certificate.type) is not defined in Zowe YAML configuration file." "" 157
fi
@@ -41,16 +41,16 @@ fi
# read cert dname
for item in caCommonName commonName orgUnit org locality state country; do
var_name="dname_${item}"
- var_val=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.dname.${item}")
+ var_val=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.dname.${item}")
eval "${var_name}=\"${var_val}\""
done
# read cert validity
-cert_validity=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.validity")
+cert_validity=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.validity")
if [ "${cert_type}" = "PKCS12" ]; then
# read keystore info
for item in directory lock name password caAlias caPassword; do
var_name="pkcs12_${item}"
- var_val=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.${item}")
+ var_val=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.${item}")
eval "${var_name}=\"${var_val}\""
done
if [ -z "${pkcs12_directory}" ]; then
@@ -59,7 +59,7 @@ if [ "${cert_type}" = "PKCS12" ]; then
# read keystore import info
for item in keystore password alias; do
var_name="pkcs12_import_${item}"
- var_val=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.import.${item}")
+ var_val=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.import.${item}")
eval "${var_name}=\"${var_val}\""
done
if [ -n "${pkcs12_import_keystore}" ]; then
@@ -75,47 +75,51 @@ elif [[ "${cert_type}" == JCE*KS ]]; then
# read keyring info
for item in owner name label caLabel; do
var_name="keyring_${item}"
- var_val=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.${item}")
+ var_val=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.${item}")
eval "${var_name}=\"${var_val}\""
done
if [ -z "${keyring_name}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe keyring name (zowe.setup.certificate.keyring.name) is not defined in Zowe YAML configuration file." "" 157
fi
- keyring_import_dsName=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.import.dsName")
- keyring_import_password=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.import.password")
+ keyring_import_dsName=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.import.dsName")
+ keyring_import_password=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.import.password")
if [ -n "${keyring_import_dsName}" ]; then
keyring_option=3
if [ -z "${keyring_import_password}" ]; then
print_error_and_exit "Error ZWEL0157E: The password for data set storing importing certificate (zowe.setup.certificate.keyring.import.password) is not defined in Zowe YAML configuration file." "" 157
fi
fi
- keyring_connect_user=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.connect.user")
- keyring_connect_label=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.connect.label")
+ keyring_connect_user=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.connect.user")
+ keyring_connect_label=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.connect.label")
if [ -n "${keyring_connect_label}" ]; then
keyring_option=2
fi
fi
+# Trace or debug information will be part of the output, let's turn it off for the inline zwe commands
+save_trace=$ZWE_PRIVATE_LOG_LEVEL_ZWELS
+ZWE_PRIVATE_LOG_LEVEL_ZWELS=
# read keystore domains
-cert_import_CAs=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.importCertificateAuthorities" | tr '\n' ',')
+cert_import_CAs=$(zwecli_inline_execute_command internal config get --config "${ZWE_CLI_PARAMETER_CONFIG}" --path ".zowe.setup.certificate.importCertificateAuthorities" | tr '\n' ',' | awk '{ print substr( $0, 1, length($0)-1 ) }')
# read keystore domains
-cert_domains=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.san" | tr '\n' ',')
+cert_domains=$(zwecli_inline_execute_command internal config get --config "${ZWE_CLI_PARAMETER_CONFIG}" --path ".zowe.setup.certificate.san" | tr '\n' ',' | awk '{ print substr( $0, 1, length($0)-1 ) }')
if [ -z "${cert_domains}" ]; then
- cert_domains=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.externalDomains" | tr '\n' ',')
+ cert_domains=$(zwecli_inline_execute_command internal config get --config "${ZWE_CLI_PARAMETER_CONFIG}" --path ".zowe.externalDomains" | tr '\n' ',' | awk '{ print substr( $0, 1, length($0)-1 ) }')
fi
+ZWE_PRIVATE_LOG_LEVEL_ZWELS=$save_trace
# read z/OSMF info
for item in user ca; do
var_name="zosmf_${item}"
- var_val=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.zOSMF.${item}")
+ var_val=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.zOSMF.${item}")
eval "${var_name}=\"${var_val}\""
done
for item in host port; do
var_name="zosmf_${item}"
- var_val=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zOSMF.${item}")
+ var_val=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zOSMF.${item}")
eval "${var_name}=\"${var_val}\""
done
keyring_trust_zosmf=
-verify_certificates=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.verifyCertificates" | upper_case)
+verify_certificates=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.verifyCertificates" | upper_case)
if [ "${verify_certificates}" = "STRICT" -o "${verify_certificates}" = "NONSTRICT" ]; then
keyring_trust_zosmf="--trust-zosmf"
else
diff --git a/bin/commands/init/index.sh b/bin/commands/init/index.sh
index a2815f2b49..ba87c5ee57 100755
--- a/bin/commands/init/index.sh
+++ b/bin/commands/init/index.sh
@@ -36,10 +36,10 @@ if [ -z "${yaml_java_home}" ]; then
fi
fi
# zowe.runtimeDirectory
-require_zowe_yaml
+require_zowe_yaml "skipnode"
update_zowe_runtime_dir=
# do we have zowe.runtimeDirectory defined in zowe.yaml?
-yaml_runtime_dir=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.runtimeDirectory")
+yaml_runtime_dir=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.runtimeDirectory")
if [ -n "${yaml_runtime_dir}" ]; then
result=$(are_directories_same "${yaml_runtime_dir}" "${ZWE_zowe_runtimeDirectory}")
code=$?
diff --git a/bin/commands/init/mvs/index.sh b/bin/commands/init/mvs/index.sh
index 7f1102c95d..ab724fa206 100644
--- a/bin/commands/init/mvs/index.sh
+++ b/bin/commands/init/mvs/index.sh
@@ -22,10 +22,10 @@ authPluginLib|Zowe authorized plugin library|dsntype(library) dsorg(po) recfm(u)
###############################
# validation
-require_zowe_yaml
+require_zowe_yaml "skipnode"
# read prefix and validate
-prefix=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
+prefix=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
if [ -z "${prefix}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe dataset prefix (zowe.setup.dataset.prefix) is not defined in Zowe YAML configuration file." "" 157
fi
@@ -39,7 +39,7 @@ while read -r line; do
spec=$(echo "${line}" | awk -F"|" '{print $3}')
# read def and validate
- ds=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.${key}")
+ ds=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.${key}")
if [ -z "${ds}" ]; then
# authLoadlib can be empty
if [ "${key}" = "authLoadlib" ]; then
@@ -76,7 +76,7 @@ if [ "${ds_existence}" = "true" ] && [ "${ZWE_CLI_PARAMETER_ALLOW_OVERWRITE}" !
else
###############################
# copy sample lib members
- parmlib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.parmlib")
+ parmlib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.parmlib")
for ds in ZWESIP00; do
print_message "Copy ${prefix}.${ZWE_PRIVATE_DS_SZWESAMP}(${ds}) to ${parmlib}(${ds})"
data_set_copy_to_data_set "${prefix}" "${prefix}.${ZWE_PRIVATE_DS_SZWESAMP}(${ds})" "${parmlib}(${ds})" "${ZWE_CLI_PARAMETER_ALLOW_OVERWRITE}"
@@ -88,7 +88,7 @@ else
###############################
# copy auth lib members
# FIXME: data_set_copy_to_data_set cannot be used to copy program?
- authLoadlib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.authLoadlib")
+ authLoadlib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.authLoadlib")
if [ -n "${authLoadlib}" ]; then
for ds in ZWESIS01 ZWESAUX ZWESISDL; do
print_message "Copy components/zss/LOADLIB/${ds} to ${authLoadlib}(${ds})"
diff --git a/bin/commands/init/security/index.sh b/bin/commands/init/security/index.sh
index b0d2c48551..a07c135ef8 100644
--- a/bin/commands/init/security/index.sh
+++ b/bin/commands/init/security/index.sh
@@ -18,51 +18,51 @@ print_level1_message "Run Zowe security configurations"
###############################
# validation
-require_zowe_yaml
+require_zowe_yaml "skipnode"
# read prefix and validate
-prefix=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
+prefix=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
if [ -z "${prefix}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe dataset prefix (zowe.setup.dataset.prefix) is not defined in Zowe YAML configuration file." "" 157
fi
# read JCL library and validate
-jcllib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.jcllib")
+jcllib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.jcllib")
if [ -z "${jcllib}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe custom JCL library (zowe.setup.dataset.jcllib) is not defined in Zowe YAML configuration file." "" 157
fi
-security_product=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.product")
+security_product=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.product")
if [ -z "${security_product}" ]; then
security_product=RACF
fi
-security_groups_admin=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.admin")
+security_groups_admin=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.admin")
if [ -z "${security_groups_admin}" ]; then
security_groups_admin=${ZWE_PRIVATE_DEFAULT_ADMIN_GROUP}
fi
-security_groups_stc=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.stc")
+security_groups_stc=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.stc")
if [ -z "${security_groups_stc}" ]; then
security_groups_stc=${ZWE_PRIVATE_DEFAULT_ADMIN_GROUP}
fi
-security_groups_sysProg=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.sysProg")
+security_groups_sysProg=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.sysProg")
if [ -z "${security_groups_sysProg}" ]; then
security_groups_sysProg=${ZWE_PRIVATE_DEFAULT_ADMIN_GROUP}
fi
-security_users_zowe=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zowe")
+security_users_zowe=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zowe")
if [ -z "${security_users_zowe}" ]; then
security_users_zowe=${ZWE_PRIVATE_DEFAULT_ZOWE_USER}
fi
-security_users_zis=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zis")
+security_users_zis=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zis")
if [ -z "${security_users_zis}" ]; then
security_users_zis=${ZWE_PRIVATE_DEFAULT_ZIS_USER}
fi
-security_stcs_zowe=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.zowe")
+security_stcs_zowe=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.zowe")
if [ -z "${security_stcs_zowe}" ]; then
security_stcs_zowe=${ZWE_PRIVATE_DEFAULT_ZOWE_STC}
fi
-security_stcs_zis=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.zis")
+security_stcs_zis=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.zis")
if [ -z "${security_stcs_zis}" ]; then
security_stcs_zis=${ZWE_PRIVATE_DEFAULT_ZIS_STC}
fi
-security_stcs_aux=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.aux")
+security_stcs_aux=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.aux")
if [ -z "${security_stcs_aux}" ]; then
security_stcs_aux=${ZWE_PRIVATE_DEFAULT_AUX_STC}
fi
diff --git a/bin/commands/init/stc/index.sh b/bin/commands/init/stc/index.sh
index c26cf6e7e8..f3de7377e9 100644
--- a/bin/commands/init/stc/index.sh
+++ b/bin/commands/init/stc/index.sh
@@ -19,47 +19,47 @@ proclibs="ZWESLSTC ZWESISTC ZWESASTC"
###############################
# validation
-require_zowe_yaml
+require_zowe_yaml "skipnode"
# read prefix and validate
-prefix=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
+prefix=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
if [ -z "${prefix}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe dataset prefix (zowe.setup.dataset.prefix) is not defined in Zowe YAML configuration file." "" 157
fi
# read PROCLIB and validate
-proclib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.proclib")
+proclib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.proclib")
if [ -z "${proclib}" ]; then
print_error_and_exit "Error ZWEL0157E: PROCLIB (zowe.setup.dataset.proclib) is not defined in Zowe YAML configuration file." "" 157
fi
# read JCL library and validate
-jcllib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.jcllib")
+jcllib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.jcllib")
if [ -z "${jcllib}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe custom JCL library (zowe.setup.dataset.jcllib) is not defined in Zowe YAML configuration file." "" 157
fi
# read PARMLIB and validate
-parmlib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.parmlib")
+parmlib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.parmlib")
if [ -z "${parmlib}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe custom parameter library (zowe.setup.dataset.parmlib) is not defined in Zowe YAML configuration file." "" 157
fi
# read LOADLIB and validate
-authLoadlib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.authLoadlib")
+authLoadlib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.authLoadlib")
if [ -z "${authLoadlib}" ]; then
# authLoadlib can be empty
authLoadlib="${prefix}.${ZWE_PRIVATE_DS_SZWEAUTH}"
fi
-authPluginLib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.authPluginLib")
+authPluginLib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.authPluginLib")
if [ -z "${authPluginLib}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe custom load library (zowe.setup.dataset.authPluginLib) is not defined in Zowe YAML configuration file." "" 157
fi
-security_stcs_zowe=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.zowe")
+security_stcs_zowe=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.zowe")
if [ -z "${security_stcs_zowe}" ]; then
security_stcs_zowe=${ZWE_PRIVATE_DEFAULT_ZOWE_STC}
fi
-security_stcs_zis=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.zis")
+security_stcs_zis=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.zis")
if [ -z "${security_stcs_zis}" ]; then
security_stcs_zis=${ZWE_PRIVATE_DEFAULT_ZIS_STC}
fi
-security_stcs_aux=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.aux")
+security_stcs_aux=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.stcs.aux")
if [ -z "${security_stcs_aux}" ]; then
security_stcs_aux=${ZWE_PRIVATE_DEFAULT_AUX_STC}
fi
diff --git a/bin/commands/init/vsam/index.sh b/bin/commands/init/vsam/index.sh
index f40e606b6a..e279ff07b7 100644
--- a/bin/commands/init/vsam/index.sh
+++ b/bin/commands/init/vsam/index.sh
@@ -18,43 +18,43 @@ print_level1_message "Create VSAM storage for Zowe Caching Service"
###############################
# validation
-require_zowe_yaml
+require_zowe_yaml "skipnode"
-caching_storage=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".components.caching-service.storage.mode" | upper_case)
+caching_storage=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".components.caching-service.storage.mode" | upper_case)
if [ "${caching_storage}" != "VSAM" ]; then
print_error "Warning ZWEL0301W: Zowe Caching Service is not configured to use VSAM. Command skipped."
return 0
fi
# read prefix and validate
-prefix=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
+prefix=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
if [ -z "${prefix}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe dataset prefix (zowe.setup.dataset.prefix) is not defined in Zowe YAML configuration file." "" 157
fi
# read JCL library and validate
-jcllib=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.jcllib")
+jcllib=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.jcllib")
if [ -z "${jcllib}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe custom JCL library (zowe.setup.dataset.jcllib) is not defined in Zowe YAML configuration file." "" 157
fi
-vsam_mode=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.vsam.mode")
+vsam_mode=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.vsam.mode")
if [ -z "${vsam_mode}" ]; then
vsam_mode=NONRLS
fi
vsam_volume=
if [ "${vsam_mode}" = "NONRLS" ]; then
- vsam_volume=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.vsam.volume")
+ vsam_volume=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.vsam.volume")
if [ -z "${vsam_volume}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe Caching Service VSAM data set volume (zowe.setup.vsam.volume) is not defined in Zowe YAML configuration file." "" 157
fi
fi
vsam_storageClass=
if [ "${vsam_mode}" = "RLS" ]; then
- vsam_storageClass=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.vsam.storageClass")
+ vsam_storageClass=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.vsam.storageClass")
if [ -z "${vsam_storageClass}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe Caching Service VSAM data set RLS storage class (zowe.setup.vsam.storageClass) is not defined in Zowe YAML configuration file." "" 157
fi
fi
-vsam_name=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".components.caching-service.storage.vsam.name")
+vsam_name=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".components.caching-service.storage.vsam.name")
if [ -z "${vsam_name}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe Caching Service VSAM data set name (components.caching-service.storage.vsam.name) is not defined in Zowe YAML configuration file." "" 157
fi
diff --git a/bin/commands/install/index.sh b/bin/commands/install/index.sh
index 0fc9e7fad6..05a0455e6d 100644
--- a/bin/commands/install/index.sh
+++ b/bin/commands/install/index.sh
@@ -26,10 +26,10 @@ ${ZWE_PRIVATE_DS_SZWEEXEC}|Zowe executable utilities library|dsntype(library) ds
if [ -n "${ZWE_CLI_PARAMETER_DATASET_PREFIX}" ]; then
prefix="${ZWE_CLI_PARAMETER_DATASET_PREFIX}"
else
- require_zowe_yaml
+ require_zowe_yaml "skipnode"
# read prefix and validate
- prefix=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
+ prefix=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.dataset.prefix")
if [ -z "${prefix}" ]; then
print_error_and_exit "Error ZWEL0157E: Zowe dataset prefix (zowe.setup.dataset.prefix) is not defined in Zowe YAML configuration file." "" 157
fi
diff --git a/bin/libs/common.sh b/bin/libs/common.sh
index 5db74cc256..52815dfe6a 100644
--- a/bin/libs/common.sh
+++ b/bin/libs/common.sh
@@ -46,9 +46,9 @@ check_configmgr_enabled() {
}
require_zowe_yaml() {
- # node is required to read yaml file
- require_node
-
+ if [ -z "${1}" ]; then
+ require_node
+ fi
if [ -z "${ZWE_CLI_PARAMETER_CONFIG}" ]; then
print_error_and_exit "Error ZWEL0108E: Zowe YAML config file is required." "" 108
elif [ ! -f "${ZWE_CLI_PARAMETER_CONFIG}" ]; then
diff --git a/bin/libs/common.ts b/bin/libs/common.ts
index ad3457926c..47bdd94dcc 100644
--- a/bin/libs/common.ts
+++ b/bin/libs/common.ts
@@ -128,36 +128,21 @@ export function date(...args: string[]): string|undefined {
let logExists = false;
-let logFile:std.File|null = null;
function writeLog(message: string): boolean {
+ const filename = std.getenv('ZWE_PRIVATE_LOG_FILE');
+ if (!filename) {
+ return false;
+ }
+ logExists = fs.fileExists(filename);
if (!logExists) {
- const filename = std.getenv('ZWE_PRIVATE_LOG_FILE');
- if (filename) {
+ fs.createFile(filename, 0o640, message);
logExists = fs.fileExists(filename);
- if (!logExists) {
- fs.createFile(filename, 0o640, message);
- logExists = fs.fileExists(filename);
- }
- if (logExists) {
- let errObj = {errno:undefined};
- logFile = std.open(filename, 'w', errObj);
- if (errObj.errno) {
- printError(`Error opening file ${filename}, errno=${errObj.errno}`);
- logFile=null;
- logExists=false;
- return false;
- }
- }
- }
- }
- if (logFile===undefined || logFile===null) {
- return false;
} else {
- //TODO this does utf8. should we flip it to 1047 on zos?
- logFile.puts(message);
- return true;
+ xplatform.appendFileUTF8(filename, xplatform.AUTO_DETECT, message);
+ return true;
}
+ return logExists;
}
diff --git a/bin/libs/json.sh b/bin/libs/json.sh
index 5b5342a4a3..322361c3dc 100644
--- a/bin/libs/json.sh
+++ b/bin/libs/json.sh
@@ -109,6 +109,40 @@ read_yaml() {
return ${code}
}
+read_yaml_configmgr() {
+ file="${1}"
+ key=$(echo "${2}" | tr '.' '/')
+ ignore_null="${3:-true}"
+
+ print_trace "- read_yaml_configmgr process ${file} and extract '${2} -> ${key}'"
+
+ configmgr="${ZWE_zowe_runtimeDirectory}/bin/utils/configmgr"
+ schema="${ZWE_zowe_runtimeDirectory}/schemas/server-common.json:${ZWE_zowe_runtimeDirectory}/schemas/zowe-yaml-schema.json"
+
+ result=$(_CEE_RUNOPTS="XPLINK(ON)" "${configmgr}" -s "$schema" -p "FILE(${file})" extract "${key}" 2>&1);
+ code=$?
+
+ # When the item is not defined in config, configmgr returns
+ # code 0 and
+ # stdout = "error not found, reason=nnn"
+ if [[ "${result}" == "error not found, reason="* ]]; then
+ result=""
+ fi
+
+ print_trace " * Exit code: ${code}"
+ print_trace " * Output:"
+ print_trace "$(padding_left "${result}" " ")"
+
+ if [ ${code} -eq 0 ]; then
+ if [ "${ignore_null}" = "true" ]; then
+ if [ "${result}" = "null" -o "${result}" = "undefined" ]; then
+ result=
+ fi
+ fi
+ printf "${result}"
+ fi
+}
+
read_json() {
file="${1}"
key="${2}"
diff --git a/build/zwe/types/@qjstypes/xplatform.d.ts b/build/zwe/types/@qjstypes/xplatform.d.ts
index f139e1ac00..6d4572936e 100644
--- a/build/zwe/types/@qjstypes/xplatform.d.ts
+++ b/build/zwe/types/@qjstypes/xplatform.d.ts
@@ -27,6 +27,7 @@ export function stringFromBytes(data:ArrayBuffer, offset:number, length:number,
*/
export function loadFileUTF8(path:string, sourceCCSID:number):string;
export function storeFileUTF8(path:string, targetCCSID:number, content:string):number;
+export function appendFileUTF8(path: string, targetCCSID:number, content:string):number;
export var AUTO_DETECT:number;
export var NO_CONVERT:number;
diff --git a/example-zowe.yaml b/example-zowe.yaml
index 79d9c61186..726cf64608 100644
--- a/example-zowe.yaml
+++ b/example-zowe.yaml
@@ -39,7 +39,7 @@ zowe:
# MVS data set related configurations
dataset:
# **COMMONLY_CUSTOMIZED**
- # where Zowe MVS data sets will be installed
+ # where are existing Zowe SZWEEXEC Target libraries
prefix: IBMUSER.ZWEV3
# **COMMONLY_CUSTOMIZED**
# PROCLIB where Zowe STCs will be copied over
@@ -457,17 +457,17 @@ java:
#-------------------------------------------------------------------------------
-# node.js configuration
+# Node.js configuration
#
-# Some Zowe components requires node.js. Define the path where you have your
-# node.js is installed.
+# Some Zowe components requires Node.js. Define the path where you have your
+# Node.js is installed.
#
# **NOTE**: this field can be updated automatically if you pass `--update-config`
# to `zwe init` command.
#-------------------------------------------------------------------------------
node:
# **COMMONLY_CUSTOMIZED**
- # Path to your node.js home directory
+ # Path to your Node.js home directory
home: ""
@@ -623,7 +623,7 @@ components:
# # for this HA instance, we did not customize "components", so it will use default value.
# # HA instance ID, we will start 2 instances on LPAR2
-# # **NOTE**, we can only start one gateway in same LPAR.
+# # **NOTE**, we can only start one Gateway in same LPAR.
# lpar2a:
# # hostname where this instance will be started
# hostname: lpar2.my-company.com
diff --git a/pswi/03_create.sh b/pswi/03_create.sh
index 3f0727843c..9915adfd2b 100644
--- a/pswi/03_create.sh
+++ b/pswi/03_create.sh
@@ -151,6 +151,13 @@ echo "iconv -f ISO8859-1 -t IBM-1047 \$source > _ZWECONF;" >>JCL
echo "sed 's|UTF-8|IBM-1047|g' _ZWECONF > ZWECONF;" >>JCL
echo "cp -T ZWECONF \$target;" >>JCL
echo "/*" >>JCL
+echo "//CHMODZWE EXEC PGM=BPXBATCH" >>JCL
+echo "//STDOUT DD SYSOUT=*" >>JCL
+echo "//STDERR DD SYSOUT=*" >>JCL
+echo "//STDPARM DD *" >>JCL
+echo "SH set -x;set -e;" >>JCL
+echo "chmod -R 777 ${ZOWE_MOUNT};" >>JCL
+echo "/*" >>JCL
sh scripts/submit_jcl.sh "$(cat JCL)"
if [ $? -gt 0 ]; then exit -1; fi
diff --git a/pswi/04_create_cleanup.sh b/pswi/04_create_cleanup.sh
index 16fcc98b3b..f682379f3a 100644
--- a/pswi/04_create_cleanup.sh
+++ b/pswi/04_create_cleanup.sh
@@ -100,29 +100,28 @@ sh scripts/submit_jcl.sh "$(cat JCL)"
# Not checking results so the script doesn't fail
rm JCL
-if [ "$ZOSMF_V" = "2.3" ]; then
- # Unmount and delete
- echo "Unmounting and deleting zFS ${WORK_ZFS}."
-
- echo ${JOBST1} >JCL
- echo ${JOBST2} >>JCL
- echo "//UNMNTZFS EXEC PGM=IKJEFT01,REGION=4096K,DYNAMNBR=50" >>JCL
- echo "//SYSTSPRT DD SYSOUT=*" >>JCL
- echo "//SYSTSOUT DD SYSOUT=*" >>JCL
- echo "//SYSTSIN DD * " >>JCL
- echo "UNMOUNT FILESYSTEM('${WORK_ZFS}') + " >>JCL
- echo "IMMEDIATE" >>JCL
- echo "/*" >>JCL
- echo "//DELTZFST EXEC PGM=IDCAMS" >>JCL
- echo "//SYSPRINT DD SYSOUT=*" >>JCL
- echo "//SYSIN DD *" >>JCL
- echo " DELETE ${WORK_ZFS}" >>JCL
- echo "/*" >>JCL
-
- sh scripts/submit_jcl.sh "$(cat JCL)"
- # Not checking results so the script doesn't fail
- rm JCL
-fi
+
+# Unmount and delete
+echo "Unmounting and deleting zFS ${WORK_ZFS}."
+
+echo ${JOBST1} >JCL
+echo ${JOBST2} >>JCL
+echo "//UNMNTZFS EXEC PGM=IKJEFT01,REGION=4096K,DYNAMNBR=50" >>JCL
+echo "//SYSTSPRT DD SYSOUT=*" >>JCL
+echo "//SYSTSOUT DD SYSOUT=*" >>JCL
+echo "//SYSTSIN DD * " >>JCL
+echo "UNMOUNT FILESYSTEM('${WORK_ZFS}') + " >>JCL
+echo "IMMEDIATE" >>JCL
+echo "/*" >>JCL
+echo "//DELTZFST EXEC PGM=IDCAMS" >>JCL
+echo "//SYSPRINT DD SYSOUT=*" >>JCL
+echo "//SYSIN DD *" >>JCL
+echo " DELETE ${WORK_ZFS}" >>JCL
+echo "/*" >>JCL
+
+sh scripts/submit_jcl.sh "$(cat JCL)"
+# Not checking results so the script doesn't fail
+rm JCL
echo "Invoking REST API to unmount Zowe zFS ${ZOWE_ZFS} from its mountpoint."
diff --git a/pswi/ZWECONF_test.sh b/pswi/ZWECONF_test.sh
index a8ba9fbf7a..2fb2696dc3 100755
--- a/pswi/ZWECONF_test.sh
+++ b/pswi/ZWECONF_test.sh
@@ -4,6 +4,9 @@ export ZOSMF_SYSTEM="S0W1"
export JOBNAME="ZWECONF1"
export HOST=${ZOSMF_URL#https:\/\/}
export BASE_URL="${ZOSMF_URL}:${ZOSMF_PORT}"
+CURR_TIME=$(date +%s)
+export LOG_DIR="logs/$CURR_TIME"
+mkdir -p $LOG_DIR
WORK_MOUNT="/tmp"
echo "Changing runtime path in ZWECONF.properties."
@@ -55,6 +58,30 @@ pwd
cp ../example-zowe.yaml example-zowe.yaml
-diff --ed example-zowe.yaml zowe_.yaml >diff.txt || true
+diff example-zowe.yaml zowe_.yaml >diff.txt || true
-diff --ed diff.txt scripts/base_diff.txt >final_diff.txt
+diff diff.txt scripts/base_diff.txt >final_diff.txt || true
+
+concat=$(cat final_diff.txt)
+
+if [ -n "$concat" ]
+then
+ echo "There are some discrepancies between the example-zowe.yaml and the zowe.yaml created by ZWECONF.xml workflow."
+ echo "Please add to or delete from the ZWECONF.xml workflow what needs or doesn't need to be there."
+ echo "E.g. if there is a new variable you need to add it first to the workflow variables, then add the variable to the"
+ echo "'main_variables' step and then also to the step where the zowe.yaml is created."
+ echo "If there was added/deleted just a comment in the example-zowe.yaml please add it also to the workflow so"
+ echo "this step is not failing."
+ echo "Here is the output from the diff command:" # They will surely know what is diff cmd, right
+ while read -r line; do
+ if [[ "$line" =~ ^\< ]]; then
+ echo $line >> final_final_diff.txt
+ fi
+ done
]]>
@@ -2314,24 +2313,20 @@ zwe init vsam -c '${instance-zowe_runtimeDirectory}/zowe.yaml' --allow-overwrite
zwe init apfauth -c ${instance-zowe_runtimeDirectory}/zowe.yml
zwe init security -c ${instance-zowe_runtimeDirectory}/zowe.yml --allow-overwrite
+ zwe init apfauth -c ${instance-zowe_runtimeDirectory}/zowe.yml
NOTE:
Each zwe init sub-command defines a configuration.
-
]]>