ibm-mas / ansible-devops

Ansible collection supporting devops for IBM Maximo Application Suite
https://ibm-mas.github.io/ansible-devops/
Eclipse Public License 2.0
49 stars 83 forks source link

Failed install of manage: base=latest,icd=latest #1216

Closed lu4t closed 5 months ago

lu4t commented 7 months ago

When running this mas install command:

export IBM_ENTITLEMENT_KEY=xxx
mas install --mas-catalog-version v8-240130-amd64 --accept-license \
  --license-file /mascli/masconfig/license.dat \
  --uds-email 'email@email.com' --uds-firstname 'first' --uds-lastname 'last' \
  --storage-rwo 'ocs-storagecluster-ceph-rbd' --storage-rwx 'ocs-storagecluster-cephfs' --storage-pipeline 'ocs-storagecluster-cephfs' --storage-accessmode 'ReadWriteMany' \
  --mas-instance-id 'lu1s' --mas-workspace-id 'ws1' --mas-workspace-name 'ws1' \
  --mas-channel '8.11.x' \
  --manage-channel 8.7.x \
  --manage-jdbc workspace-application --manage-components base=latest,icd=latest \
  --db2u-channel v110508.0 --db2u-manage \
  --db2u-cpu-request 9000m --db2u-cpu-limit 9000m --db2u-memory-request 16Gi --db2u-memory-limit 16Gi \
  --db2u-backup-storage 100Gi --db2u-data-storage 100Gi --db2u-logs-storage 100Gi --db2u-meta-storage 20Gi --db2u-temp-storage 100Gi

I get this error on the app-cfg-manage step, and the pipeline never completes:

STEP-SUITE-APP-CONFIG

Export all env vars defined in /workspace/settings
Using /opt/app-root/src/ansible.cfg as config file
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
running playbook inside collection ibm.mas_devops

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [ibm.mas_devops.ansible_version_check : Verify minimum Ansible version is 2.10.3] ***
ok: [localhost] => changed=false 
  msg: All assertions passed

TASK [ibm.mas_devops.suite_app_config : Fail if required properties are not provided] ***
ok: [localhost] => changed=false 
  msg: All assertions passed

TASK [ibm.mas_devops.suite_app_config : Load mas_appws variables] **************
ok: [localhost] => changed=false 
  ansible_facts:
    mas_app_bindings: '{{ mas_app_bindings_jdbc_wsl if mas_appws_bindings_health_wsl_flag else mas_app_bindings_jdbc }}'
    mas_app_bindings_jdbc:
      jdbc: '{{ mas_appws_bindings_jdbc | default( ''system'' , true) }}'
    mas_app_bindings_jdbc_wsl:
      jdbc: '{{ mas_appws_bindings_jdbc | default( ''system'' , true) }}'
      watsonstudio: system
    mas_app_cfg_delay: '{{ lookup(''env'', ''MAS_APP_CFG_DELAY'') | default(480, true)}}'
    mas_app_cfg_retries: '{{ lookup(''env'', ''MAS_APP_CFG_RETRIES'') | default(60, true)}}'
    mas_app_settings_aio_flag: '{{ lookup(''env'', ''MAS_APP_SETTINGS_AIO_FLAG'') | default(''true'', true) | bool }}'
    mas_app_settings_base_language: '{{ lookup(''env'', ''MAS_APP_SETTINGS_BASE_LANG'') | default( ''EN'', true) }}'
    mas_app_settings_bim_mount_path: '{{ lookup(''env'', ''MAS_APP_SETTINGS_BIM_MOUNT_PATH'') | default(''/bim'', true) }}'
    mas_app_settings_bim_pvc_accessmode: '{{ lookup(''env'', ''MAS_APP_SETTINGS_BIM_PVC_ACCESSMODE'') | default(mas_app_settings_persistent_volumes_default_accessmode, true) }}'
    mas_app_settings_bim_pvc_name: '{{ lookup(''env'', ''MAS_APP_SETTINGS_BIM_PVC_NAME'') | default(''manage-bim'', true) }}'
    mas_app_settings_bim_pvc_size: '{{ lookup(''env'', ''MAS_APP_SETTINGS_BIM_PVC_SIZE'') | default(''20Gi'', true) }}'
    mas_app_settings_bim_pvc_storage_class: '{{ lookup(''env'', ''MAS_APP_SETTINGS_BIM_PVC_STORAGE_CLASS'') }}'
    mas_app_settings_crypto_key: '{{ lookup(''env'', ''MAS_APP_SETTINGS_CRYPTO_KEY'') }}'
    mas_app_settings_cryptox_key: '{{ lookup(''env'', ''MAS_APP_SETTINGS_CRYPTOX_KEY'') }}'
    mas_app_settings_customization_archive_name: '{{ lookup(''env'', ''MAS_APP_SETTINGS_CUSTOMIZATION_ARCHIVE_NAME'') | default(''manage-custom-archive'', true) }}'
    mas_app_settings_customization_archive_password: '{{ lookup(''env'', ''MAS_APP_SETTINGS_CUSTOMIZATION_ARCHIVE_PASSWORD'') }}'
    mas_app_settings_customization_archive_url: '{{ lookup(''env'', ''MAS_APP_SETTINGS_CUSTOMIZATION_ARCHIVE_URL'') }}'
    mas_app_settings_customization_archive_username: '{{ lookup(''env'', ''MAS_APP_SETTINGS_CUSTOMIZATION_ARCHIVE_USERNAME'') }}'
    mas_app_settings_customization_credentials:
      customizationArchiveCredentials:
        secretName: '{{ mas_app_settings_customization_credentials_secret_name }}'
    mas_app_settings_customization_credentials_secret_name: '{{ mas_workspace_id }}-{{ mas_app_id }}-cl0--cac--sn'
    mas_app_settings_customization_list:
    - customizationArchiveName: '{{ mas_app_settings_customization_archive_name }}'
      customizationArchiveUrl: '{{ mas_app_settings_customization_archive_url }}'
    mas_app_settings_db2_schema: '{{ lookup(''env'', ''MAS_APP_SETTINGS_DB2_SCHEMA'') | default(''maximo'', true)}}'
    mas_app_settings_default_jms: '{{ lookup(''env'', ''MAS_APP_SETTINGS_DEFAULT_JMS'') | default(''false'', true) | bool }}'
    mas_app_settings_default_manage_supported_storage_classes:
    - ibmc-file-gold-gid
    - ocs-storagecluster-cephfs
    - azurefiles-premium
    - efs
    mas_app_settings_demodata: '{{ lookup(''env'', ''MAS_APP_SETTINGS_DEMODATA'') | default(''false'', true) | bool }}'
    mas_app_settings_doclinks_mount_path: '{{ lookup(''env'', ''MAS_APP_SETTINGS_DOCLINKS_MOUNT_PATH'') | default(''/DOCLINKS'', true) }}'
    mas_app_settings_doclinks_pvc_accessmode: '{{ lookup(''env'', ''MAS_APP_SETTINGS_DOCLINKS_PVC_ACCESSMODE'') | default(mas_app_settings_persistent_volumes_default_accessmode, true) }}'
    mas_app_settings_doclinks_pvc_name: '{{ lookup(''env'', ''MAS_APP_SETTINGS_DOCLINKS_PVC_NAME'') | default(''manage-doclinks'', true) }}'
    mas_app_settings_doclinks_pvc_size: '{{ lookup(''env'', ''MAS_APP_SETTINGS_DOCLINKS_PVC_SIZE'') | default(''20Gi'', true) }}'
    mas_app_settings_doclinks_pvc_storage_class: '{{ lookup(''env'', ''MAS_APP_SETTINGS_DOCLINKS_PVC_STORAGE_CLASS'') }}'
    mas_app_settings_encryption_default_secret_name: '{{ mas_workspace_id }}-{{ mas_app_id }}-encryptionsecret'
    mas_app_settings_indexspace: '{{ lookup(''env'', ''MAS_APP_SETTINGS_INDEXSPACE'') | default(''MAXINDEX'', true)}}'
    mas_app_settings_jms_queue_mount_path: '{{ lookup(''env'', ''MAS_APP_SETTINGS_JMS_QUEUE_MOUNT_PATH'') | default(''/jms'', true) }}'
    mas_app_settings_jms_queue_pvc_accessmode: '{{ lookup(''env'', ''MAS_APP_SETTINGS_JMS_QUEUE_PVC_ACCESSMODE'') | default(mas_app_settings_persistent_volumes_default_accessmode, true) }}'
    mas_app_settings_jms_queue_pvc_name: '{{ lookup(''env'', ''MAS_APP_SETTINGS_JMS_QUEUE_PVC_NAME'') | default(''manage-jms'', true) }}'
    mas_app_settings_jms_queue_pvc_size: '{{ lookup(''env'', ''MAS_APP_SETTINGS_JMS_QUEUE_PVC_SIZE'') | default(''20Gi'', true) }}'
    mas_app_settings_jms_queue_pvc_storage_class: '{{ lookup(''env'', ''MAS_APP_SETTINGS_JMS_QUEUE_PVC_STORAGE_CLASS'') }}'
    mas_app_settings_old_crypto_key: '{{ lookup(''env'', ''MAS_APP_SETTINGS_OLD_CRYPTO_KEY'') }}'
    mas_app_settings_old_cryptox_key: '{{ lookup(''env'', ''MAS_APP_SETTINGS_OLD_CRYPTOX_KEY'') }}'
    mas_app_settings_override_encryption_secrets_flag: '{{ lookup(''env'', ''MAS_APP_SETTINGS_OVERRIDE_ENCRYPTION_SECRETS_FLAG'') | default(''False'', true) | bool }}'
    mas_app_settings_persistent_volumes: '{{ mas_app_settings_persistent_volumes_default if (mas_app_settings_persistent_volumes_flag) else [] }}'
    mas_app_settings_persistent_volumes_default:
    - accessModes:
      - '{{ mas_app_settings_doclinks_pvc_accessmode }}'
      mountPath: '{{ mas_app_settings_doclinks_mount_path }}'
      pvcName: '{{ mas_app_settings_doclinks_pvc_name }}'
      size: '{{ mas_app_settings_doclinks_pvc_size }}'
      storageClassName: '{{ mas_app_settings_doclinks_pvc_storage_class }}'
    - accessModes:
      - '{{ mas_app_settings_bim_pvc_accessmode }}'
      mountPath: '{{ mas_app_settings_bim_mount_path }}'
      pvcName: '{{ mas_app_settings_bim_pvc_name }}'
      size: '{{ mas_app_settings_bim_pvc_size }}'
      storageClassName: '{{ mas_app_settings_bim_pvc_storage_class }}'
    mas_app_settings_persistent_volumes_default_accessmode: ReadWriteMany
    mas_app_settings_persistent_volumes_flag: '{{ lookup(''env'', ''MAS_APP_SETTINGS_PERSISTENT_VOLUMES_FLAG'') | default(False, true) | bool }}'
    mas_app_settings_secondary_languages: '{{ lookup(''env'', ''MAS_APP_SETTINGS_SECONDARY_LANGS'') | default([], true) }}'
    mas_app_settings_server_bundles:
      dev:
        serverBundleEarFilename: maximo-all
        serverBundles:
        - bundleType: all
          isDefault: true
          isMobileTarget: true
          isUserSyncTarget: true
          name: all
          replica: 1
          routeSubDomain: all
      jms:
        serverBundleEarFilename: maximomea
        serverBundles:
        - additionalServerConfig:
            secretName: '{{ mas_workspace_id }}-{{ mas_app_id }}-d--sb0--asc--sn'
          bundleType: ui
          isDefault: true
          isMobileTarget: true
          isUserSyncTarget: false
          name: ui
          replica: 1
          routeSubDomain: ui
        - additionalServerConfig:
            secretName: '{{ mas_workspace_id }}-{{ mas_app_id }}-d--sb1--asc--sn'
          bundleType: mea
          isDefault: false
          isMobileTarget: false
          isUserSyncTarget: true
          name: mea
          replica: 1
          routeSubDomain: mea
        - additionalServerConfig:
            secretName: '{{ mas_workspace_id }}-{{ mas_app_id }}-d--sb2--asc--sn'
          bundleType: report
          isDefault: false
          isMobileTarget: false
          isUserSyncTarget: false
          name: rpt
          replica: 1
          routeSubDomain: rpt
        - additionalServerConfig:
            secretName: '{{ mas_workspace_id }}-{{ mas_app_id }}-d--sb3--asc--sn'
          bundleType: cron
          isDefault: false
          isMobileTarget: false
          isUserSyncTarget: false
          name: cron
          replica: 1
          routeSubDomain: cron
        - additionalServerConfig:
            secretName: '{{ mas_workspace_id }}-{{ mas_app_id }}-d--sb4--asc--sn'
          bundleType: standalonejms
          isDefault: false
          isMobileTarget: false
          isUserSyncTarget: false
          name: jms
          replica: 1
          routeSubDomain: jms
      small:
        serverBundleEarFilename: maximomea
        serverBundles:
        - bundleType: ui
          isDefault: true
          isMobileTarget: true
          isUserSyncTarget: false
          name: ui
          replica: 1
          routeSubDomain: ui
        - bundleType: mea
          isDefault: false
          isMobileTarget: false
          isUserSyncTarget: true
          name: mea
          replica: 1
          routeSubDomain: mea
        - bundleType: report
          isDefault: false
          isMobileTarget: false
          isUserSyncTarget: false
          name: rpt
          replica: 1
          routeSubDomain: rpt
        - bundleType: cron
          isDefault: false
          isMobileTarget: false
          isUserSyncTarget: false
          name: cron
          replica: 1
          routeSubDomain: cron
      snojms:
        serverBundleEarFilename: maximo-all
        serverBundles:
        - additionalServerConfig:
            secretName: '{{ mas_workspace_id }}-{{ mas_app_id }}-d--sb0--asc--sn'
          bundleType: all
          isDefault: true
          isMobileTarget: true
          isUserSyncTarget: true
          name: all
          replica: 1
          routeSubDomain: all
        - additionalServerConfig:
            secretName: '{{ mas_workspace_id }}-{{ mas_app_id }}-d--sb1--asc--sn'
          bundleType: standalonejms
          isDefault: false
          isMobileTarget: false
          isUserSyncTarget: false
          name: jms
          replica: 1
          routeSubDomain: jms
    mas_app_settings_server_bundles_size: '{{ lookup(''env'', ''MAS_APP_SETTINGS_SERVER_BUNDLES_SIZE'') | default(''dev'', true)  }}'
    mas_app_settings_tablespace: '{{ lookup(''env'', ''MAS_APP_SETTINGS_TABLESPACE'') | default(''MAXDATA'', true)}}'
    mas_app_ws_apiversion: apps.mas.ibm.com/v1
    mas_app_ws_fqn: manageworkspaces.apps.mas.ibm.com
    mas_app_ws_kind: ManageWorkspace
    mas_appws_bindings_health_wsl_flag: '{{ lookup(''env'', ''MAS_APPWS_BINDINGS_HEALTH_WSL_FLAG'') | default(''false'', true) | bool }}'
    server_bundle_jms_internal_endpoint: '{{ mas_instance_id }}-{{ mas_workspace_id }}-jms.mas-{{ mas_instance_id }}-manage.svc:7276'
    server_bundles_add_server_config_content: '{{ lookup(''file'', ''{{ role_path }}/files/manage/manage-additional-server-config.xml.j2'') }}'
    server_bundles_add_server_config_no_activation_content: '{{ lookup(''file'', ''{{ role_path }}/files/manage/manage-additional-server-config-no-activation.xml.j2'') }}'
    server_bundles_jms_add_server_config_content: '{{ lookup(''file'', ''{{ role_path }}/files/manage/manage-jms-additional-server-config.xml.j2'') }}'
  ansible_included_var_files:
  - /opt/app-root/lib64/python3.9/site-packages/ansible_collections/ibm/mas_devops/roles/suite_app_config/vars/manage.yml

TASK [ibm.mas_devops.suite_app_config : Load mas_app variables] ****************
ok: [localhost] => changed=false 
  ansible_facts:
    mas_app_api_version: apps.mas.ibm.com/v1
    mas_app_fqn: manageapps.apps.mas.ibm.com
    mas_app_install_delay: 120
    mas_app_install_retries: 30
    mas_app_kind: ManageApp
  ansible_included_var_files:
  - /opt/app-root/lib64/python3.9/site-packages/ansible_collections/ibm/mas_devops/roles/suite_app_install/vars/manage.yml

TASK [ibm.mas_devops.suite_app_config : Determine Storage Class for manage application] ***
skipping: [localhost] => changed=false 
  false_condition: mas_app_settings_persistent_volumes_flag or mas_app_settings_server_bundles_size in ['jms','snojms']
  skip_reason: Conditional result was False

TASK [ibm.mas_devops.suite_app_config : Run Manage specific pre-configuration] ***
included: /opt/app-root/lib64/python3.9/site-packages/ansible_collections/ibm/mas_devops/roles/suite_app_config/tasks/manage/main.yml for localhost

TASK [ibm.mas_devops.suite_app_config : Run Manage specific pre-configuration: Set jms server] ***
skipping: [localhost] => changed=false 
  false_condition: mas_app_settings_server_bundles_size in ['jms','snojms']
  skip_reason: Conditional result was False

TASK [ibm.mas_devops.suite_app_config : Run Manage specific pre-configuration: Set custom archive credentials] ***
skipping: [localhost] => changed=false 
  false_condition: mas_app_settings_customization_archive_username | length > 0
  skip_reason: Conditional result was False

TASK [ibm.mas_devops.suite_app_config : Run Manage specific pre-configuration: Set database encryption keys] ***
skipping: [localhost] => changed=false 
  false_condition: |-
    mas_app_settings_crypto_key is defined and mas_app_settings_crypto_key != '' and mas_app_settings_cryptox_key is defined and mas_app_settings_cryptox_key != '' or mas_app_settings_old_crypto_key is defined and mas_app_settings_old_crypto_key != '' and mas_app_settings_old_cryptox_key is defined and mas_app_settings_old_cryptox_key != ''
  skip_reason: Conditional result was False

TASK [ibm.mas_devops.suite_app_config : Lookup Watson Studio Project ID] *******
skipping: [localhost] => changed=false 
  false_condition: mas_app_id is in ['hputilities', 'predict']
  skip_reason: Conditional result was False

TASK [ibm.mas_devops.suite_app_config : Load default application workspace spec] ***
ok: [localhost] => changed=false 
  ansible_facts:
    mas_appws_spec:
      bindings: '{{ mas_app_bindings }}'
      components: '{{ mas_appws_components | default({''base'':{''version'':''latest''}}, true) }}'
      settings:
        aio:
          install: '{{ mas_app_settings_aio_flag | bool  }}'
        customizationList: '{{ mas_app_settings_customization_list if (mas_app_settings_customization_archive_url is defined and mas_app_settings_customization_archive_url | length > 0) else []  }}'
        db:
          dbSchema: '{{ mas_app_settings_db2_schema }}'
          maxinst:
            bypassUpgradeVersionCheck: false
            db2Vargraphic: true
            demodata: '{{ mas_app_settings_demodata | bool }}'
            indexSpace: '{{ mas_app_settings_indexspace }}'
            tableSpace: '{{ mas_app_settings_tablespace }}'
        deployment:
          defaultJMS: '{{ mas_app_settings_default_jms }}'
          persistentVolumes: '{{ mas_app_settings_persistent_volumes }}'
          serverBundles: '{{ mas_app_settings_server_bundles[mas_app_settings_server_bundles_size][''serverBundles''] }}'
        languages:
          baseLang: '{{ mas_app_settings_base_language | default( ''EN'' , true) }}'
          secondaryLangs: '{{ mas_app_settings_secondary_languages.split('','') if (mas_app_settings_secondary_languages is defined and mas_app_settings_secondary_languages | length > 0) else [] }}'
  ansible_included_var_files:
  - /opt/app-root/lib64/python3.9/site-packages/ansible_collections/ibm/mas_devops/roles/suite_app_config/vars/defaultspecs/manage.yml

TASK [ibm.mas_devops.suite_app_config : Configure namespace] *******************
ok: [localhost] => changed=false 
  ansible_facts:
    mas_app_namespace: mas-lu1s-manage
    mas_namespace: mas-lu1s-core

TASK [ibm.mas_devops.suite_app_config : Debug information] *********************
ok: [localhost] => 
  msg:
  - Instance ID ............................ lu1s
  - Application ID ......................... manage
  - Workspace ID ........................... ws1
  - Application namespace .................. mas-lu1s-manage
  - JDBC Binding ........................... workspace-application
  - |-
    Templated workspace CR ................. ---
    apiVersion: "apps.mas.ibm.com/v1"
    kind: "ManageWorkspace"
    metadata:
      name: "lu1s-ws1"
      namespace: "mas-lu1s-manage"
      labels:
        mas.ibm.com/instanceId: "lu1s"
        mas.ibm.com/workspaceId: "ws1"
        mas.ibm.com/applicationId: "manage"
    spec: {'bindings': {'jdbc': 'workspace-application'}, 'components': {'base': {'version': 'latest'}, 'icd': {'version': 'latest'}}, 'settings': {'deployment': {'persistentVolumes': [], 'serverBundles': [{'bundleType': 'all', 'isDefault': True, 'isMobileTarget': True, 'isUserSyncTarget': True, 'name': 'all', 'replica': 1, 'routeSubDomain': 'all'}], 'defaultJMS': False}, 'languages': {'baseLang': 'EN', 'secondaryLangs': []}, 'aio': {'install': True}, 'db': {'dbSchema': 'maximo', 'maxinst': {'demodata': False, 'db2Vargraphic': True, 'tableSpace': 'MAXDATA', 'indexSpace': 'MAXINDEX', 'bypassUpgradeVersionCheck': False}}, 'customizationList': []}}

TASK [ibm.mas_devops.suite_app_config : Configure application in workspace] ****
changed: [localhost] => changed=true 
  method: create
  result:
    apiVersion: apps.mas.ibm.com/v1
    kind: ManageWorkspace
    metadata:
      creationTimestamp: '2024-02-21T07:58:32Z'
      generation: 1
      labels:
        mas.ibm.com/applicationId: manage
        mas.ibm.com/instanceId: lu1s
        mas.ibm.com/workspaceId: ws1
      managedFields:
      - apiVersion: apps.mas.ibm.com/v1
        fieldsType: FieldsV1
        fieldsV1:
          f:metadata:
            f:labels:
              .: {}
              f:mas.ibm.com/applicationId: {}
              f:mas.ibm.com/instanceId: {}
              f:mas.ibm.com/workspaceId: {}
          f:spec:
            .: {}
            f:bindings:
              .: {}
              f:jdbc: {}
            f:components:
              .: {}
              f:base:
                .: {}
                f:version: {}
              f:icd:
                .: {}
                f:version: {}
            f:settings:
              .: {}
              f:aio:
                .: {}
                f:install: {}
              f:customizationList: {}
              f:db:
                .: {}
                f:dbSchema: {}
                f:maxinst:
                  .: {}
                  f:bypassUpgradeVersionCheck: {}
                  f:db2Vargraphic: {}
                  f:demodata: {}
                  f:indexSpace: {}
                  f:tableSpace: {}
              f:deployment:
                .: {}
                f:buildTag: {}
                f:defaultJMS: {}
                f:mode: {}
                f:persistentVolumes: {}
                f:serverBundles: {}
                f:serverTimezone: {}
              f:languages:
                .: {}
                f:baseLang: {}
                f:secondaryLangs: {}
        manager: OpenAPI-Generator
        operation: Update
        time: '2024-02-21T07:58:32Z'
      name: lu1s-ws1
      namespace: mas-lu1s-manage
      resourceVersion: '679470'
      uid: f9f36276-2cdf-4084-8c27-af536599845d
    spec:
      bindings:
        jdbc: workspace-application
      components:
        base:
          version: latest
        icd:
          version: latest
      settings:
        aio:
          install: true
        customizationList: []
        db:
          dbSchema: maximo
          maxinst:
            bypassUpgradeVersionCheck: false
            db2Vargraphic: true
            demodata: false
            indexSpace: MAXINDEX
            tableSpace: MAXDATA
        deployment:
          buildTag: latest
          defaultJMS: false
          mode: up
          persistentVolumes: []
          serverBundles:
          - bundleType: all
            isDefault: true
            isMobileTarget: true
            isUserSyncTarget: true
            name: all
            replica: 1
            routeSubDomain: all
          serverTimezone: GMT
        languages:
          baseLang: EN
          secondaryLangs: []

TASK [ibm.mas_devops.suite_app_config : Lookup application information] ********
ok: [localhost] => changed=false 
  api_found: true
  resources:
  - apiVersion: apps.mas.ibm.com/v1
    kind: ManageApp
    metadata:
      creationTimestamp: '2024-02-21T07:50:15Z'
      finalizers:
      - manageapp.apps.mas.ibm.com/finalizer
      generation: 1
      labels:
        mas.ibm.com/applicationId: manage
        mas.ibm.com/instanceId: lu1s
      managedFields:
      - apiVersion: apps.mas.ibm.com/v1
        fieldsType: FieldsV1
        fieldsV1:
          f:metadata:
            f:labels:
              .: {}
              f:mas.ibm.com/applicationId: {}
              f:mas.ibm.com/instanceId: {}
          f:spec: {}
        manager: OpenAPI-Generator
        operation: Update
        time: '2024-02-21T07:50:15Z'
      - apiVersion: apps.mas.ibm.com/v1
        fieldsType: FieldsV1
        fieldsV1:
          f:metadata:
            f:finalizers:
              .: {}
              v:"manageapp.apps.mas.ibm.com/finalizer": {}
        manager: ansible-operator
        operation: Update
        time: '2024-02-21T07:50:53Z'
      - apiVersion: apps.mas.ibm.com/v1
        fieldsType: FieldsV1
        fieldsV1:
          f:status: {}
        manager: ansible-operator
        operation: Update
        subresource: status
        time: '2024-02-21T07:57:14Z'
      - apiVersion: apps.mas.ibm.com/v1
        fieldsType: FieldsV1
        fieldsV1:
          f:status:
            f:components:
              .: {}
              f:manage:
                .: {}
                f:enabled: {}
                f:version: {}
            f:conditions: {}
            f:milestones:
              .: {}
              f:installed:
                .: {}
                f:anonymousId: {}
                f:timestamp: {}
                f:transactionId: {}
            f:version:
              .: {}
              f:reconciled: {}
            f:versions:
              .: {}
              f:controller: {}
              f:isRollbackRunning: {}
              f:reconciled: {}
              f:supported: {}
        manager: OpenAPI-Generator
        operation: Update
        subresource: status
        time: '2024-02-21T07:57:49Z'
      name: lu1s
      namespace: mas-lu1s-manage
      resourceVersion: '678694'
      uid: 742bd1b7-904e-428d-b68e-50a5974303c7
    spec: {}
    status:
      components:
        manage:
          enabled: true
          version: 8.7.4
      conditions:
      - lastTransitionTime: '2024-02-21T07:51:34Z'
        message: Controller updated primary entity manager to supported version (8.7.4)
        reason: VersionUpdateCompleted
        status: 'True'
        type: ControllerHealth
      - lastTransitionTime: '2024-02-21T07:51:34Z'
        message: ''
        reason: ''
        status: 'False'
        type: Failure
      - message: Ready to enable workspace
        reason: Ready
        status: 'True'
        type: Ready
      - ansibleResult:
          changed: 0
          completion: '2024-02-21T07:57:13.85767'
          failures: 0
          ok: 62
          skipped: 25
        lastTransitionTime: '2024-02-21T07:50:53Z'
        message: Awaiting next reconciliation
        reason: Successful
        status: 'True'
        type: Running
      - lastTransitionTime: '2024-02-21T07:57:14Z'
        message: Last reconciliation succeeded
        reason: Successful
        status: 'True'
        type: Successful
      milestones:
        installed:
          anonymousId: 428b209a-ea9f-4a0f-8eaa-6a5f4255d8dd
          timestamp: '2024-02-21T07:51:29.284223+00:00'
          transactionId: dae79367-24f0-4b14-b692-3fd0a5dbd2eb
      version:
        reconciled: ''
      versions:
        controller: 8.7.4
        isRollbackRunning: false
        reconciled: 8.7.4
        supported:
        - 8.7.4

TASK [ibm.mas_devops.suite_app_config : Check that the application is ready to configure a workspace] ***
ok: [localhost] => changed=false 
  msg: All assertions passed

TASK [ansible.builtin.include_role : suite_app_verify] *************************

TASK [ibm.mas_devops.suite_app_verify : Assert that mas_instance_id is defined] ***
ok: [localhost] => changed=false 
  msg: All assertions passed

TASK [ibm.mas_devops.suite_app_verify : Debug information] *********************
ok: [localhost] => 
  msg:
  - MAS Instance ID ......................... lu1s
  - MAS Workspace ID ........................ ws1
  - Application Workspace API Version ....... apps.mas.ibm.com/v1
  - Application Workspace Kind .............. ManageWorkspace
  - Application Namespace ................... mas-lu1s-manage
  - Retries ................................. 60
  - Delay ................................... 480

TASK [ibm.mas_devops.suite_app_verify : Wait for application workspace to be ready (480s delay)] ***
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (60 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (59 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (58 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (57 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (56 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (55 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (54 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (53 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (52 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (51 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (50 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (49 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (48 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (47 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (46 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (45 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (44 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (43 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (42 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (41 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (40 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (39 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (38 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (37 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (36 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (35 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (34 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (33 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (32 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (31 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (30 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (29 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (28 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (27 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (26 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (25 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (24 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (23 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (22 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (21 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (20 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (19 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (18 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (17 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (16 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (15 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (14 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (13 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (12 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (11 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (10 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (9 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (8 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (7 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (6 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (5 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (4 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (3 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (2 retries left).
FAILED - RETRYING: [localhost]: Wait for application workspace to be ready (480s delay) (1 retries left).
fatal: [localhost]: FAILED! => changed=false 
  attempts: 60
  msg: Failed to gather information about ManageWorkspace(s) even after waiting for 120 seconds

NO MORE HOSTS LEFT *************************************************************

PLAY RECAP *********************************************************************
localhost                  : ok=14   changed=1    unreachable=0    failed=1    skipped=5    rescued=0    ignored=0   

After the pipeline task finished on a failed state, I deleted the manage-maxinst pod and got this error message:

...
// Success.
-- RunScript complete: Successful
-- Checking for columns missing from E-Audit tables.
-- Found no columns missing.
4 ms commit
;
// Success.
There are pending configuration changes that must first be applied or discarded using Database Configuration. Updatedb can be run only when there are no pending configuration changes.
UpdateDB result = 1
UpdateDB process ended with errors...
andrercm commented 5 months ago

@lu4t the message above seems to indicate that there are database configuration changes waiting to be confirmed. Can you try to go to maxinst pod's terminal and run bash configdb.sh. This should execute any pending database changes and unblock the updatedb process.

lu4t commented 5 months ago

thanks @andrercm for the tip. I will setup a new cluster and try the method you suggest. I got rid of the error when I added ICT manually (from the UI), then the update db process completes normally. This only happened when installing manage with base=latest, ict=latest (all other combinations did work well).