Configuring the container runtime on your z/OS system

Configuration of the container runtime on your system is performed through a z/OSMF workflow.

The goal of this section is to configure a system so that you can build and run containers using Podman for IBM® z/OS® (Podman). Some networking and security setup is required, as well as configuring z/OS itself. These steps are outlined in the z/OSMF workflow to help guide you through the process.

Diagram overview for configuring steps
  1. z/OS system programmer Roadmap: z/OS system programmer
  2. z/OS security administrator Roadmap: z/OS security administrator

What does the container runtime configuration workflow do?

Performs the setup of IBM z/OS Container Platform (zOSCP) on the specified z/OS system. The workflow ensures that you have set up the appropriate userid, file systems, mount points, and networking to begin using zOSCP.

When zOSCP is installed, the workflow XML files are placed in the following directory:

Table 1. XML file for the workflow to configure the container runtime
XML file name Location Purpose
zoscp_general.xml /usr/lpp/IBM/zoscp/workflows Workflow definition file for container runtime configuration

Workflow definition file for container runtime configuration

The workflow definition file contains the logical structure of the workflow and identifies the various system objects, actions, and rules to perform a set of tasks.

The zoscp_general.xml contains the guided set of steps and JCL that helps you to prepare for running the zOSCP runtime. The XML file includes the variable definitions and file templates.

Workflow variable input file for container runtime configuration

z/OSMF allows a workflow variable input file to be provided when creating a workflow. The workflow variable input file contains the variables and the corresponding values that will be populated to provision the worker node instance.

A sample input properties file that contains variables for the zcpa_provision.xml workflow is provided in the sample workflow properties file directory and named workflow_variables.properties.

Variables used in the general workflow

Table 2. zoscp_general workflow variables
Variable Description Validation type Default

      required
    containers_run_filesystem_size
  
The size of the file system in MB for the /var/run/containers temporary file system. Either specify a size in MB or leave the default size for the run temporary file system that is created in this step. INTEGER (1 - 2048) 256

      required
  containers_runc_filesystem_size
  
The size of the file system in MB for the var/run/runc temporary file system. Either specify a size in MB or leave the default size for the runC temporary file system that is created in this step. INTEGER (1 - 2048) 100
required
  ipv
  
The IP (Internet Protocol) version used for container networking. Select the IP version to enable in the Container Network Interface for IBM z/OS (IBM z/OS CNI) configuration file. This can be either IPv4 or IPv6. IPv4 or IPv6 IPv4
requireduser_runtime_filesystem_size
The size of the filesystem in MB for the /var/run/user temporary file system. INTEGER 512
requiredtmpdir
A temporary directory used for running Podman commands. Specify a temporary directory that exists. This step will create files needed by Podman for validation from this directory. STRING /tmp

    required
  podman_lib_volser
    
Volume used to allocate the file system for container images and artifacts. Specify a VOLSER to be used in the JCL to allocate a permanent file system. The file system is used for container images and other artifacts created by the container runtime with Podman. This is required if your z/OS system does not use SMS-managed storage. VOLSER  

      required
  podman_lib_filesystem
  
The name of the file system to create for the Podman lib file system. Either specify a name or leave the default name for the lib file system that is created in this step. This file system stores container images and other artifacts that the container runtime creates. DSNAME BCZ.PODLIB

      required
  podman_lib_filesystem_primary
  
Primary size of the Podman lib file system in MB. Either specify a primary size in MB or leave the default size for the Podman lib file system that is created in this step. INTEGER (1 - 16777215) 4096

      required
  podman_lib_filesystem_secondary
  
Secondary size of the Podman lib file system in MB. Either specify a secondary size in MB or leave the default size for the Podman lib file system that is created in this step. INTEGER (1 - 16777215) 2048
      
  podman_lib_MGMTCLAS
  
The MGMTCLAS to use if the zFS filesystem for the Podman lib is using SMS managed storage. This input variable may be required if the SMS ACS routines are not selecting a management class.
Note: If SMS managed storage is being used, check with your storage administrator to determine what MGMTCLAS to use and whether the MGMTCLAS specification is required.
STRING  

  podman_lib_STORCLAS
  
The STORCLAS to use if the zFS filesystem for the Podman lib is using SMS managed storage. This input variable may be required if the SMS ACS routines are not selecting a storage class.
Note: If SMS managed storage is being used, check with your storage administrator to determine what STORCLAS to use and whether the STORCLAS specification is required.
STRING  
    
  podman_lib_DATACLAS
  
The DATACLAS to use if the zFS filesystem for the Podman lib is using SMS managed storage. This input variable may be required if the SMS ACS routines are not selecting a data class.
Note: If SMS managed storage is being used, check with your storage administrator to determine what DATACLAS to use and whether the DATACLAS specification is required.
STRING