From becbca7aa5120e2edd65a527b618b7665533d8f0 Mon Sep 17 00:00:00 2001 From: Denilson Nastacio Date: Wed, 3 Apr 2024 09:20:56 -0400 Subject: [PATCH] feat: Upgrade Cloud Pak for AIOps to 4.4.0 Signed-off-by: Denilson Nastacio --- .github/workflows/close-pr.yml | 2 +- .github/workflows/lint.yml | 5 ++ .github/workflows/test-pr.yml | 2 +- README.md | 2 +- .../cloudpaks/cp-shared/operators/Chart.yaml | 4 +- .../0050-sync-cluster-scoped-operators.yaml | 69 ++++++++++++++++++- .../cloudpaks/cp-shared/operators/values.yaml | 3 + .../cp4aiops/install-aimgr/Chart.yaml | 4 +- .../templates/resources/200-ai-manager.yaml | 2 +- .../subscriptions/100-subscription.yaml | 2 +- .../cp4aiops/install-aimgr/values.yaml | 2 + .../cloudpaks/cp4aiops/install-ia/Chart.yaml | 4 +- .../subscriptions/100-subscription.yaml | 2 +- tests/postbuild/cluster.sh | 4 +- 14 files changed, 92 insertions(+), 15 deletions(-) diff --git a/.github/workflows/close-pr.yml b/.github/workflows/close-pr.yml index a477cd6f..c4997bd0 100644 --- a/.github/workflows/close-pr.yml +++ b/.github/workflows/close-pr.yml @@ -11,7 +11,7 @@ jobs: destroy: if: ${{ !contains( github.event.pull_request.labels.*.name, 'skip ci' ) }} runs-on: ubuntu-latest - container: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3.6 + container: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3.40 env: HOME: /root diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5fc90c71..364d763f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,6 +15,11 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 + - id: setup-action + uses: actions/setup-node@v3 + with: + node-version: 20.x + # Runs a single command using the runners shell - name: Run a one-line script run: tests/prebuild/lint.sh diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml index 43e7e967..4841e929 100644 --- a/.github/workflows/test-pr.yml +++ b/.github/workflows/test-pr.yml @@ -8,7 +8,7 @@ jobs: test: if: ${{ !contains( github.event.pull_request.labels.*.name, 'skip ci' ) }} runs-on: ubuntu-latest - container: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3.6 + container: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3.40 env: HOME: /root diff --git a/README.md b/README.md index 2ddd5051..99f0896b 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Supported versions: | Cloud Pak for Data | [4.8.4](https://www.ibm.com/docs/en/cloud-paks/cp-data/4.8.x?topic=overview) | Online, specialized installation | | Cloud Pak for Integration | [2023.4](https://www.ibm.com/docs/en/cloud-paks/cp-integration/2023.4) | Online installation | | Cloud Pak for Security | [1.10.15](https://www.ibm.com/docs/en/cloud-paks/cp-security/1.10) | Online installation | -| Cloud Pak for AIOps\* | [4.3.0](https://www.ibm.com/docs/en/cloud-paks/cloud-pak-watson-aiops/4.3.0) | Starter Installation | +| Cloud Pak for AIOps\* | [4.4.0](https://www.ibm.com/docs/en/cloud-paks/cloud-pak-watson-aiops/4.4.0) | Starter Installation | \* Starting with release 4.2.0, Cloud Pak for Watson AIOps was renamed Cloud Pak for AIOps, which required renaming several folders and labels from `cp4waiops` to `cp4aiops`. You can see all changes in [pull request #281](https://github.com/IBM/cloudpak-gitops/pull/281). diff --git a/config/cloudpaks/cp-shared/operators/Chart.yaml b/config/cloudpaks/cp-shared/operators/Chart.yaml index c85bfa70..9869aafa 100644 --- a/config/cloudpaks/cp-shared/operators/Chart.yaml +++ b/config/cloudpaks/cp-shared/operators/Chart.yaml @@ -16,9 +16,9 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.6.2 +version: 0.6.3 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. -appVersion: "1.2.1" +appVersion: "1.2.2" diff --git a/config/cloudpaks/cp-shared/operators/templates/0050-sync-cluster-scoped-operators.yaml b/config/cloudpaks/cp-shared/operators/templates/0050-sync-cluster-scoped-operators.yaml index 1bfec487..81aa2867 100644 --- a/config/cloudpaks/cp-shared/operators/templates/0050-sync-cluster-scoped-operators.yaml +++ b/config/cloudpaks/cp-shared/operators/templates/0050-sync-cluster-scoped-operators.yaml @@ -25,6 +25,12 @@ spec: value: {{.Values.metadata.ibm_cert_manager_operator_group}} - name: IBM_CERT_MANAGER_CHANNEL value: {{.Values.metadata.ibm_cert_manager_channel}} + - name: IBM_LICENSE_MANAGER_NAMESPACE + value: {{.Values.metadata.ibm_license_manager_namespace}} + - name: IBM_LICENSE_MANAGER_OPERATOR_GROUP + value: {{.Values.metadata.ibm_license_manager_operator_group}} + - name: IBM_LICENSE_MANAGER_CHANNEL + value: {{.Values.metadata.ibm_license_manager_channel}} command: - /bin/sh - -c @@ -90,13 +96,74 @@ spec: -A fi else - echo "ERROR: Unable to ascertain status of cert managers in the cluster." + echo "ERROR: Unable to get status of cert managers in the cluster." fi if [ "${result}" -eq 1 ] ; then echo "ERROR: Unable to locate a running IBM Cert Manager and to install one afterwards." fi + ibm_license_manager_count=$(oc get Subscription.operators.coreos.com \ + -l operators.coreos.com/ibm-cert-manager-operator.ibm-cert-manager \ + -A \ + -o name | wc -l || result=1) + if [ "${result}" == 0 ]; then + if [ "${ibm_license_manager_count}" == "0" ]; then + echo "INFO: Installing IBM Cert Manager." + cat << EOF | oc apply -f - + --- + kind: Namespace + apiVersion: v1 + metadata: + name: ${IBM_LICENSE_MANAGER_NAMESPACE:?} + --- + apiVersion: operators.coreos.com/v1 + kind: OperatorGroup + metadata: + name: ibm-licensing-operator-app + namespace: ${IBM_LICENSE_MANAGER_NAMESPACE:?} + spec: + targetNamespaces: + - ${IBM_LICENSE_MANAGER_NAMESPACE:?} + --- + apiVersion: operators.coreos.com/v1alpha1 + kind: Subscription + metadata: + name: ibm-licensing-operator-app + namespace: ${IBM_LICENSE_MANAGER_NAMESPACE:?} + spec: + channel: v4.2 + installPlanApproval: Automatic + name: ibm-licensing-operator-app + source: ibm-licensing-catalog + sourceNamespace: openshift-marketplace + EOF + + while [ $SECONDS -lt 300 ]; do + oc wait Subscription.operators.coreos.com ibm-licensing-operator-app \ + -n ${IBM_LICENSE_MANAGER_NAMESPACE:?} \ + --for=condition=CatalogSourcesUnhealthy=False \ + && oc wait Subscription.operators.coreos.com ibm-licensing-operator-app \ + -n ${IBM_LICENSE_MANAGER_NAMESPACE:?} \ + --for=jsonpath='{.status.state}'="AtLatestKnown" \ + && echo "INFO: Successfully installed IBM License Manager." \ + && result=0 \ + && break \ + || result=1 + + echo "INFO: Waiting for the subscription to be ready." + sleep 20 + done + else + echo "INFO: IBM License Manager already installed." + oc get Subscription.operators.coreos.com \ + -l operators.coreos.com/ibm-licensing-operator-app.ibm-licensing \ + -A + fi + else + echo "ERROR: Unable to get status of cert managers in the cluster." + fi + exit "${result}" restartPolicy: Never diff --git a/config/cloudpaks/cp-shared/operators/values.yaml b/config/cloudpaks/cp-shared/operators/values.yaml index e5f746c7..75212c0f 100644 --- a/config/cloudpaks/cp-shared/operators/values.yaml +++ b/config/cloudpaks/cp-shared/operators/values.yaml @@ -5,6 +5,9 @@ metadata: ibm_cert_manager_channel: v4.2 ibm_cert_manager_namespace: ibm-cert-manager ibm_cert_manager_operator_group: ibm-cert-manager-operator-group + ibm_license_manager_channel: v4.2 + ibm_license_manager_namespace: ibm-licensing + ibm_license_manager_operator_group: ibm-licensing-operator-app redhat_cert_manager_namespace: cert-manager-operator redhat_cert_manager_operator_group: cert-manager-operator-group serviceaccount: diff --git a/config/cloudpaks/cp4aiops/install-aimgr/Chart.yaml b/config/cloudpaks/cp4aiops/install-aimgr/Chart.yaml index d8779ecb..bfd9f113 100644 --- a/config/cloudpaks/cp4aiops/install-aimgr/Chart.yaml +++ b/config/cloudpaks/cp4aiops/install-aimgr/Chart.yaml @@ -13,9 +13,9 @@ description: Cloud Pak for AIOps - AI Manager # pipeline. Library charts do not define any templates and therefore cannot be deployed. type: application -version: 0.18.0 +version: 0.19.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. -appVersion: 4.3.0 +appVersion: 4.4.0 diff --git a/config/cloudpaks/cp4aiops/install-aimgr/templates/resources/200-ai-manager.yaml b/config/cloudpaks/cp4aiops/install-aimgr/templates/resources/200-ai-manager.yaml index 498569e1..677eb6ae 100644 --- a/config/cloudpaks/cp4aiops/install-aimgr/templates/resources/200-ai-manager.yaml +++ b/config/cloudpaks/cp4aiops/install-aimgr/templates/resources/200-ai-manager.yaml @@ -20,7 +20,7 @@ spec: enabled: true - name: connection enabled: false - size: small + size: {{ .Values.spec.size }} storageClass: {{ .Values.storageclass.rwx }} storageClassLargeBlock: {{ .Values.storageclass.rwo }} topologyModel: application diff --git a/config/cloudpaks/cp4aiops/install-aimgr/templates/subscriptions/100-subscription.yaml b/config/cloudpaks/cp4aiops/install-aimgr/templates/subscriptions/100-subscription.yaml index 851ad97e..51df7c86 100644 --- a/config/cloudpaks/cp4aiops/install-aimgr/templates/subscriptions/100-subscription.yaml +++ b/config/cloudpaks/cp4aiops/install-aimgr/templates/subscriptions/100-subscription.yaml @@ -7,7 +7,7 @@ metadata: name: ibm-aiops-orchestrator namespace: "{{.Values.metadata.argocd_app_namespace}}" spec: - channel: v4.3 + channel: v4.4 installPlanApproval: Automatic name: ibm-aiops-orchestrator source: ibm-operator-catalog diff --git a/config/cloudpaks/cp4aiops/install-aimgr/values.yaml b/config/cloudpaks/cp4aiops/install-aimgr/values.yaml index 82344baf..2bda18f2 100644 --- a/config/cloudpaks/cp4aiops/install-aimgr/values.yaml +++ b/config/cloudpaks/cp4aiops/install-aimgr/values.yaml @@ -2,6 +2,8 @@ serviceaccount: argocd_application_controller: openshift-gitops-argocd-application-controller ibm_cloudpaks_installer: ibm-cloudpaks-installer +spec: + size: small metadata: argocd_app_namespace: ibm-cloudpaks argocd_namespace: openshift-gitops diff --git a/config/cloudpaks/cp4aiops/install-ia/Chart.yaml b/config/cloudpaks/cp4aiops/install-ia/Chart.yaml index 4657adb6..e68628d6 100644 --- a/config/cloudpaks/cp4aiops/install-ia/Chart.yaml +++ b/config/cloudpaks/cp4aiops/install-ia/Chart.yaml @@ -16,9 +16,9 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.17.0 +version: 0.18.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. -appVersion: 4.3.0 +appVersion: 4.4.0 diff --git a/config/cloudpaks/cp4aiops/install-ia/templates/subscriptions/100-subscription.yaml b/config/cloudpaks/cp4aiops/install-ia/templates/subscriptions/100-subscription.yaml index 5eed3bb1..8f48d5fc 100644 --- a/config/cloudpaks/cp4aiops/install-ia/templates/subscriptions/100-subscription.yaml +++ b/config/cloudpaks/cp4aiops/install-ia/templates/subscriptions/100-subscription.yaml @@ -7,7 +7,7 @@ metadata: name: ibm-infrastructure-automation-operator namespace: "{{.Values.metadata.argocd_app_namespace}}" spec: - channel: v4.2 + channel: v4.4 installPlanApproval: Automatic name: ibm-infrastructure-automation-operator source: ibm-operator-catalog diff --git a/tests/postbuild/cluster.sh b/tests/postbuild/cluster.sh index ac1cef46..bd141555 100755 --- a/tests/postbuild/cluster.sh +++ b/tests/postbuild/cluster.sh @@ -17,7 +17,7 @@ oc_cmd=$(type -p oc) : "${NEW_CLUSTER_TYPE:=fyre-quick-burn}" : "${WORKER_FLAVOR:=medium}" -: "${OCP_VERSION:=4.12}" +: "${OCP_VERSION:=4.14}" # In hours : "${CLUSTER_EXPIRATION:=12}" @@ -910,7 +910,7 @@ function create_fyre_cluster() { return 1 else ocp_version=$(jq -r '.ocp_versions[]' "${ocp_contents}" \ - | grep "${ROF_VERSION}" \ + | grep "^${ROF_VERSION}" \ | sort --version-sort -r \ | head -n 1)