Wazi as a Service (Wazi aaS) is the offering in IBM Cloud to run a z/OS instance for development and test (DevTest) purposes. Such an instance is also referred to as Virtual Server Image (VSI). You have the options for selecting the z/OS that you run. You can use IBM predefined VSI images, or you can bring your own customized z/OS. Wazi aaS comes with a complete ecosystem to create, manage, and automate your z/OS deployment. This article describes when and how you would perform z/OS software configuration in a z/OS environment. While it concentrates on IBM predefined images, it applies correspondingly on your customized z/OS image.
What is z/OS software configuration?
In z/OS, you usually use Hardware Configuration Definition (HCD) to define virtualization environments or logical partitions (LPARs) with all the attached devices. That is also referred to as hardware configuration of your server. z/OS does not use any attached device unless you define it to the operating system. This is usually referred to as MVS Operating System configuration (OS config) in HCD or just z/OS software configuration. MVS (Multiple Virtual Storage) is still the core of the z/OS operating system.
In HCD, a software configuration is defined in your active I/O definition file (IODF). An MVS Operating System configuration consists of operating system devices (OS devices), generics, NIP consoles and eligible device tables (EDTs). Operating system devices describe all the parameters and features needed by z/OS to use a device, such as whether the device should be taken online during IPL. z/OS builds its Unit Control Blocks (UCBs) from that information. UCBs are used by z/OS to perform I/O operations. HCD automatically creates generics based on the defined operating system devices defined for the OS config. NIP (Nucleus Initialization Phase) consoles are consoles that are used in very early phase of the z/OS IPL to communicate with in operator in case of problems. Nevertheless, they are not supported in Wazi aaS and do not need to be considered here.
An EDT contains esoterics. Esoterics are used by z/OS to allocate devices for I/O for processing. They are customer defined and are usually referenced in customer JCL (job control language), for example to when running batch programs.
Why do I need to do software configuration in Wazi aaS?
When you create your z/OS VSI in the IBM Cloud, you select a z/OS base configuration, that is IPLed when you start the server. When you use one of the available base images, the z/OS VSI already contains a matching IODF and therefore an OS config. When you create your own z/OS base image using the Wazi Image Builder tool, you need to make sure that the image contains a matching IODF. For the predefined z/OS base image, the OS config is already overgenned, meaning it contains all devices that are needed to start the instance, but is also contains unused, predefined OS devices in case, for example, you create extra storage devices and attach them later to your z/OS instance. It also contains a minimum set of esoterics, those required by IBM for z/OS.
Adding or changing OS device in the software configuration is therefore not needed very often. It may only be needed if you want to attach many more devices than are already predefined. Just in case, you can add additional devices of type 3390B. Other storage device types are not supported by Wazi aaS. For networking, you may add additional OSA devices. You can set the parameters and feature to any supported value according to your needs.
More often than additional OS devices, you would add new esoterics to your OS config, to be able to test the jobs that your later want to run in your production environment. To be sure that you do not have to change the jobs, you probably want to define the esoterics you use in your production environment also in your VSI instance. That way, you can test your application with the same definitions and no adaption to your production environment is necessary.
How do I change my software configuration?
The z/OS instance in IBM Cloud is a normal z/OS system. Therefore, you use the same process to adapt the software configuration as you would do on-prem:
- You start with the active IODF of your z/OS VSI
- You use z/OS HCD to build a work IODF from the active IODF and modify your operating system configuration
- You validate the configuration by building a production IODF
- You activate your new IODF dynamically
- You change the LOADxx member to refer to your new IODF in case you need to re-IPL your VSI server
When modifying the IODF, be aware that it needs to contain only the operating system configuration. All hardware definitions are done outside of HCD using IBM Cloud interfaces, e.g., if you attach a disk or network to your z/OS system.
Activating a new IODF can be done using either the HCD ISPF application, option 2.6 “Activate or verify configuration dynamically”, or using the MVS ACTIVATE console command. Be aware that you can just use option “Activate software configuration only” because the IODF does not contain any hardware information, and hardware activation in the Wazi aaS environment is rejected.
When changing the LOADxx member, you must be sure that you update the IODF name correctly. In case you update it to an invalid or incorrect value the IODF might not be found at your next IPL and your z/OS system will no start correctly. There’s no way to correct such a problem except deleting your z/OS system and creating a new one.
Summary
A z/OS system in the IBM Wazi aaS environment is a normal z/OS system. You can change and adapt your software configuration to match the target environment where the application you are developing and testing in that environment is targeted for. You just have to care about software configuration because the virtual environment definition and modification is done outside of your z/OS system in IBM Cloud.