All notable changes to the Zowe Installer will be documented in this file.
- Bugfix: When logging
zwe
command, sometimes the log has wrong file tag and the log is unreadable. #4071 - Bugfix: When
--log-dir
parameter forzwe
command is a file, there might be an error "InternalError: stack overflow". #4064 - Enhancement: command
zwe init
does not require NodeJS #4088 - Enhancement: command
zwe install
does not require NodeJS #4069 - Enhancement: new javascript funtion
getStatvfs()
to obtain information about the file sysytem #3994 - Enhancement: command
zwe diagnose
in javascript only #4061 - Enhancement: schema validation update for
zowe.job.name
andzowe.job.prefix
#4060
- The Zowe YAML now requires the
zaas
component for the API Mediation Layer to work. See example-zowe.yaml for new component values. - The Zowe YAML attribute
components.gateway.apiml.security.auth.zosmf.serviceId
for the “gateway” component has changed from “zosmf” to “ibmzosmf”. This may impact Zowe Clients. See example-zowe.yaml for new component values. For more information on this change, please see the API Mediation Layer's 3.0.0 Breaking Changes. - The Zowe YAML parameter
components.gateway.apiml.security.auth.zosmf.jwtAutoconfiguration
for the “gateway” component has changed. The value “auto” is no longer allowed, and you must choose either the default of “jwt” or “ltpa” depending on if your z/OSMF is set up for JWT use as recommended See example-zowe.yaml for new component values. For more information on this change, please see the API Mediation Layer's 3.0.0 Breaking Changes.
- Enhancement: Added explanation to possible error message when checking z/OSMF setting. #3956
- Enhancement: New plugin identifier added to list of plugins and
allowedPlugins.json
for the new V3 Desktop in Angular 18. #3984
- Enhancement:
zwe components install
andzwe components upgrade
now checks the schema validity of any application framework plugins present within a component, so that you will know better if a component is valid prior to running Zowe. #3866 - Enhancement: Added zowe.network.server.tls.attls and zowe.network.client.tls.attls as booleans for controlling global or per-component way to tell Zowe servers that they should operate in a mode compatible with an AT-TLS setup. #3463
- Enhancement: Reduced resource consumption by removal of one shell process per server that was used when starting each server. (#3812)
- Enhancement: The command
zwe support
now includes CEE Runtime option output to better diagnose issues related to environment customization. (#3799) - Bugfix: zowe.network.validatePortFree and zowe.network.vipaIp variables were moved from zowe.network to zowe.network.server in the schema but not in the code, causing inability to use them without the workaround of specifying them as environment variables ZWE_NETWORK_VALIDATE_PORT_FREE and ZWE_NETWORK_VIPA_IP instead. Now, the variables match the schema: zowe.network.server is used instead of zowe.network.
- Bugfix: configmgr operations now run with HEAPPOOLS64 set to OFF to avoid abends caused when this parameter is not OFF. (#3799)
- Bugfix:
zwe diagnose
running under comfigmgr and output formatted. Fixes #3627.
- Enhancement: configmgr.ts now can return a Zowe config with the given HA instance's configuration substituted for convenience. This now used in zwe to fix an issue where zwe would not respect the preference of if a component was enabled or disabled in a particular instance when zowe.useConfigmgr was set to true.
- Bugfix: environment variables were not using the values specified for each HA instance when zowe.useConfigmgr was set to true.
- Enhancement: Added utility "getesm" into bin/utils. When run it outputs to STDOUT which ESM your system is using. (#3662)
- Bugfix: Workflow files in the Zowe PAX are now ASCII-encoded. Fixes #3591.
- Enhancement:
/bin/utils/date-add.rex
utility is accepting the date formatting as combination of YY|YYYY, MM, DD and any separator.
- Enhancement: Duplicate log messages into syslog according to "zowe.sysMessages" array #93
- Bugfix:
zowe-yaml-schema.json
validates unix directory path asserver-common#zowePath
- Bugfix: Fixed that Zowe would allow newer Java versions to generate PKCS12 keystores that was not compatible with some components. Newer versions of Java by default create PKCS12 keystores that aren't compatible with GSK / SystemSSL which components such as ZSS use, but include flags to restore a compatibility mode, which Zowe now uses. (#3507)
- Enhancement: Added a new zwe "diagnose" command to find help on zowe error messages. (#3455)
- Enhancement: Check for node v18 which is now supported, but disallow v18.12.1 because it is known not to work for Zowe. (#3485)
- Users who have not set the value of "zowe.useConfimgr" will have the behavior now set to "true" rather than the previous "false". If you wish to use false still, just set "zowe.useConfigmgr=false" explicitly.
- Component installation can now print stdout of install scripts #3361
- Bugfix: Component environment variables would not be aliased to the "configs" shorthand when the component had a configure script, but not a validate script, and zowe.useConfigmgr was enabled.
- Buffix: When zowe.useConfigmgr=true, component installation would not run the installation script from the component root directory, but instead from the place zwe was executed, causing relative path differences versus zowe.useConfigmgr=false.
- The zowe authorized loadlib now contains a new ZIS plugin as a member named "ZWESISDL". This is the ZIS Dynamic Plugin, and exists for use by other plugins that wish to access zowe-common-c utilities at runtime without needing to statically link them in the other plugin. This plugin must be referenced in the ZWESIP00 parmlib member before use. The samplib for ZWESIP00 now references this "ZWESISDL" member and it is recommended that you update your ZWESIP00 member using the samplib if you need to use this plugin.
- When zwe components install detects that the given component is already installed, it will suggest you to run zwe components upgrade instead.
- Launcher parameters such as "shareAs" could not be customized globally due to zowe.launcher schema being wrong with some parameters nested inside another.
- Launcher parameters within an individual component were not documented to exist despite the launcher allowing per-component customization.
- Fixed that zwe would fail to recursively make missing directories if the root directory was not readable by the user.
- zwe detects and warns against nodejs lower than version 14 (Due to end of life of v12)
- Tracing and writing to log files would not work for component scripts when zowe.useConfigmgr=true
- Node v18 was installed on marist system and test were made to run with node v18.
- When a component configure script failed during startup, no warning would be printed. Starting in 2.6, a warning will be printed and there's also an option to prevent Zowe from continuing startup when this failure is seen, by setting
zowe.launchScript.onComponentConfigureFail
to "exit" - Tar archived components would not be installed when zowe.useConfigmgr=true was set.
- Various bugfixes made for reading and writing of parmlib configuration files when using the PARMLIB() syntax with zwe commands or the ZWESLSTC job.
- Revised help documentation syntax for substitution values to fix auto-documentation, by changing angle brackets to square brackets.
- zwe now has a
zwe config get
andzwe config validate
command. The get command can be used to get a part of the zowe yaml configuration without needing to read the yaml yourself.zwe config get
only returns values upon proving the configuration is valid first.zwe config validate
can be used to perform validation of the zowe configuration files without running any additional actions. This is useful for verifying that a change is valid before starting zowe, for example.
- A new component management command
zwe components upgrade
allows you to install an already-installed component. - A new component management command
zwe components uninstall
allows you to remove an installed extension. - A new component management command
zwe components search
allows you to query for extensions. zwe components
subcommands can now search for, install, and upgrade extensions retrieved via an on-prem or remote package registry. At this time, npm is supported as the registry and package manager technology thatzwe
can use to download content. This is an optional feature and is not enabled by default: it must be configured. View the schema for zowe.yaml to learn more about the "package registry" and "registry handler" technologies to configure for this feature. More information and a recorded demo is available at #2980
- Use of DVIPA may cause Zowe to believe a port is not free when it is. Starting in this release, Zowe can narrow its port validation to a specific IP via
zowe.network.vipaIp=some.ip
or bypass the verification viazowe.network.validatePortFree=false
. Setting this to false will still cause the servers to be unable to connect if the port is not free, but this can be a more accurate and portable setting. - component configure stages will now have their STDOUT printed when running at the INFO level of zwe verbosity.
- zwe was not guaranteeing that the workspace folder had 770 permission when zowe.useConfigmgr=true was set
- Zowe's 'configmgr' mode is now the default operating mode for installation and configuration when available. To disable this behavior, set
zowe.useConfigmgr
tofalse
in yourzowe.yaml
.- Zowe containerization does not yet support 'configmgr' mode. If you have an existing Kubernetes deployment of Zowe and are upgrading to 2.4.0, you should set
zowe.useConfigmgr
tofalse
in your zowe YAML configmap. This is set by default for new Kubernetes deployments.
- Zowe containerization does not yet support 'configmgr' mode. If you have an existing Kubernetes deployment of Zowe and are upgrading to 2.4.0, you should set
- zwe can now validate component configuration through use of configmgr and json-schema. If a component does not have a schema, a warning will be printed. Due to schemas being required since 2.0, this behavior may change in a later version.
- Components can now provide an array of schema files rather than just one. This allows for better re-use and organization.
- Zowe can now start using zowe.yaml loaded from PARMLIB members if you want, when using the STC startup as well as the
zwe start
,zwe stop
, andzwe components
commands. These can be specified in --config / CONFIG input as PARMLIB() entries. For example, zwe start --config FILE(/my/customizations.yaml):PARMLIB(TEAM.CUSTOM.ZOWE(YAML)):PARMLIB(ORG.CUSTOM.ZOWE(YAML)):FILE(/zowe/defaults.yaml) ... Note when using PARMLIB, every member name must be the same.
- zowe.environments was not applied when zowe.useConfigmgr=true was set
- A new dataset, SZWELOAD was added. It contains versions of configmgr named
ZWECFG31
,ZWECFG64
, andZWERXCFG
which can be used to invoke configmgr from within a rexx program. The expected use case is to simplify how complex JCL gets configuration info about Zowe. - Zowe can now start in a mode called 'configmgr' mode. You can enable this in certain
zwe
commands by adding--configmgr
. Not all commands support this yet, more will over time. For now, you can use it inzwe start
,zwe stop
, andzwe components
. This mode is generally significantly faster to start up Zowe, but also enforces validation of the zowe.yaml configuration against the zowe.yaml schema files (found in/schemas
). - Zowe can now start using multiple zowe.yaml files when using 'configmgr' mode. This works for the STC startup as well as the
zwe start
,zwe stop
, andzwe components
commands. Each file must follow the same zowe.yaml schema as before, but in the list of files, properties found in a file to the right will be overridden by the file to the left. Through this, you can separate portions of Zowe configuration any way you want. To use multiple files, change your existing --config / CONFIG input to instead be a list of FILE() entries which are colon ':' separated. For example, zwe start --config FILE(/my/customizations.yaml):FILE(/zowe/defaults.yaml) - Zowe server YAML files can now have templates within them when using 'configmgr' mode. When the value of any attribute contains
${{ }}
, the content within the brackets will be replaced with whatever the template evaluates to. The entries are processed as ECMAScript2020-compatible javascript assignments. You can for example, set one property to the value of another, such as havingparmlib: ${{ zowe.setup.dataset.prefix }}.MYPARM
rather than needing to type the prefix explicitly. You can also use this to set conditionals. For examples, please check the ZSS default yaml file: https://github.com/zowe/zss/blob/013d11d700003483fde38e1df0a373bb5bd4ef8c/defaults.yaml
- Schema pattern for semver range has been simplified as it was not compiling in configmgr
- When
zwe components install
could not find or set the PC bit of a ZSS plugin, it would print out an example command for fixing the issue. Now, it shows the exact command you could execute to fix the PC bit problem.
- A new command,
configmgr
is now present. It can load, validate, and report on the zowe configuration file.
- A new command, 'zwe' is now present which can be used to do various zowe server commands like install and run. To learn more, try
zwe --help
or find the same help on the zowe documentation website.
- Zowe no longer uses instance.env, but instead uses a zowe.yaml file for configuration
- Zowe no longer uses an instance directory, but instead uses the zowe.yaml to find all zowe directories, and the zwe command to handle most zowe management operations.
- app-server's uninstall-app.sh script is now available in the instance bin folder.
- zss's zis-plugin-install.sh script is now available in the instance bin/utils folder.
- A new dataset is created during instance creation. The dataset is to be used for holding ZIS plugins, as an alternative to putting the plugins inside of the ZIS loadlib which is still the default.
- New instance parameters describing ZIS are available and automatically recorded in instance.env if a new install is done via a convenience build. These parameters can be used in future automation of detecting ZIS and installing ZIS plugins
- New instance creation parameters -d or -l, -p, and -z are now available in the instance creation script for manually specifying the new ZIS parameters.
- server-bundle docker image has been optimized to greatly reduce the size without impacting the content and usability
- server-bundle docker image now runs zowe under the user "zowe", and the default mount locations of instance, keystore, and plugins directories is now within /home/zowe as a result
- You can now start ZSS independent from the Zowe Application Framework server by specifying the
LAUNCH_COMPONENT_GROUP "ZSS"
. IfDESKTOP
is specified instead ofZSS
, ZSS will still be included as a prerequisite to the Application Framework server. #1632 - Zowe instance configuration script (
zowe-configure-instance.sh
) can now skip checking for Node.js by passing in the-s
flag since Node.js may not be needed if the components to be launched don't require it. #1677 - The
run-zowe.sh
script can also skip the checking for Node.js by setting the environment variableSKIP_NODE=1
for the cases where the components to be launched don't require Node.js. - Exported the
EXTERNAL_CERTIFICATE_AUTHORITIES
variable to thezowe-certificates.env
file such that it may be used by the Application Framework server. #1742
- Moved explorer-ui-server out of explorers into new
shared
folder under Zowe Runtime Directory. It involved following PRs (#1545), (zowe/explorer-jes#207), (zowe/explorer-ui-server#37). Thanks @stevenhorsman, @nakulmanchanda, @jackjia-ibm - Created
zowe-setup-keyring-certificates.env
and removed the overloaded properties fromzowe-setup-certificates.env
to try and clarify the user experience when setting up certificates in the keyring and USS keystore modes. #1603
- Allow the user to verify the authenticity of a Zowe driver. The script
zowe-verify-authenticity.sh
will check that a ZoweROOT_DIR
for an installed release matches the contents for when that release was created, which assists with support and troubleshooting. To verify pre-1.14 releases, the script and its associated code are available separately (see #1552). For more information, see the new topic Verify Zowe Runtime Directory that describes the operation of the script. - Allow multiple domains (names/IP Addresses) when generating certificates. This also includes SMP/E
HOLDDATA
for the affected functionZowe Configuration
. #1511 - Included z/OSMF workflows for Zowe z/OS configuration. #1527
- Added warning if
ZWESVSTC
runs under user IDIZUSVR
. #1534 - [Docs] Changed the documentation to say that SZWEAUTH PDSE load library members should not be copied elsewhere, but instead that the original installation target SZWEAUTH PDSE should be APF-authorized and used as the runtime load library. This also includes SMP/E
HOLDDATA
for the affected functionSTC JCL
as well as changes to topics Installing and configuring the Zowe cross memory server (ZWESISTC) and Installing and starting the Zowe started task (ZWESVSTC). - [Docs] Added a new topic Installing and configuring Zowe z/OS components using scripts.
- Updated zowe-configure-instance upgrade to update ROOT_DIR #1414
- Update port validation logic to reduce false negatives #1399
- Update install and configure to tolerate ZERT Network Analyzer better #1124
- Edit default plugin references to point to $ROOT_DIR env var
2020-05-08 Timothy Gerstel [email protected]
-
Set up SSO in a standard install of Zowe via new environment variables set in zowe-setup-certificates.env
-
Automate conversion of APIML public key and storage within PKCS#11 token
-
When the hostname cannot be resolved use the IP address instead. This covers the scenario when the USS
hostname
command returned a system name that wasn't externally addressable, such asS0W1.DAL-EBIS.IHOST.COM
which occurs on an image created from the z/OS Application Developers Controlled Distribution (ADCD). -
Separate zss component from app-server component