Planning Analytics

Planning Analytics

Get AI-infused integrated business planning

 View Only

Installing PA 3.1 on OpenShift 4.20

  • 1.  Installing PA 3.1 on OpenShift 4.20

    Posted 23 hours ago

    Hello!

    Im trying to install PA 3.1 on OpenShift. Installed operators from ibm-pacc-3.1.3. But when trying to deploy PA using sample yaml:

    apiVersion: pa.pa.ibm.com/v1
    kind: PlanningAnalytics
    metadata:
      name: planninganalytics-sample
      namespace: pa-oper
    spec:
      license:
        accept: true
      authentication:
        oidc_secret: pa-oidc-config
      use_explicit_userids: false
      registry:
        secret: pasecret
      ingress:
        timeout: 60m
        host: planninganalytics.apps.example.com
        type: route
      pae:
        namespace: pa-tm1
        storage_class: example-storage-class
        options:
          serviceSize: small_mincpureq
          autoScaling: false
      pass:
        namespace: pa-pass
      paw:
        namespace: pa-paw
        ingress:
          timeout: 60m
          host: planninganalytics.apps.example.com
          type: route
        storage_class: example-storage-class
        options:
          resource_scaling:
            enable: false
            scale_config: small
      istio:
        enable: false

    Keep getting error:

    Name:         planninganalytics-sample
    Namespace:    pa-oper
    Labels:       <none>
    Annotations:  <none>
    API Version:  pa.pa.ibm.com/v1
    Kind:         PlanningAnalytics
    Metadata:
      Creation Timestamp:  2025-12-15T08:43:03Z
      Generation:          1
      Resource Version:    705997
      UID:                 86124614-50ff-4f80-be67-a038c10f7f3d
    Spec:
      Authentication:
        oidc_secret:  pa-oidc-config
      Ingress:
        Host:     planninganalytics.apps.example.com
        Timeout:  60m
        Type:     route
      Istio:
        Enable:     false
        Namespace:  istio-system
      License:
        Accept:  true
      Pae:
        Namespace:  pa-tm1
        Options:
          Auto Scaling:  false
          Service Size:  small_mincpureq
        storage_class:   example-storage-class
      Pass:
        Namespace:  pa-pass
      Paw:
        Namespace:  pa-paw
        Options:
          resource_scaling:
            Enable:        false
            scale_config:  small
        storage_class:     example-storage-class
      Registry:
        Secret:              pasecret
      use_explicit_userids:  false
    Status:
      Conditions:
        Last Transition Time:  2025-12-15T08:43:06Z
        Message:
        Reason:
        Status:                False
        Type:                  Successful
        Ansible Result:
          Changed:             0
          Completion:          2025-12-15T08:43:54.417109+00:00
          Failures:            1
          Ok:                  1
          Skipped:             2
        Last Transition Time:  2025-12-15T08:43:06Z
        Message:               The task includes an option with an undefined variable.. 'dict object' has no attribute 'host'

    The error appears to be in '/opt/ansible/roles/planninganalytics/tasks/main.yml': line 18, column 3, but may
    be elsewhere in the file depending on the exact syntax problem.

    The offending line appears to be:


    - name: Initialize PAW default spec
      ^ here

        Reason:                Failed
        Status:                True
        Type:                  Failure
        Last Transition Time:  2025-12-15T08:44:05Z
        Message:               Running reconciliation
        Reason:                Running
        Status:                True
        Type:                  Running
    Events:                    <none>

    Already tried with minimal config - removing ingress altogether - error is the same. It looks like ansible is not passing host variable somehow. Checked /opt/ansible/roles/planninganalytics/tasks/main.yml - it looks ok:

    • name: Initialize PAW default spec
        set_fact:
          paw_spec:
            pacc:
              product_id: "{{ product_id }}"
              product_name: "{{ product_name }}"
              product_metric: "{{ product_metric }}"
              product_charged_containers: "{{ product_charged_containers }}"
            enable_first_user: true
            use_explicit_userids: "{{ use_explicit_userids | default(false) }}"
            ingress:
              timeout: '{{ ingress.timeout | default("60m") }}'
              host: '{{ ingress.host | default("") }}'
              type: '{{ ingress.type | default("none") }}'
            administration:
              is_pae: true
              pae:
                namespace: "{{ pae.namespace }}"
              pass:
                namespace: "{{ pass.namespace }}"
              multiple_environments: false
            storage:
              storage_class: "{{paw.storage_class}}"
            tm1_ssl_secret_name: '{{ paw.tm1_ssl_secret_name | default("") }}'
            images:
              registry: "{{registry.host}}/{{registry.namespace}}"
              pull_secret: '{{registry.secret  | default("") }}'
            enable_istio_proxy: "{{ istio.enable  | default(false) }}"
            istio_namespace: '{{ istio.namespace  | default("") }}'

    Its poorly documented in the docs. Does anyone install PA 3.1 on latest OC 4.20? Appreciated any help.

    Regards

    Pawel

        



    ------------------------------
    Pawel Romanek
    ------------------------------