Installing AI Service by using the CLI in interactive mode

You can install AI Service by using the Maximo® Application Suite CLI in interactive mode.

Before you begin

If you are using AI Service 9.1 with the July 2026 patch applied, you can use Oracle as the database. If you are using Oracle as your database, before you install AI Service, complete the following steps to update the AIServiceApp custom resource definition (CRD) with JDBC connection details.

  1. In the Red Hat® OpenShift® web console, go to Administration > CustomResourceDefinitions and click AIServiceApp.
  2. On the YAML tab, add the following section.
    spec:
      settings:
        jdbc:
          url: "jdbc:oracle:thin:@//{oracledb.example.com}:{port}/{service_name}"
          secretName: aiservice-jdbccfg
          ca: "{certificate}"

    For the url parameter, specify a JDBC connection string. For the secretName parameter, specify the name of a Kubernetes secret that contains username and password keys. For the ca parameter, specify the base64-encoded CA certificate of the database server. Replace the oracledb.example.com variable with your Oracle database host. Replace the service_name variable with your Oracle service name.

About this task

The following procedure is an example of installing AI Service as a standalone deployment. Installing in interactive mode alongside other products, such as Maximo Application Suite and Maximo Manage, follows a similar process.

Procedure

  1. Copy the Maximo Application Suite CLI license to a local folder, for example, /home/user/git/devops-configs.

    For more information about obtaining the license, see Setting up IBM Maximo Application Suite.

  2. Open a command line and run the following command.
    docker run -v /home/{user}/git/devops-configs:/tmp -ti --rm --pull always quay.io/ibmmas/cli:master
  3. Ensure that the installation process is successful. The following text is an example of the installation process. Provide values during the installation process and follow the prompts.
    {command list}
    [ibmmas/cli:{version}]mascli$  mas aiservice-install
    
    IBM Maximo Application Suite Admin CLI v{version}
    Powered by https://github.com/ibm-mas/ansible-devops/ and https://tekton.dev/
    
    AI Broker 9.0 Deprecation Notice
    
    Maximo AI Broker (introduced with MAS 9.0) has been replaced with Maximo AI Service as of Aug 1 2025
    To continue using the features that were enabled by the AI broker after that time, you must deploy and use Maximo AI Service 9.1:
     - Maximo AI Service 9.1 is compatible with both Maximo Application Suite 9.0 and 9.1 releases
     - If Maximo AI Service is deployed with Maximo Application Suite 9.0, you can use only the AI features that were included in Maximo Application Suite 9.0
    
    Note: Maximo AI Service 9.1 includes a limited-use license to watsonx.ai and incurs an additional AppPoint cost
    
    1) Set Target OpenShift Cluster
    Server URL: {url}
    Login Token: {token}
    Disable TLS Verify? [y/n] y
    
    2) Choose Install Mode
    There are two flavours of the interactive install to choose from: Simplified and Advanced.  The simplified option will present fewer dialogs, but you lose the ability to configure the following aspects of the installation:
     - Configure certificate issuer
     - Enable IPv6 SingleStack networking for services
     - Customize Scheduling configuration for AI workloads(Training pipeline & Inference services) for AI Service tenant
    Show advanced installation options? [y/n] n
    
    3) IBM Maximo Operator Catalog Selection
    Select catalog source {catalog_version}
    
    4) Configure Storage Class Usage
    Maximo Application Suite and it's dependencies require storage classes that support ReadWriteOnce (RWO) and ReadWriteMany (RWX) access modes:
      - ReadWriteOnce volumes can be mounted as read-write by multiple pods on a single node.
      - ReadWriteMany volumes can be mounted as read-write by multiple pods across many nodes.
    
    Storage provider auto-detected: NFS Client
      - Storage class (ReadWriteOnce): nfs-client
      - Storage class (ReadWriteMany): nfs-client
    Use the auto-detected storage classes? [y/n] y
    
    5) Configure AppPoint Licensing
    By default the AI Service instance will be configured to use a cluster-shared License, this provides a shared pool of AppPoints available to all MAS & AI Service instances on the cluster.
    
    License file {license_file_directory}
    Contact e-mail address {email}
    Contact first name {name}
    Contact last name {name}
    
    6) Configure IBM Container Registry
    IBM entitlement key {entitlement_key}
    Artifactory username {email}
    Artifactory token {value}
    
    7) Configure AI Service Instance
    Instance ID restrictions:
     - Must be 3-12 characters long
     - Must only use lowercase letters, numbers, and hypen (-) symbol
     - Must start with a lowercase letter
     - Must end with a lowercase letter or a number
    Instance ID {instance_ID}
    
    8) Configure Operational Mode
    Maximo Application Suite can be installed in a non-production mode for internal development and testing, this setting cannot be changed after installation:
     - All applications, add-ons, and solutions have 0 (zero) installation AppPoints in non-production installations.
     - These specifications are also visible in the metrics that are shared with IBM and in the product UI.
    
      1. Production
      2. Non-Production
    Operational Mode 1
    Custom channel for AI Service {version}
    
    9) AI Service Settings
    
    9.1) Storage Configuration
    AI Service requires object storage for pipelines, tenants, and templates. You can either install MinIO in-cluster or connect to external storage.
    Install Minio? [y/n] y
    minio root username {username}
    minio root password {password}
    
    10) AI Service Tenant Settings
    AI Service will reserve AppPoints for a fixed period of time based on the values you enter:
    Entitlement end date (YYYY-MM-DD) {date}
    
    11) WatsonX Integration
    This CLI section configures the integration between the AI Service and IBM watsonx.ai. AI Service
    uses watsonx for model deployment and inferencing.
    
    The WatsonX API key must be a **platform API key** associated with a user that has at least:
    - **Editor permission** for the project
    - **Viewer permission** for the space
    You can generate this key by following IBM's documentation: https://www.ibm.com/docs/en/watsonx/w-and-w/2.2.0?topic=tutorials-generating-api-keys#api-keys__platform__title__1
    
    The endpoint URL is your WatsonX Machine Learning service URL. It can be found in the watsonx.ai
    documentation: https://cloud.ibm.com/apidocs/watsonx-ai-cp/watsonx-ai-cp-2.2.0#endpoint-url
    
    The project ID refers to your specific watsonx.ai project where your ML models and assets are stored.
    
    Optional identifiers:
     - DeploymentId: ID of the model deployment in a **dedicated watsonx runtime**
       (e.g., granite-3-2-8b-instruct deployed in your dedicated runtime).
     - SpaceId: ID of the **watsonx deployment space** where deployments are managed.
    Provide these only if you already have them; otherwise AI Service can proceed with defaults/workflows
    that do not require pre-existing deployment/space identifiers.
    
    Watsonxai api key {key}
    Watsonxai machine learning url {url}
    Watsonxai project id {project_ID}
    Does the Watsonxai AI use a self-signed certificate? [y/n] n
    Watsonxai Deployment ID (optional)
    Watsonxai Space ID (optional)
    
    12) RSL Integration
    RSL (Reliable Strategy Library) connects to strategic asset management via STRATEGIZEAPI.
    
    Note: Future versions will auto-configure these from MAS Manage.
    
    Does the RSL API use a self-signed certificate?? [y/n] n
    
    13) Configure MongoDb
    The installer can setup mongoce in your OpenShift cluster (available only for amd64) or you may choose to configure MAS to use an existing mongodb
    Create MongoDb cluster using MongoDb Community Edition Operator? [y/n] y
    
    14) Database Configuration
    By default, DB2 will be installed in-cluster (suitable for development and testing).
    Alternatively, you can connect to an external database (Oracle, SQL Server, or DB2).
    
    Do you want to use an external database? [y/n] y
    
    14.1) External Database Configuration
    Provide connection details for your external database.
    
    JDBC URL Examples:
      Oracle:     jdbc:oracle:thin:@//hostname:1521/servicename
      SQL Server: jdbc:sqlserver://hostname:1433;databaseName=aiservice
      DB2:        jdbc:db2://hostname:50000/database
    
    Database JDBC URL {jdbc_url}
    Database Username {username}
    Database Password {password}
    Does the database use SSL/TLS with a self-signed certificate? [y/n] n
    
    15) Non-Interactive Install Command
    Save and re-use the following script to re-run this install without needing to answer the interactive prompts again
    
    export IBM_ENTITLEMENT_KEY={entitlement_key}
    mas aiservice-install --mas-catalog-version {catalog_version} --ibm-entitlement-key $IBM_ENTITLEMENT_KEY \
      --aiservice-instance-id  "{instance_ID}" \
      --storage-class-rwo "{storage_class}" --storage-class-rwx "{storage_class}" \
      --storage-pipeline "{storage_class}" --storage-accessmode "{access_mode}" \
      --license-file "{license_file_directory}" \
      --contact-email "{email}" --contact-firstname "{name}" --contact-lastname "{name}" \
      --mongodb-namespace "{namespace}" \
      --aiservice-channel "{version}" \
      --s3-accesskey "{access_key}" \
      --s3-secretkey "{secret_key}" \
      --s3-host "{hostname}" \
      --s3-port "{port}" \
      --s3-ssl "{value}" \
      --s3-region "{region}" \
      --s3-bucket-prefix "{bucket_prefix}" \
      --s3-tenants-bucket "{bucket_name}" \
      --s3-templates-bucket "{bucket_name}" \
      --watsonxai-apikey "{key}" \
      --watsonxai-url "{url}" \
      --watsonxai-project-id "{project_ID}" \
      --minio-root-user "{username}" \
      --minio-root-password "{password}" \
      --tenant-entitlement-type "{entitlement_type}" \
      --tenant-entitlement-start-date "{date}" \
      --tenant-entitlement-end-date "{date}" \
      --aiservice-db-jdbc-url "{jdbc_url}" \
      --aiservice-db-username "{username}" \
      --aiservice-db-password "{password}" \
      --accept-license --no-confirm
    
    16) Review Settings
    Connected to:
     - https://console-openshift-console.apps.{value}
    
    16.1) Pipeline Configuration
      Service Account ......................... Default
      Image Pull Policy ....................... Default
      Skip Pre-Install Healthcheck ............ No
    
    16.2) OpenShift Container Platform
      Worker Node Architecture ................ {value}
      Storage Class Provider .................. {storage_provider}
      ReadWriteOnce Storage Class ............. {storage_class}
      ReadWriteMany Storage Class ............. {storage_class}
      Certificate Manager ..................... {certificate_manager}
      Cluster Ingress Certificate Secret ...... Default
    
    16.3) Maximo Operator Catalog
      Catalog Version ......................... {catalog_version}
    
    16.4) IBM Container Registry
      IBM Entitled Registry ................... {value}
      IBM Open Registry ....................... {value}
    
    16.5) AI Service
      Release ................................. {version}
      Instance ID ............................. {instance_ID}
      Environment Type ........................ production
      Configure AI Service to run in IPv6 mode  Default
    
    16.6) AI Service Tenant Configuration
      Entitlement Type ........................ {entitlement_type}
      Start Date .............................. {date}
      End Date ................................ {date}
    
    16.7) S3 Configuration
      Minio Root Username ..................... {username}
    
      Host .................................... {hostname}
      Port .................................... {port}
      SSL Enabled ............................. {value}
      Region .................................. {region}
      Bucket Prefix ........................... {bucket_prefix}
      Templates Bucket Name ................... {bucket_name}
      Tenants Bucket Name ..................... {bucket_name}
    
    16.8) IBM WatsonX
      URL ..................................... {url}
      Project ID .............................. {project_ID}
    
    16.9) IBM Data Reporter Operator (DRO) Configuration
      Contact e-mail .......................... {email}
      First name .............................. {name}
      Last name ............................... {name}
      Install Namespace ....................... Default
    
    16.10) IBM Suite License Service
      Namespace ............................... Default
      Subscription Channel .................... {channel}
      IBM Open Registry ....................... {value}
      License File ............................ {license_file_directory}
    
    16.11) MongoDb
      Type .................................... MongoCE Operator
      Install Namespace ....................... {namespace}
    
    16.12) Database Configuration
      Database Type ........................... External Database (Oracle)
      JDBC URL ................................ {jdbc_url}
      Username ................................ {username}
    
    16.13) Slack Integration
      Slack Channel ........................... Not Configured
    
    Please carefully review your choices above, correcting mistakes now is much easier than after the install has begun
    Proceed with these settings? [y/n] y
    
    17) Launch Install
    ✅️ OpenShift Pipelines Operator is installed and ready to use
    ✅️ Namespace is ready
    ✅️ MAS CLI image deployment test completed
    ✅️ Latest Tekton definitions are installed
    ✅️ PipelineRun for ais install submitted
    
    View progress:
      {url}