Preparing for sandbox instances provisioning
Before you create a sandbox instance with WaziSandboxSystem or copy
volumes with WaziSandboxVolumeCopy, ensure that these requirements are
met.
Audience: Application developers
- You need to be familiar with the basic Red Hat® OpenShift or Kubernetes commands:
ocorkubectl - The cluster administrator installed the Sandbox Operator in the cluster and provided the
following information to you.
Table 1. Instructions on preparing for sandbox instances provisioning Custom Resource Requirements Required/Optional Detailed instructions WaziSandboxSystemorWaziSandboxVolumeCopyA project or namespace where the Sandbox Operator is running, and you have permissions to create the Custom Resource for the sandbox instance. Required Any cluster-specific configuration to control deployment of the sandbox instance. Required A unique name in the namespace for the sandbox instance. Required The image pull secret for the registry with the Sandbox container. The name of the image pull secret must be wazi-sandbox-pull-secret. Required How to create an image pull secret The name of a Secret that contains the password for the SFTP server that holds the Extended ADCD volumes. Or the password for the SFTP server. Required How to create a Secret for the SFTP server password The name of a ConfigMap that contains the address of the Sandbox License Server and the details of the SFTP server. Or the detailed information of the Sandbox License Server and the SFTP server. Required How to specify information of the Sandbox License Server and the SFTP server WaziSandboxVolumeCopyThe name of a manually created PersistentVolumeClaim to be used for the cloud-ready image, or the information to create a PersistentVolumeClaim, such as the storage class name, claim size, and any selectors to use and authority to do so. Required if storage is expected to outlive the sandbox instance For more information, see Why to create a PersistentVolumeClaim manually.
How to create a PersistentVolumeClaim manually WaziSandboxSystemThe name of a cloud-ready image to be used for the sandbox instance Prepare a cloud-ready image for future faster sandbox instance provisioning
How to create an image pull secret
Complete the following procedure to create an image pull secret.- Obtain an entitlement key for the image pull secret from IBM Container Library. Click Get an entitlement key if you are not on the entitlement page.
- Create the secret on the namespace that you installed the
wazi-sandbox-operator with the following
command.
oc create secret -n <NAMESPACE> docker-registry wazi-sandbox-pull-secret --docker-server=cp.icr.io --docker-username=cp --docker-password=<your IBM Entitled registry key> --dry-run -o yaml | oc apply -f -
How to create a Secret for the SFTP server password
If the cluster administrator did not create one to be shared among developers, you as the developer must create a Secret to be used in the spec.zpdt.secretName of the Custom Resource YAML file as follows before you create the sandbox instance.
- In the Red Hat OpenShift® web console, navigate to .
- Click Create, select Key/Value Secret, and
complete the required details. Two keys are required in the Secret.
- zdtAuthPassword: Sets an internal password that is used within the container. It must be provided so the sandbox system will not use a hardcoded password.
- sftpPassword: Holds the password for the SFTP server and username that is provided by the cluster administrator.
-
Click Create.

For more information about Custom Resource YAML file, see Configuration reference.
How to specify information of the Sandbox License Server and the SFTP server
If the cluster administrator provided the name of an existing ConfigMap, set spec.zpdt.configMap.name to the name in the Custom Resource YAML file, and leave other ConfigMap fields out of the file.
If the cluster administrator did not provide the name of an existing one to use, follow the procedure below to provide the detailed information of the Sandbox License Server and the SFTP server.
- Set spec.zpdt.configMap.create to true in the Custom Resource YAML file.
- Specify the following keys with the correct values as provided by the cluster
administrator.
All keys are required except sftpPort that defaults to 22. The sftpPort key is required only if a different port was used. The cluster administrator might also provide additional keys and values to use. See the Configuration reference for a complete list of available configuration options.
Key Description licenseServer The address of the Sandbox License Server. sftpHost The address of the SFTP server. sftpPort The port that the SFTP server listens on. sftpUser The username to access the SFTP server. sftpPath The directory path on the SFTP server that contains z/OS® volume files.
Why to create a PersistentVolumeClaim manually
- (Option 1) PersistentVolumeClaim is created by the Sandbox
Operator automatically. In this case, all changes will be lost when the sandbox instance is deleted.
If you take this default approach, you do not need to create a
PersistentVolumeClaim manually.
Use case: This might be desirable in some use cases. For example, an automated test might always want a clean environment and only need a pass or fail result but does not need to retain the contents of the volume.
- (Option 2) PersistentVolumeClaim is created manually, either
by developers or the cluster administrator.
Use case: In most cases, this storage should outlive the sandbox instance and must be managed outside the Sandbox Operator. This is because copying of the volumes from the SFTP server is relatively expensive, and any subsequent changes to the contents, for example, customizations for the target application, need to be saved even if the sandbox instance is deleted. The sandbox instance can then be re-created by using the same storage.
How to create a PersistentVolumeClaim manually
Both developers and the cluster administrator can manually create a PersistentVolumeClaim.
- Obtain the authority to create a PersistentVolumeClaim and information such as the storage class name, claim size, and any selectors to use from the cluster administrator.
- Create a PersistentVolumeClaim as described in Kubernetes documentation about PersistentVolumeClaims.