Z Understand and Refactor
Install, configure, and manage the Z Understand and Refactor add-on in an existing IBM Bob on-premises deployment.
Z Understand and Refactor is an optional IBM Z Premium Package add-on for IBM Bob on-premises. It extends a base Bob Core deployment with z/OS application analysis and modernization capabilities. The add-on must be enabled at the infrastructure level and assigned to users before it can be used. For more information, see Managing entitlements.
Z Understand provides automated analysis of z/OS application assets including COBOL, PL/I, JCL, and HLASM source code. Refactor exposes the services that the IBM Bob IDE extension uses to generate modernization recommendations.
Prerequisites
Before installing and configuring the Z Understand and Refactor workload, ensure that the following prerequisites are met:
- An IBM Bob on-premises deployment is installed and operational. For more information, see Installation.
- A supported relational database is available and accessible from the Red Hat OpenShift Container Platform (OCP) cluster:
- Db2: default port
50000 - Microsoft SQL Server: default port
1433
- Db2: default port
cluster-adminprivileges, or equivalent permissions, are available for the target OCP cluster.- The
config.yamlfile is configured with the appropriateinstanceNamespacevalue for your deployment.
Setup overview
Enable the workload
In config.yaml, enable Z Understand:
bob:
understand:
enabled: trueApply the configuration:
# New installation
./bobctl install
# Existing installation
./bobctl upgradeConfigure Z Understand
Create a setup.json configuration file from the database-specific sample:
For Db2:
cp setup.sample.ocp.db2.json setup.jsonFor SQL Server:
cp setup.sample.ocp.sqlserver.json setup.jsonEdit setup.json and replace all <INSERT_...> placeholders with your environment values:
| Field | Description |
|---|---|
relationalDatabaseServer.host | Hostname or IP address of the relational database server. |
relationalDatabaseServer.port | Port used to connect to the database server. Use 50000 for Db2 or 1433 for Microsoft SQL Server. |
relationalDatabaseServer.username | Username of a database account with read and write permissions. |
relationalDatabaseServer.password | Password for the database user account. |
graphDatabaseServer.password | Password for the internal graph database service. Configure this during setup and store it securely. |
userAccess.password | Password for the Z Understand admin account. |
generalSettings.ip does not require manual configuration. The controller automatically detects and populates the appropriate cluster ingress hostname during deployment.
Run setup
Run the setup command to store the configuration as a Kubernetes Secret, update the Bob CR to enable the workload, and monitor deployment status:
./bobctl understand setup --config setup.jsonThe command:
- Creates a Kubernetes Secret containing database credentials.
- Updates the Bob custom resource to reference the secret.
- Waits for the workload to reach the Ready state.
The setup process can take up to 15 minutes.
| Flag | Required | Default | Description |
|---|---|---|---|
--config <filepath> | Yes | None | Path to the setup.json configuration file. |
--secret-name <name> | No | bobz-understand-setup | Name of the Kubernetes Secret created to store the configuration. |
--no-wait | No | None | Exit immediately without waiting for the workload to reach Ready. |
--dry-run | No | None | Validate and preview changes without applying them to the cluster. |
Note: The setup command can be run only once during the initial deployment. For subsequent lifecycle management, use the enable and disable commands.
Verify the deployment
Verify that the Z Understand and Refactor pods are running:
oc get pods -n <instance-namespace> -l app=ibm-bobz-understand
oc get pods -n <instance-namespace> -l app=ibm-bobz-refactorCheck the workload status:
oc get bob <cr-name> -n <instance-namespace> \
-o jsonpath='{.status.understand.status}'Expected status: Ready