EnterpriseOn-premisesZ Understand and Refactor

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
  • cluster-admin privileges, or equivalent permissions, are available for the target OCP cluster.
  • The config.yaml file is configured with the appropriate instanceNamespace value for your deployment.

Setup overview

Enable the workload

In config.yaml, enable Z Understand:

bob:
  understand:
    enabled: true

Apply the configuration:

# New installation
./bobctl install

# Existing installation
./bobctl upgrade

Configure Z Understand

Create a setup.json configuration file from the database-specific sample:

For Db2:

cp setup.sample.ocp.db2.json setup.json

For SQL Server:

cp setup.sample.ocp.sqlserver.json setup.json

Edit setup.json and replace all <INSERT_...> placeholders with your environment values:

FieldDescription
relationalDatabaseServer.hostHostname or IP address of the relational database server.
relationalDatabaseServer.portPort used to connect to the database server. Use 50000 for Db2 or 1433 for Microsoft SQL Server.
relationalDatabaseServer.usernameUsername of a database account with read and write permissions.
relationalDatabaseServer.passwordPassword for the database user account.
graphDatabaseServer.passwordPassword for the internal graph database service. Configure this during setup and store it securely.
userAccess.passwordPassword for the Z Understand admin account.
Note:

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.json

The 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.

FlagRequiredDefaultDescription
--config <filepath>YesNonePath to the setup.json configuration file.
--secret-name <name>Nobobz-understand-setupName of the Kubernetes Secret created to store the configuration.
--no-waitNoNoneExit immediately without waiting for the workload to reach Ready.
--dry-runNoNoneValidate 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-refactor

Check the workload status:

oc get bob <cr-name> -n <instance-namespace> \
  -o jsonpath='{.status.understand.status}'

Expected status: Ready

How is this topic?