From 19e76fc7920f970ac4e3f442a88ec4446cbba98c Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 2 Apr 2026 17:15:19 +0530 Subject: [PATCH 01/36] Added aiservice-install-plan-approval CLI parameter --- python/src/mas/cli/aiservice/install/argBuilder.py | 6 ++++++ python/src/mas/cli/aiservice/install/argParser.py | 8 ++++++++ python/src/mas/cli/aiservice/install/params.py | 2 ++ python/src/mas/cli/install/argBuilder.py | 4 ++++ python/src/mas/cli/install/argParser.py | 11 +++++++++++ python/src/mas/cli/install/params.py | 2 ++ 6 files changed, 33 insertions(+) diff --git a/python/src/mas/cli/aiservice/install/argBuilder.py b/python/src/mas/cli/aiservice/install/argBuilder.py index 6616b3b930c..4d419435070 100644 --- a/python/src/mas/cli/aiservice/install/argBuilder.py +++ b/python/src/mas/cli/aiservice/install/argBuilder.py @@ -80,6 +80,12 @@ def buildCommand(self) -> str: # ----------------------------------------------------------------------------- command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" + + if self.getParam('aiservice_install_plan_approval') != "": + command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" + + + # Development Mode # ----------------------------------------------------------------------------- if self.getParam('artifactory_username') != "": diff --git a/python/src/mas/cli/aiservice/install/argParser.py b/python/src/mas/cli/aiservice/install/argParser.py index 79288c01585..ec10cbdaebf 100644 --- a/python/src/mas/cli/aiservice/install/argParser.py +++ b/python/src/mas/cli/aiservice/install/argParser.py @@ -173,6 +173,14 @@ def isValidFile(parser, arg) -> str: required=False, help="Subscription channel for Maximo AI Service" ) +masAppsArgGroup.add_argument( + "--aiservice-install-plan-approval", + dest="aiservice_install_plan_approval", + required=False, + default="Automatic", + choices=["Automatic", "Manual"], + help="Install plan approval for AI Service operator subscription" +) # ODH # ----------------------------------------------------------------------------- diff --git a/python/src/mas/cli/aiservice/install/params.py b/python/src/mas/cli/aiservice/install/params.py index c17287f8af0..22c4eca6d59 100644 --- a/python/src/mas/cli/aiservice/install/params.py +++ b/python/src/mas/cli/aiservice/install/params.py @@ -103,4 +103,6 @@ # Certificate Issuer "aiservice_certificate_issuer", + "aiservice_install_plan_approval", ] + diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index f4db3f6999d..035d85fc8e3 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -339,6 +339,10 @@ def buildCommand(self) -> str: command += f" --aiservice-instance-id \"{self.getParam('aiservice_instance_id')}\"{newline}" if self.getParam('aiservice_channel') != "": command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" + # change1 + # if self.getParam('aiservice_install_plan_approval') != "": + # command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" + # Certificate Issuer for AI Service if self.getParam('aiservice_certificate_issuer') != "": diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index ff0134a245c..0400a6a449e 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -517,6 +517,17 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: required=False, help="Subscription channel for Maximo AI Service" ) +# change1 +# masAppsArgGroup.add_argument( +# "--aiservice-install-plan-approval", +# dest="aiservice_install_plan_approval", +# required=False, +# default="Automatic", +# choices=["Automatic", "Manual"], +# help="Install plan approval for AI Service operator subscription" +# ) + + # Arcgis # ----------------------------------------------------------------------------- diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index 187dfd90546..d23920e7b05 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -217,6 +217,8 @@ # Certificate Issuer "aiservice_certificate_issuer", + # change 1 + # "aiservice_install_plan_approval", # Grafana "skip_grafana_install", From 8cf9333d71bdba2c94f5f0a4e0c82e7ec7fd2210 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 2 Apr 2026 17:15:19 +0530 Subject: [PATCH 02/36] Added aiservice-install-plan-approval CLI parameter --- python/src/mas/cli/aiservice/install/argBuilder.py | 6 ++++++ python/src/mas/cli/aiservice/install/argParser.py | 8 ++++++++ python/src/mas/cli/aiservice/install/params.py | 4 ++++ python/src/mas/cli/install/argBuilder.py | 4 ++++ python/src/mas/cli/install/argParser.py | 11 +++++++++++ python/src/mas/cli/install/params.py | 2 ++ 6 files changed, 35 insertions(+) diff --git a/python/src/mas/cli/aiservice/install/argBuilder.py b/python/src/mas/cli/aiservice/install/argBuilder.py index 61a84d5f4d4..70cf2a85297 100644 --- a/python/src/mas/cli/aiservice/install/argBuilder.py +++ b/python/src/mas/cli/aiservice/install/argBuilder.py @@ -80,6 +80,12 @@ def buildCommand(self) -> str: # ----------------------------------------------------------------------------- command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" + + if self.getParam('aiservice_install_plan_approval') != "": + command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" + + + # Development Mode # ----------------------------------------------------------------------------- if self.getParam('artifactory_username') != "": diff --git a/python/src/mas/cli/aiservice/install/argParser.py b/python/src/mas/cli/aiservice/install/argParser.py index 6deb68edffc..ccd09aa8396 100644 --- a/python/src/mas/cli/aiservice/install/argParser.py +++ b/python/src/mas/cli/aiservice/install/argParser.py @@ -173,6 +173,14 @@ def isValidFile(parser, arg) -> str: required=False, help="Subscription channel for Maximo AI Service" ) +masAppsArgGroup.add_argument( + "--aiservice-install-plan-approval", + dest="aiservice_install_plan_approval", + required=False, + default="Automatic", + choices=["Automatic", "Manual"], + help="Install plan approval for AI Service operator subscription" +) # ODH # ----------------------------------------------------------------------------- diff --git a/python/src/mas/cli/aiservice/install/params.py b/python/src/mas/cli/aiservice/install/params.py index 83efc7697ee..b30f4ba322d 100644 --- a/python/src/mas/cli/aiservice/install/params.py +++ b/python/src/mas/cli/aiservice/install/params.py @@ -106,4 +106,8 @@ # Enable IPv6 networking "enable_ipv6", + + # Install Plan Approval + "aiservice_install_plan_approval", ] + diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index eeb9891f69d..ea331930131 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -339,6 +339,10 @@ def buildCommand(self) -> str: command += f" --aiservice-instance-id \"{self.getParam('aiservice_instance_id')}\"{newline}" if self.getParam('aiservice_channel') != "": command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" + # change1 + # if self.getParam('aiservice_install_plan_approval') != "": + # command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" + # Certificate Issuer for AI Service if self.getParam('aiservice_certificate_issuer') != "": diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index ff0134a245c..0400a6a449e 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -517,6 +517,17 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: required=False, help="Subscription channel for Maximo AI Service" ) +# change1 +# masAppsArgGroup.add_argument( +# "--aiservice-install-plan-approval", +# dest="aiservice_install_plan_approval", +# required=False, +# default="Automatic", +# choices=["Automatic", "Manual"], +# help="Install plan approval for AI Service operator subscription" +# ) + + # Arcgis # ----------------------------------------------------------------------------- diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index 187dfd90546..d23920e7b05 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -217,6 +217,8 @@ # Certificate Issuer "aiservice_certificate_issuer", + # change 1 + # "aiservice_install_plan_approval", # Grafana "skip_grafana_install", From e46ade6fe4cb7a92563b8bd6b7245e1a945d0259 Mon Sep 17 00:00:00 2001 From: Raahithya Jayaram Date: Mon, 6 Apr 2026 10:50:24 +0530 Subject: [PATCH 03/36] Made changes for adding install-plan-approval CLI parameter in install folder --- python/src/mas/cli/install/argBuilder.py | 6 +++--- python/src/mas/cli/install/argParser.py | 18 +++++++++--------- python/src/mas/cli/install/params.py | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index ea331930131..094f4ebda4b 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -339,9 +339,9 @@ def buildCommand(self) -> str: command += f" --aiservice-instance-id \"{self.getParam('aiservice_instance_id')}\"{newline}" if self.getParam('aiservice_channel') != "": command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" - # change1 - # if self.getParam('aiservice_install_plan_approval') != "": - # command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" + + if self.getParam('aiservice_install_plan_approval') != "": + command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" # Certificate Issuer for AI Service diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index 0400a6a449e..ec61d89b3b0 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -517,15 +517,15 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: required=False, help="Subscription channel for Maximo AI Service" ) -# change1 -# masAppsArgGroup.add_argument( -# "--aiservice-install-plan-approval", -# dest="aiservice_install_plan_approval", -# required=False, -# default="Automatic", -# choices=["Automatic", "Manual"], -# help="Install plan approval for AI Service operator subscription" -# ) + +masAppsArgGroup.add_argument( + "--aiservice-install-plan-approval", + dest="aiservice_install_plan_approval", + required=False, + default="Automatic", + choices=["Automatic", "Manual"], + help="Install plan approval for AI Service operator subscription" +) diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index d23920e7b05..813b80cfff0 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -217,8 +217,8 @@ # Certificate Issuer "aiservice_certificate_issuer", - # change 1 - # "aiservice_install_plan_approval", + + "aiservice_install_plan_approval", # Grafana "skip_grafana_install", From 1aeb9d90eb0676f5aff6192a237d6556aa0efd7d Mon Sep 17 00:00:00 2001 From: Raahithya Jayaram Date: Tue, 7 Apr 2026 12:38:55 +0530 Subject: [PATCH 04/36] Add aiservice_install_plan_approval parameter --- tekton/src/params/install-aiservice.yml.j2 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tekton/src/params/install-aiservice.yml.j2 b/tekton/src/params/install-aiservice.yml.j2 index 3da99e59c99..e1de5c93225 100644 --- a/tekton/src/params/install-aiservice.yml.j2 +++ b/tekton/src/params/install-aiservice.yml.j2 @@ -16,6 +16,10 @@ type: string description: Default channel for IBM Maximo AI Service default: "" +- name: aiservice_install_plan_approval + type: string + description: Install plan approval strategy for AIService operator (Manual or Automatic) + default: "Automatic" - name: environment_type type: string description: Environment type From 22b25df67c1ed3b8ba540c98a2fb87e1d16c3d07 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Tue, 28 Apr 2026 11:44:08 +0530 Subject: [PATCH 05/36] Added aiservice-subscription-install-plan parameter with Automatic default --- image/cli/mascli/functions/gitops_aiservice | 8 ++++++++ .../appset-configs/cluster/instance/ibm-aiservice.yaml.j2 | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/image/cli/mascli/functions/gitops_aiservice b/image/cli/mascli/functions/gitops_aiservice index 974cddfd87f..880e0b45f47 100644 --- a/image/cli/mascli/functions/gitops_aiservice +++ b/image/cli/mascli/functions/gitops_aiservice @@ -34,6 +34,7 @@ sls_dro_jdbc --artifactory-username ${TEXT_RESET}ARTIFACTORY_USERNAME${TEXT_RESET} --aiservice-channel ${TEXT_RESET}AISERVICE_CHANNEL${TEXT_RESET} --mas-catalog-source ${TEXT_RESET}MAS_CATALOG_SOURCE${TEXT_RESET} + --aiservice-subscription-install-plan ${TEXT_RESET}AISERVICE_SUBSCRIPTION_INSTALL_PLAN${TEXT_RESET} --mas-icr-cp ${TEXT_RESET}MAS_ICR_CP${TEXT_RESET} --mas-icr-cpopen ${TEXT_RESET}MAS_ICR_CPOPEN${TEXT_RESET} --cluster-domain ${TEXT_RESET}CLUSTER_DOMAIN${TEXT_RESET} @@ -70,6 +71,7 @@ function gitops_aiservice_noninteractive() { #adding default values export AISERVICE_NAMESPACE=${AISERVICE_NAMESPACE:-"aiservice-${AISERVICE_INSTANCE_ID}"} + export IN_SAAS_ENV=${IN_SAAS_ENV:-"true"} export IS_EXTERNAL_ROUTE=${IS_EXTERNAL_ROUTE:-"false"} # Default to "false", can be set to "true" if needed export JDBC_SECRET=${JDBC_SECRET:-"aiservice-jdbc-secret"} @@ -85,6 +87,7 @@ function gitops_aiservice_noninteractive() { export AISERVICE_STORAGE_REGION=${AISERVICE_STORAGE_REGION:-""} export AISERVICE_STORAGE_SSL=${AISERVICE_STORAGE_SSL:-"true"} export MAS_CATALOG_SOURCE=${MAS_CATALOG_SOURCE:-"ibm-operator-catalog"} + export AISERVICE_SUBSCRIPTION_INSTALL_PLAN=${AISERVICE_SUBSCRIPTION_INSTALL_PLAN:-"Automatic"} export AISERVICE_S3_BUCKET_PREFIX=${AISERVICE_S3_BUCKET_PREFIX:-"m"} export ENVIRONMENT_TYPE=${ENVIRONMENT_TYPE:-"PRODUCTION"} @@ -170,6 +173,9 @@ function gitops_aiservice_noninteractive() { --mas-catalog-source) export MAS_CATALOG_SOURCE=$1 && shift ;; + --aiservice-subscription-install-plan) + export AISERVICE_SUBSCRIPTION_INSTALL_PLAN=$1 && shift + ;; --environment-type) export ENVIRONMENT_TYPE=$1 && shift ;; @@ -260,6 +266,7 @@ function gitops_aiservice_noninteractive() { [[ -z "$ARTIFACTORY_USERNAME" ]] && gitops_aiservice_help "ARTIFACTORY_USERNAME is not set. Please provide the artifactory username using --artifactory-username" [[ -z "$AISERVICE_CHANNEL" ]] && gitops_aiservice_help "AISERVICE_CHANNEL is not set. Please provide the mas app channel using --aiservice-channel" [[ -z "$MAS_CATALOG_SOURCE" ]] && gitops_aiservice_help "MAS_CATALOG_SOURCE is not set. Please provide the mas catalog source using --mas-catalog-source" + [[ -z "$MAS_ICR_CP" ]] && gitops_aiservice_help "MAS_ICR_CP is not set. Please provide the MAS ICR CP using --mas-icr-cp" [[ -z "$MAS_ICR_CPOPEN" ]] && gitops_aiservice_help "MAS_ICR_CPOPEN is not set. Please provide the MAS ICR CPOPEN using --mas-icr-cpopopen" [[ -z "$IN_SAAS_ENV" ]] && gitops_aiservice_help "IN_SAAS_ENV is not set. Please specify if this is in SaaS environment using --in-saas-env." @@ -340,6 +347,7 @@ function gitops_aiservice() { echo_reset_dim "Primary Storage Class ................. ${COLOR_MAGENTA}${PRIMARY_STORAGE_CLASS}" echo_reset_dim "Artifactory Username ................... ${COLOR_MAGENTA}${ARTIFACTORY_USERNAME}" echo_reset_dim "AiService Channel ...................... ${COLOR_MAGENTA}${AISERVICE_CHANNEL}" + echo_reset_dim "AIService Install Plan Approval ........ ${COLOR_MAGENTA}${AISERVICE_SUBSCRIPTION_INSTALL_PLAN}" echo_reset_dim "MAS Catalog Source ..................... ${COLOR_MAGENTA}${MAS_CATALOG_SOURCE}" echo_reset_dim "MAS ICR CP ............................. ${COLOR_MAGENTA}${MAS_ICR_CP}" echo_reset_dim "MAS ICR CPOpen ......................... ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}" diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 index d755a39130c..87524a77013 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 @@ -45,6 +45,10 @@ ibm_aiservice: artifactory_token: "" # Environment Variable: aiservice_channel: "{{ AISERVICE_CHANNEL }}" + + aiservice_install_plan_approval: "{{ AISERVICE_SUBSCRIPTION_INSTALL_PLAN }}" + + mas_catalog_source: "{{ MAS_CATALOG_SOURCE }}" # Source container registry From eb99ed28cf2f1b026245c709b0613a977136d58f Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 30 Apr 2026 13:28:52 +0530 Subject: [PATCH 06/36] Updated CLI parameter from --aiservice-subscription-install-plan to --aiservice-install-plan-approval --- image/cli/mascli/functions/gitops_aiservice | 16 +++++++++++----- .../cluster/instance/ibm-aiservice.yaml.j2 | 4 +++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/image/cli/mascli/functions/gitops_aiservice b/image/cli/mascli/functions/gitops_aiservice index 880e0b45f47..04a7b1ff186 100644 --- a/image/cli/mascli/functions/gitops_aiservice +++ b/image/cli/mascli/functions/gitops_aiservice @@ -34,7 +34,8 @@ sls_dro_jdbc --artifactory-username ${TEXT_RESET}ARTIFACTORY_USERNAME${TEXT_RESET} --aiservice-channel ${TEXT_RESET}AISERVICE_CHANNEL${TEXT_RESET} --mas-catalog-source ${TEXT_RESET}MAS_CATALOG_SOURCE${TEXT_RESET} - --aiservice-subscription-install-plan ${TEXT_RESET}AISERVICE_SUBSCRIPTION_INSTALL_PLAN${TEXT_RESET} + + --aiservice-install-plan-approval ${TEXT_RESET}AISERVICE_INSTALL_PLAN_APPROVAL${TEXT_RESET} --mas-icr-cp ${TEXT_RESET}MAS_ICR_CP${TEXT_RESET} --mas-icr-cpopen ${TEXT_RESET}MAS_ICR_CPOPEN${TEXT_RESET} --cluster-domain ${TEXT_RESET}CLUSTER_DOMAIN${TEXT_RESET} @@ -87,7 +88,8 @@ function gitops_aiservice_noninteractive() { export AISERVICE_STORAGE_REGION=${AISERVICE_STORAGE_REGION:-""} export AISERVICE_STORAGE_SSL=${AISERVICE_STORAGE_SSL:-"true"} export MAS_CATALOG_SOURCE=${MAS_CATALOG_SOURCE:-"ibm-operator-catalog"} - export AISERVICE_SUBSCRIPTION_INSTALL_PLAN=${AISERVICE_SUBSCRIPTION_INSTALL_PLAN:-"Automatic"} + # export AISERVICE_SUBSCRIPTION_INSTALL_PLAN=${AISERVICE_SUBSCRIPTION_INSTALL_PLAN:-"Automatic"} + export AISERVICE_INSTALL_PLAN_APPROVAL=${AISERVICE_INSTALL_PLAN_APPROVAL:-"Automatic"} export AISERVICE_S3_BUCKET_PREFIX=${AISERVICE_S3_BUCKET_PREFIX:-"m"} export ENVIRONMENT_TYPE=${ENVIRONMENT_TYPE:-"PRODUCTION"} @@ -173,9 +175,12 @@ function gitops_aiservice_noninteractive() { --mas-catalog-source) export MAS_CATALOG_SOURCE=$1 && shift ;; - --aiservice-subscription-install-plan) - export AISERVICE_SUBSCRIPTION_INSTALL_PLAN=$1 && shift + --aiservice-install-plan-approval) + export AISERVICE_INSTALL_PLAN_APPROVAL=$1 && shift ;; + # --aiservice-subscription-install-plan) + # export AISERVICE_SUBSCRIPTION_INSTALL_PLAN=$1 && shift + # ;; --environment-type) export ENVIRONMENT_TYPE=$1 && shift ;; @@ -347,7 +352,8 @@ function gitops_aiservice() { echo_reset_dim "Primary Storage Class ................. ${COLOR_MAGENTA}${PRIMARY_STORAGE_CLASS}" echo_reset_dim "Artifactory Username ................... ${COLOR_MAGENTA}${ARTIFACTORY_USERNAME}" echo_reset_dim "AiService Channel ...................... ${COLOR_MAGENTA}${AISERVICE_CHANNEL}" - echo_reset_dim "AIService Install Plan Approval ........ ${COLOR_MAGENTA}${AISERVICE_SUBSCRIPTION_INSTALL_PLAN}" + echo_reset_dim "AIService Install Plan Approval ........ ${COLOR_MAGENTA}${AISERVICE_INSTALL_PLAN_APPROVAL}" + # echo_reset_dim "AIService Install Plan Approval ........ ${COLOR_MAGENTA}${AISERVICE_SUBSCRIPTION_INSTALL_PLAN}" echo_reset_dim "MAS Catalog Source ..................... ${COLOR_MAGENTA}${MAS_CATALOG_SOURCE}" echo_reset_dim "MAS ICR CP ............................. ${COLOR_MAGENTA}${MAS_ICR_CP}" echo_reset_dim "MAS ICR CPOpen ......................... ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}" diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 index 87524a77013..fed3d7a570c 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 @@ -45,8 +45,10 @@ ibm_aiservice: artifactory_token: "" # Environment Variable: aiservice_channel: "{{ AISERVICE_CHANNEL }}" + aiservice_install_plan_approval: "{{ AISERVICE_INSTALL_PLAN_APPROVAL }}" + + - aiservice_install_plan_approval: "{{ AISERVICE_SUBSCRIPTION_INSTALL_PLAN }}" mas_catalog_source: "{{ MAS_CATALOG_SOURCE }}" From 0268c8274e77ab91a5898f151394a5801bae9b7f Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Mon, 4 May 2026 12:26:19 +0530 Subject: [PATCH 07/36] Fix pre-commit formatting and update secrets baseline --- .secrets.baseline | 12 ++++++------ python/src/mas/cli/aiservice/install/argBuilder.py | 3 --- python/src/mas/cli/aiservice/install/params.py | 3 +-- python/src/mas/cli/install/argBuilder.py | 2 -- python/src/mas/cli/install/argParser.py | 2 -- python/src/mas/cli/install/params.py | 2 +- 6 files changed, 8 insertions(+), 16 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index c177b52bba9..1e10c9af860 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-04-26T12:19:35Z", + "generated_at": "2026-05-04T06:54:31Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -182,7 +182,7 @@ "hashed_secret": "6ffb91fd9c01e69b8e9093d84439c8b88dd8fe35", "is_secret": false, "is_verified": false, - "line_number": 75, + "line_number": 78, "type": "Secret Keyword", "verified_result": null }, @@ -190,7 +190,7 @@ "hashed_secret": "db40a6131d9b574bb057875df98fb03f9874d5b4", "is_secret": false, "is_verified": false, - "line_number": 91, + "line_number": 96, "type": "Secret Keyword", "verified_result": null }, @@ -198,7 +198,7 @@ "hashed_secret": "6fbaa59234a602571baf17a51592b436b33f8491", "is_secret": false, "is_verified": false, - "line_number": 92, + "line_number": 97, "type": "Secret Keyword", "verified_result": null }, @@ -206,7 +206,7 @@ "hashed_secret": "bd1b0b7f343605538b1da78056db3a7bddf3f807", "is_secret": false, "is_verified": false, - "line_number": 95, + "line_number": 100, "type": "Secret Keyword", "verified_result": null }, @@ -214,7 +214,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 308, + "line_number": 320, "type": "Secret Keyword", "verified_result": null } diff --git a/python/src/mas/cli/aiservice/install/argBuilder.py b/python/src/mas/cli/aiservice/install/argBuilder.py index 70cf2a85297..d60864bd883 100644 --- a/python/src/mas/cli/aiservice/install/argBuilder.py +++ b/python/src/mas/cli/aiservice/install/argBuilder.py @@ -80,12 +80,9 @@ def buildCommand(self) -> str: # ----------------------------------------------------------------------------- command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" - if self.getParam('aiservice_install_plan_approval') != "": command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" - - # Development Mode # ----------------------------------------------------------------------------- if self.getParam('artifactory_username') != "": diff --git a/python/src/mas/cli/aiservice/install/params.py b/python/src/mas/cli/aiservice/install/params.py index 4648e41bdac..cf75c27a32f 100644 --- a/python/src/mas/cli/aiservice/install/params.py +++ b/python/src/mas/cli/aiservice/install/params.py @@ -107,7 +107,6 @@ # Enable IPv6 networking "enable_ipv6", - + "aiservice_install_plan_approval", ] - diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index 9c82c13c8ca..2d2ac1de4bd 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -343,11 +343,9 @@ def buildCommand(self) -> str: if self.getParam('aiservice_channel') != "": command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" - if self.getParam('aiservice_install_plan_approval') != "": command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" - # Certificate Issuer for AI Service if self.getParam('aiservice_certificate_issuer') != "": command += f" --aiservice-certificate-issuer \"{self.getParam('aiservice_certificate_issuer')}\"{newline}" diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index 13bb2601ddf..d5ef03cbffa 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -535,7 +535,6 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: # ) - masAppsArgGroup.add_argument( "--aiservice-install-plan-approval", dest="aiservice_install_plan_approval", @@ -546,7 +545,6 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: ) - # Arcgis # ----------------------------------------------------------------------------- arcgisArgGroup = installArgParser.add_argument_group("Maximo Location Services for Esri (arcgis)") diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index ef8b2cae47c..44f4e2c132d 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -221,7 +221,7 @@ "aiservice_install_plan_approval", - + # Grafana "skip_grafana_install", From 4a00006b883d14abf2cf69f143a2e280aa48115a Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Mon, 4 May 2026 16:48:32 +0530 Subject: [PATCH 08/36] Fix pre-commit formatting issues --- .secrets.baseline | 4 ++-- image/cli/mascli/functions/gitops_aiservice | 8 +++----- python/src/mas/cli/install/argParser.py | 9 --------- 3 files changed, 5 insertions(+), 16 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 1e10c9af860..9485fc42ad3 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-05-04T06:54:31Z", + "generated_at": "2026-05-04T11:13:58Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -214,7 +214,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 320, + "line_number": 318, "type": "Secret Keyword", "verified_result": null } diff --git a/image/cli/mascli/functions/gitops_aiservice b/image/cli/mascli/functions/gitops_aiservice index 1fb72293dee..aa8e7675de7 100644 --- a/image/cli/mascli/functions/gitops_aiservice +++ b/image/cli/mascli/functions/gitops_aiservice @@ -88,7 +88,7 @@ function gitops_aiservice_noninteractive() { export AISERVICE_STORAGE_REGION=${AISERVICE_STORAGE_REGION:-""} export AISERVICE_STORAGE_SSL=${AISERVICE_STORAGE_SSL:-"true"} export MAS_CATALOG_SOURCE=${MAS_CATALOG_SOURCE:-"ibm-operator-catalog"} - # export AISERVICE_SUBSCRIPTION_INSTALL_PLAN=${AISERVICE_SUBSCRIPTION_INSTALL_PLAN:-"Automatic"} + export AISERVICE_INSTALL_PLAN_APPROVAL=${AISERVICE_INSTALL_PLAN_APPROVAL:-"Automatic"} export AISERVICE_S3_BUCKET_PREFIX=${AISERVICE_S3_BUCKET_PREFIX:-"m"} @@ -178,9 +178,7 @@ function gitops_aiservice_noninteractive() { --aiservice-install-plan-approval) export AISERVICE_INSTALL_PLAN_APPROVAL=$1 && shift ;; - # --aiservice-subscription-install-plan) - # export AISERVICE_SUBSCRIPTION_INSTALL_PLAN=$1 && shift - # ;; + --environment-type) export ENVIRONMENT_TYPE=$1 && shift ;; @@ -353,7 +351,7 @@ function gitops_aiservice() { echo_reset_dim "Artifactory Username ................... ${COLOR_MAGENTA}${ARTIFACTORY_USERNAME}" echo_reset_dim "AiService Channel ...................... ${COLOR_MAGENTA}${AISERVICE_CHANNEL}" echo_reset_dim "AIService Install Plan Approval ........ ${COLOR_MAGENTA}${AISERVICE_INSTALL_PLAN_APPROVAL}" - # echo_reset_dim "AIService Install Plan Approval ........ ${COLOR_MAGENTA}${AISERVICE_SUBSCRIPTION_INSTALL_PLAN}" + echo_reset_dim "MAS Catalog Source ..................... ${COLOR_MAGENTA}${MAS_CATALOG_SOURCE}" echo_reset_dim "MAS ICR CP ............................. ${COLOR_MAGENTA}${MAS_ICR_CP}" echo_reset_dim "MAS ICR CPOpen ......................... ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}" diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index d5ef03cbffa..8eedeeb3d37 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -524,15 +524,6 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: required=False, help="Subscription channel for Maximo AI Service" ) -# change1 -# masAppsArgGroup.add_argument( -# "--aiservice-install-plan-approval", -# dest="aiservice_install_plan_approval", -# required=False, -# default="Automatic", -# choices=["Automatic", "Manual"], -# help="Install plan approval for AI Service operator subscription" -# ) masAppsArgGroup.add_argument( From 0c4a856ee00f42d210c555652db0357b521c3b61 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Mon, 4 May 2026 17:15:46 +0530 Subject: [PATCH 09/36] Updated gitops-aiservice --- tekton/src/tasks/gitops/gitops-aiservice.yml.j2 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tekton/src/tasks/gitops/gitops-aiservice.yml.j2 b/tekton/src/tasks/gitops/gitops-aiservice.yml.j2 index b0378668eb0..3b20b50dbde 100644 --- a/tekton/src/tasks/gitops/gitops-aiservice.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-aiservice.yml.j2 @@ -44,6 +44,9 @@ spec: type: string - name: aiservice_channel type: string + - name: aiservice_install_plan_approval + type: string + default: "Automatic" - name: mas_catalog_source type: string - name: mas_icr_cp @@ -118,6 +121,8 @@ spec: value: $(params.artifactory_username) - name: AISERVICE_CHANNEL value: $(params.aiservice_channel) + - name: AISERVICE_INSTALL_PLAN_APPROVAL + value: $(params.aiservice_install_plan_approval) - name: MAS_CATALOG_SOURCE value: $(params.mas_catalog_source) - name: MAS_ICR_CP From 440700f78f3c3401423fe185f1cf2fb11f77054a Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Wed, 6 May 2026 13:48:11 +0530 Subject: [PATCH 10/36] Revert non-GitOps files - Python and Tekton changes not required for subscription installPlanApproval change --- .secrets.baseline | 12 ++++++------ image/cli/mascli/functions/gitops_aiservice | 6 +----- .../cluster/instance/ibm-aiservice.yaml.j2 | 6 ------ python/src/mas/cli/install/argBuilder.py | 11 ----------- tekton/src/params/install-aiservice.yml.j2 | 4 ---- 5 files changed, 7 insertions(+), 32 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 9485fc42ad3..ef4af192fc1 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-05-04T11:13:58Z", + "generated_at": "2026-05-06T08:16:10Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -182,7 +182,7 @@ "hashed_secret": "6ffb91fd9c01e69b8e9093d84439c8b88dd8fe35", "is_secret": false, "is_verified": false, - "line_number": 78, + "line_number": 77, "type": "Secret Keyword", "verified_result": null }, @@ -190,7 +190,7 @@ "hashed_secret": "db40a6131d9b574bb057875df98fb03f9874d5b4", "is_secret": false, "is_verified": false, - "line_number": 96, + "line_number": 93, "type": "Secret Keyword", "verified_result": null }, @@ -198,7 +198,7 @@ "hashed_secret": "6fbaa59234a602571baf17a51592b436b33f8491", "is_secret": false, "is_verified": false, - "line_number": 97, + "line_number": 94, "type": "Secret Keyword", "verified_result": null }, @@ -206,7 +206,7 @@ "hashed_secret": "bd1b0b7f343605538b1da78056db3a7bddf3f807", "is_secret": false, "is_verified": false, - "line_number": 100, + "line_number": 97, "type": "Secret Keyword", "verified_result": null }, @@ -214,7 +214,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 318, + "line_number": 314, "type": "Secret Keyword", "verified_result": null } diff --git a/image/cli/mascli/functions/gitops_aiservice b/image/cli/mascli/functions/gitops_aiservice index aa8e7675de7..044992bc502 100644 --- a/image/cli/mascli/functions/gitops_aiservice +++ b/image/cli/mascli/functions/gitops_aiservice @@ -24,6 +24,7 @@ ibm aiservice(required): --aiservice-namespace ${TEXT_RESET}AISERVICE_NAMESPACE${TEXT_RESET} --aiservice-instance-id ${TEXT_RESET}AISERVICE_INSTANCE_ID${TEXT_RESET} --primary-storage-class ${TEXT_RESET}PRIMARY_STORAGE_CLASS${TEXT_RESET} + --aiservice-install-plan-approval ${TEXT_RESET}AISERVICE_INSTALL_PLAN_APPROVAL${TEXT_RESET} storage provider: --aiservice-storage-provider ${TEXT_RESET}AISERVICE_STORAGE_PROVIDER${TEXT_RESET} @@ -34,8 +35,6 @@ sls_dro_jdbc --artifactory-username ${TEXT_RESET}ARTIFACTORY_USERNAME${TEXT_RESET} --aiservice-channel ${TEXT_RESET}AISERVICE_CHANNEL${TEXT_RESET} --mas-catalog-source ${TEXT_RESET}MAS_CATALOG_SOURCE${TEXT_RESET} - - --aiservice-install-plan-approval ${TEXT_RESET}AISERVICE_INSTALL_PLAN_APPROVAL${TEXT_RESET} --mas-icr-cp ${TEXT_RESET}MAS_ICR_CP${TEXT_RESET} --mas-icr-cpopen ${TEXT_RESET}MAS_ICR_CPOPEN${TEXT_RESET} --cluster-domain ${TEXT_RESET}CLUSTER_DOMAIN${TEXT_RESET} @@ -88,9 +87,7 @@ function gitops_aiservice_noninteractive() { export AISERVICE_STORAGE_REGION=${AISERVICE_STORAGE_REGION:-""} export AISERVICE_STORAGE_SSL=${AISERVICE_STORAGE_SSL:-"true"} export MAS_CATALOG_SOURCE=${MAS_CATALOG_SOURCE:-"ibm-operator-catalog"} - export AISERVICE_INSTALL_PLAN_APPROVAL=${AISERVICE_INSTALL_PLAN_APPROVAL:-"Automatic"} - export AISERVICE_S3_BUCKET_PREFIX=${AISERVICE_S3_BUCKET_PREFIX:-"m"} export ENVIRONMENT_TYPE=${ENVIRONMENT_TYPE:-"PRODUCTION"} export DRO_TOKEN_SECRET=${DRO_TOKEN_SECRET:-"dro-token"} @@ -269,7 +266,6 @@ function gitops_aiservice_noninteractive() { [[ -z "$ARTIFACTORY_USERNAME" ]] && gitops_aiservice_help "ARTIFACTORY_USERNAME is not set. Please provide the artifactory username using --artifactory-username" [[ -z "$AISERVICE_CHANNEL" ]] && gitops_aiservice_help "AISERVICE_CHANNEL is not set. Please provide the mas app channel using --aiservice-channel" [[ -z "$MAS_CATALOG_SOURCE" ]] && gitops_aiservice_help "MAS_CATALOG_SOURCE is not set. Please provide the mas catalog source using --mas-catalog-source" - [[ -z "$MAS_ICR_CP" ]] && gitops_aiservice_help "MAS_ICR_CP is not set. Please provide the MAS ICR CP using --mas-icr-cp" [[ -z "$MAS_ICR_CPOPEN" ]] && gitops_aiservice_help "MAS_ICR_CPOPEN is not set. Please provide the MAS ICR CPOPEN using --mas-icr-cpopopen" [[ -z "$IN_SAAS_ENV" ]] && gitops_aiservice_help "IN_SAAS_ENV is not set. Please specify if this is in SaaS environment using --in-saas-env." diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 index 165a7092742..65af05d89c0 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice.yaml.j2 @@ -46,11 +46,6 @@ ibm_aiservice: # Environment Variable: aiservice_channel: "{{ AISERVICE_CHANNEL }}" aiservice_install_plan_approval: "{{ AISERVICE_INSTALL_PLAN_APPROVAL }}" - - - - - mas_catalog_source: "{{ MAS_CATALOG_SOURCE }}" # Source container registry @@ -58,7 +53,6 @@ ibm_aiservice: mas_icr_cp: "{{ MAS_ICR_CP }}" mas_icr_cpopen: "{{ MAS_ICR_CPOPEN }}" - aiservice_domain: "{{ CLUSTER_DOMAIN }}" in_saas_env: {{ IN_SAAS_ENV }} aiservice_storage_class: "{{ PRIMARY_STORAGE_CLASS }}" diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index 2d2ac1de4bd..eeb9891f69d 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -107,9 +107,6 @@ def buildCommand(self) -> str: if self.getParam('mas_configure_ingress').lower() == "true": command += f" --configure-ingress{newline}" - if self.getParam('mas_use_service_mesh') != "": - command += f" --servicemesh \"{self.getParam('mas_use_service_mesh')}\"{newline}" - if self.getParam('mas_domain') != "": command += f" --domain \"{self.getParam('mas_domain')}\"{newline}" @@ -343,9 +340,6 @@ def buildCommand(self) -> str: if self.getParam('aiservice_channel') != "": command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" - if self.getParam('aiservice_install_plan_approval') != "": - command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" - # Certificate Issuer for AI Service if self.getParam('aiservice_certificate_issuer') != "": command += f" --aiservice-certificate-issuer \"{self.getParam('aiservice_certificate_issuer')}\"{newline}" @@ -585,11 +579,6 @@ def buildCommand(self) -> str: if self.getParam('approval_aiservice') != "": command += f" --approval-aiservice \"{self.getParam('approval_aiservice')}\"{newline}" - # Slack - # ----------------------------------------------------------------------------- - if self.getParam('slack_channel') != "" and self.getParam('slack_token'): - command += f" --slack-channel \"{self.getParam('slack_channel')}\" --slack-token $SLACK_TOKEN{newline}" - # More Options # ----------------------------------------------------------------------------- if self.devMode: diff --git a/tekton/src/params/install-aiservice.yml.j2 b/tekton/src/params/install-aiservice.yml.j2 index e1de5c93225..3da99e59c99 100644 --- a/tekton/src/params/install-aiservice.yml.j2 +++ b/tekton/src/params/install-aiservice.yml.j2 @@ -16,10 +16,6 @@ type: string description: Default channel for IBM Maximo AI Service default: "" -- name: aiservice_install_plan_approval - type: string - description: Install plan approval strategy for AIService operator (Manual or Automatic) - default: "Automatic" - name: environment_type type: string description: Environment type From 7c851e9f282d0d0982f581e5318b4304b3bc6b22 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Wed, 6 May 2026 14:16:55 +0530 Subject: [PATCH 11/36] Revert non-GitOps files and apply autopep8 formatting --- python/src/mas/cli/aiservice/install/argBuilder.py | 3 --- python/src/mas/cli/install/argBuilder.py | 8 ++++++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/python/src/mas/cli/aiservice/install/argBuilder.py b/python/src/mas/cli/aiservice/install/argBuilder.py index d60864bd883..61a84d5f4d4 100644 --- a/python/src/mas/cli/aiservice/install/argBuilder.py +++ b/python/src/mas/cli/aiservice/install/argBuilder.py @@ -80,9 +80,6 @@ def buildCommand(self) -> str: # ----------------------------------------------------------------------------- command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" - if self.getParam('aiservice_install_plan_approval') != "": - command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" - # Development Mode # ----------------------------------------------------------------------------- if self.getParam('artifactory_username') != "": diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index eeb9891f69d..edd07811f9e 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -107,6 +107,9 @@ def buildCommand(self) -> str: if self.getParam('mas_configure_ingress').lower() == "true": command += f" --configure-ingress{newline}" + if self.getParam('mas_use_service_mesh') != "": + command += f" --servicemesh \"{self.getParam('mas_use_service_mesh')}\"{newline}" + if self.getParam('mas_domain') != "": command += f" --domain \"{self.getParam('mas_domain')}\"{newline}" @@ -340,6 +343,9 @@ def buildCommand(self) -> str: if self.getParam('aiservice_channel') != "": command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" + if self.getParam('aiservice_install_plan_approval') != "": + command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" + # Certificate Issuer for AI Service if self.getParam('aiservice_certificate_issuer') != "": command += f" --aiservice-certificate-issuer \"{self.getParam('aiservice_certificate_issuer')}\"{newline}" @@ -579,6 +585,8 @@ def buildCommand(self) -> str: if self.getParam('approval_aiservice') != "": command += f" --approval-aiservice \"{self.getParam('approval_aiservice')}\"{newline}" + if self.getParam('slack_channel') != "" and self.getParam('slack_token'): + command += f" --slack-channel \"{self.getParam('slack_channel')}\" --slack-token $SLACK_TOKEN{newline}" # More Options # ----------------------------------------------------------------------------- if self.devMode: From 96b55188f1af86493f163f3a02f3e9054c52e6c9 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Wed, 6 May 2026 14:20:39 +0530 Subject: [PATCH 12/36] Revert non-GitOps files and apply autopep8 formatting --- python/src/mas/cli/install/argBuilder.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index edd07811f9e..fe20fdd78af 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -585,6 +585,8 @@ def buildCommand(self) -> str: if self.getParam('approval_aiservice') != "": command += f" --approval-aiservice \"{self.getParam('approval_aiservice')}\"{newline}" + # Slack + # ----------------------------------------------------------------------------- if self.getParam('slack_channel') != "" and self.getParam('slack_token'): command += f" --slack-channel \"{self.getParam('slack_channel')}\" --slack-token $SLACK_TOKEN{newline}" # More Options From fd52d635cdf2eb409b97e1cdeac3161602763e71 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Wed, 6 May 2026 14:23:59 +0530 Subject: [PATCH 13/36] made changes in argBuilder.py --- python/src/mas/cli/aiservice/install/argBuilder.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python/src/mas/cli/aiservice/install/argBuilder.py b/python/src/mas/cli/aiservice/install/argBuilder.py index 61a84d5f4d4..d60864bd883 100644 --- a/python/src/mas/cli/aiservice/install/argBuilder.py +++ b/python/src/mas/cli/aiservice/install/argBuilder.py @@ -80,6 +80,9 @@ def buildCommand(self) -> str: # ----------------------------------------------------------------------------- command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" + if self.getParam('aiservice_install_plan_approval') != "": + command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" + # Development Mode # ----------------------------------------------------------------------------- if self.getParam('artifactory_username') != "": From f60f9f8633f084dae2109b28899bace64f7accc7 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Wed, 6 May 2026 14:30:31 +0530 Subject: [PATCH 14/36] made changes install-aiservice.yml.j2 --- tekton/src/params/install-aiservice.yml.j2 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tekton/src/params/install-aiservice.yml.j2 b/tekton/src/params/install-aiservice.yml.j2 index 3da99e59c99..e1de5c93225 100644 --- a/tekton/src/params/install-aiservice.yml.j2 +++ b/tekton/src/params/install-aiservice.yml.j2 @@ -16,6 +16,10 @@ type: string description: Default channel for IBM Maximo AI Service default: "" +- name: aiservice_install_plan_approval + type: string + description: Install plan approval strategy for AIService operator (Manual or Automatic) + default: "Automatic" - name: environment_type type: string description: Environment type From d28f11b8ce8845eddcb441613a87732499031b3b Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Wed, 6 May 2026 14:42:42 +0530 Subject: [PATCH 15/36] Revert last two commits and apply autopep8 formatting --- python/src/mas/cli/aiservice/install/argBuilder.py | 3 --- tekton/src/params/install-aiservice.yml.j2 | 4 ---- 2 files changed, 7 deletions(-) diff --git a/python/src/mas/cli/aiservice/install/argBuilder.py b/python/src/mas/cli/aiservice/install/argBuilder.py index d60864bd883..61a84d5f4d4 100644 --- a/python/src/mas/cli/aiservice/install/argBuilder.py +++ b/python/src/mas/cli/aiservice/install/argBuilder.py @@ -80,9 +80,6 @@ def buildCommand(self) -> str: # ----------------------------------------------------------------------------- command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" - if self.getParam('aiservice_install_plan_approval') != "": - command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" - # Development Mode # ----------------------------------------------------------------------------- if self.getParam('artifactory_username') != "": diff --git a/tekton/src/params/install-aiservice.yml.j2 b/tekton/src/params/install-aiservice.yml.j2 index e1de5c93225..3da99e59c99 100644 --- a/tekton/src/params/install-aiservice.yml.j2 +++ b/tekton/src/params/install-aiservice.yml.j2 @@ -16,10 +16,6 @@ type: string description: Default channel for IBM Maximo AI Service default: "" -- name: aiservice_install_plan_approval - type: string - description: Install plan approval strategy for AIService operator (Manual or Automatic) - default: "Automatic" - name: environment_type type: string description: Environment type From 0fb2102ee66f30ee1aaafe1d642e664689d969e4 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 7 May 2026 11:00:03 +0530 Subject: [PATCH 16/36] Fix Build python Package Failure --- image/cli/mascli/functions/gitops_aiservice | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/cli/mascli/functions/gitops_aiservice b/image/cli/mascli/functions/gitops_aiservice index 044992bc502..ebc68fbc81b 100644 --- a/image/cli/mascli/functions/gitops_aiservice +++ b/image/cli/mascli/functions/gitops_aiservice @@ -87,7 +87,7 @@ function gitops_aiservice_noninteractive() { export AISERVICE_STORAGE_REGION=${AISERVICE_STORAGE_REGION:-""} export AISERVICE_STORAGE_SSL=${AISERVICE_STORAGE_SSL:-"true"} export MAS_CATALOG_SOURCE=${MAS_CATALOG_SOURCE:-"ibm-operator-catalog"} - export AISERVICE_INSTALL_PLAN_APPROVAL=${AISERVICE_INSTALL_PLAN_APPROVAL:-"Automatic"} + export AISERVICE_INSTALL_PLAN_APPROVAL=${AISERVICE_INSTALL_PLAN_APPROVAL:-"Automatic"} export AISERVICE_S3_BUCKET_PREFIX=${AISERVICE_S3_BUCKET_PREFIX:-"m"} export ENVIRONMENT_TYPE=${ENVIRONMENT_TYPE:-"PRODUCTION"} export DRO_TOKEN_SECRET=${DRO_TOKEN_SECRET:-"dro-token"} From a0fc8aa1a777d246c3fed586cd66b58e8d25ad96 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 7 May 2026 13:28:55 +0530 Subject: [PATCH 17/36] removed install plan from argbuilder file --- python/src/mas/cli/install/argBuilder.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index fe20fdd78af..e9608228baf 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -343,9 +343,6 @@ def buildCommand(self) -> str: if self.getParam('aiservice_channel') != "": command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" - if self.getParam('aiservice_install_plan_approval') != "": - command += f" --aiservice-install-plan-approval \"{self.getParam('aiservice_install_plan_approval')}\"{newline}" - # Certificate Issuer for AI Service if self.getParam('aiservice_certificate_issuer') != "": command += f" --aiservice-certificate-issuer \"{self.getParam('aiservice_certificate_issuer')}\"{newline}" From 3741ad2a081492d525f40ccdd5b71001747ebb69 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 7 May 2026 15:09:06 +0530 Subject: [PATCH 18/36] Remove extra white spaces --- .secrets.baseline | 15 ++++++--------- image/cli/mascli/functions/gitops_aiservice | 3 --- python/src/mas/cli/aiservice/install/params.py | 6 ++++-- python/src/mas/cli/install/argParser.py | 2 -- python/src/mas/cli/install/params.py | 2 -- 5 files changed, 10 insertions(+), 18 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 5d4dad01a5b..85bb37e2663 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,10 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - - "generated_at": "2026-05-06T08:16:10Z", - - + "generated_at": "2026-05-07T09:38:32Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -185,7 +182,7 @@ "hashed_secret": "6ffb91fd9c01e69b8e9093d84439c8b88dd8fe35", "is_secret": false, "is_verified": false, - "line_number": 77, + "line_number": 76, "type": "Secret Keyword", "verified_result": null }, @@ -193,7 +190,7 @@ "hashed_secret": "db40a6131d9b574bb057875df98fb03f9874d5b4", "is_secret": false, "is_verified": false, - "line_number": 93, + "line_number": 92, "type": "Secret Keyword", "verified_result": null }, @@ -201,7 +198,7 @@ "hashed_secret": "6fbaa59234a602571baf17a51592b436b33f8491", "is_secret": false, "is_verified": false, - "line_number": 94, + "line_number": 93, "type": "Secret Keyword", "verified_result": null }, @@ -209,7 +206,7 @@ "hashed_secret": "bd1b0b7f343605538b1da78056db3a7bddf3f807", "is_secret": false, "is_verified": false, - "line_number": 97, + "line_number": 96, "type": "Secret Keyword", "verified_result": null }, @@ -217,7 +214,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 314, + "line_number": 312, "type": "Secret Keyword", "verified_result": null } diff --git a/image/cli/mascli/functions/gitops_aiservice b/image/cli/mascli/functions/gitops_aiservice index ebc68fbc81b..08d33bcc589 100644 --- a/image/cli/mascli/functions/gitops_aiservice +++ b/image/cli/mascli/functions/gitops_aiservice @@ -71,7 +71,6 @@ function gitops_aiservice_noninteractive() { #adding default values export AISERVICE_NAMESPACE=${AISERVICE_NAMESPACE:-"aiservice-${AISERVICE_INSTANCE_ID}"} - export IN_SAAS_ENV=${IN_SAAS_ENV:-"true"} export IS_EXTERNAL_ROUTE=${IS_EXTERNAL_ROUTE:-"false"} # Default to "false", can be set to "true" if needed export JDBC_SECRET=${JDBC_SECRET:-"aiservice-jdbc-secret"} @@ -175,7 +174,6 @@ function gitops_aiservice_noninteractive() { --aiservice-install-plan-approval) export AISERVICE_INSTALL_PLAN_APPROVAL=$1 && shift ;; - --environment-type) export ENVIRONMENT_TYPE=$1 && shift ;; @@ -347,7 +345,6 @@ function gitops_aiservice() { echo_reset_dim "Artifactory Username ................... ${COLOR_MAGENTA}${ARTIFACTORY_USERNAME}" echo_reset_dim "AiService Channel ...................... ${COLOR_MAGENTA}${AISERVICE_CHANNEL}" echo_reset_dim "AIService Install Plan Approval ........ ${COLOR_MAGENTA}${AISERVICE_INSTALL_PLAN_APPROVAL}" - echo_reset_dim "MAS Catalog Source ..................... ${COLOR_MAGENTA}${MAS_CATALOG_SOURCE}" echo_reset_dim "MAS ICR CP ............................. ${COLOR_MAGENTA}${MAS_ICR_CP}" echo_reset_dim "MAS ICR CPOpen ......................... ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}" diff --git a/python/src/mas/cli/aiservice/install/params.py b/python/src/mas/cli/aiservice/install/params.py index f77047ade85..4f499a57e6f 100644 --- a/python/src/mas/cli/aiservice/install/params.py +++ b/python/src/mas/cli/aiservice/install/params.py @@ -105,13 +105,15 @@ # Certificate Issuer "aiservice_certificate_issuer", - # permission mode "permission_mode", - # Enable IPv6 networking "enable_ipv6", + # Slack + "slack_token", + "slack_channel", + "aiservice_install_plan_approval", ] diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index 079b80e0b3f..d42ba7b6dea 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -557,8 +557,6 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: choices=["Automatic", "Manual"], help="Install plan approval for AI Service operator subscription" ) - - # Arcgis # ----------------------------------------------------------------------------- arcgisArgGroup = installArgParser.add_argument_group("Maximo Location Services for Esri (arcgis)") diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index 6fc6f22ffc2..a691e7d87fa 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -223,8 +223,6 @@ "aiservice_install_plan_approval", - - # Grafana "skip_grafana_install", "grafana_v5_namespace", From ebd46748ac93fb522e0faee712d4656bd2e9d109 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Mon, 11 May 2026 11:13:18 +0530 Subject: [PATCH 19/36] added installPlanApproval configuration for AI Service Tenant operator --- .secrets.baseline | 6 +++--- image/cli/mascli/functions/gitops_aiservice_tenant | 11 +++++++++-- .../cluster/instance/ibm-aiservice-tenant.yaml.j2 | 1 + python/src/mas/cli/aiservice/install/argParser.py | 9 +-------- python/src/mas/cli/aiservice/install/params.py | 2 +- python/src/mas/cli/install/argBuilder.py | 1 + python/src/mas/cli/install/argParser.py | 8 -------- python/src/mas/cli/install/params.py | 2 +- .../gitops/gitops-aiservice-tenant-pipeline.yml.j2 | 5 +++++ .../src/tasks/gitops/gitops-aiservice-tenant.yml.j2 | 5 +++++ 10 files changed, 27 insertions(+), 23 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 85bb37e2663..5d39e2719a9 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-05-07T09:38:32Z", + "generated_at": "2026-05-11T05:43:10Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -224,7 +224,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 368, + "line_number": 374, "type": "Secret Keyword", "verified_result": null } @@ -644,7 +644,7 @@ "hashed_secret": "fee2d55ad9a49a95fc89abe8f414dad66704ebfd", "is_secret": false, "is_verified": false, - "line_number": 43, + "line_number": 44, "type": "Secret Keyword", "verified_result": null } diff --git a/image/cli/mascli/functions/gitops_aiservice_tenant b/image/cli/mascli/functions/gitops_aiservice_tenant index aeb71b4a1a6..3d5652475a6 100644 --- a/image/cli/mascli/functions/gitops_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_aiservice_tenant @@ -20,7 +20,8 @@ ibm_aiservice_tenant(required): --catalog-source ${TEXT_RESET}CATALOG_SOURCE${TEXT_RESET} The catalog source from which to install the tenant operator --catalog-channel ${TEXT_RESET}CATALOG_CHANNEL${TEXT_RESET} The catalog channel from which to install the tenant operator --tenantNamespace ${COLOR_YELLOW}TENANT_NAMESPACE${TEXT_RESET} The tenant's Kubernetes namespace - --tenant-id ${COLOR_YELLOW}TENANT_ID${TEXT_RESET} The tenant ID for the AI Service instance + --tenant-id ${COLOR_YELLOW}TENANT_ID${TEXT_RESET} + --aiservice-tenant-install-plan-approval ${TEXT_RESET}AISERVICE_TENANT_INSTALL_PLAN_APPROVAL${TEXT_RESET} The tenant ID for the AI Service instance --cluster-domain ${COLOR_YELLOW}CLUSTER_DOMAIN${TEXT_RESET} The domain name of the Kubernetes cluster (e.g., cluster.local) --dro-url ${COLOR_YELLOW}DRO_URL${TEXT_RESET} URL of the DRO configuration service --slscfg-url ${COLOR_YELLOW}SLSCFG_URL${TEXT_RESET} URL of the SLS configuration service @@ -32,7 +33,8 @@ AiService : --aiservice-provision-tenant ${COLOR_YELLOW}AISERVICE_PROVISION_TENANT${TEXT_RESET} Whether to provision the AI Service tenant --aiservice-instance-id ${COLOR_YELLOW}AISERVICE_INSTANCE_ID${TEXT_RESET} The AI Service instance ID --tenantNamespace ${COLOR_YELLOW}TENANT_NAMESPACE${TEXT_RESET} The tenant's Kubernetes namespace ---tenant-id ${COLOR_YELLOW}TENANT_ID${TEXT_RESET} The tenant ID for the AI Service instance +--tenant-id ${COLOR_YELLOW}TENANT_ID${TEXT_RESET} +--aiservice-tenant-install-plan-approval ${TEXT_RESET}AISERVICE_TENANT_INSTALL_PLAN_APPROVAL${TEXT_RESET} The tenant ID for the AI Service instance --cluster-domain ${COLOR_YELLOW}CLUSTER_DOMAIN${TEXT_RESET} The domain name of the Kubernetes cluster (e.g., cluster.local) --in-saas-env ${COLOR_YELLOW}IN_SAAS_ENV${TEXT_RESET} Whether the environment is SaaS (true/false) --aiservice_operator_log_level ${COLOR_YELLOW}AISERVICE_OPERATOR_LOG_LEVEL${TEXT_RESET} Log level for the AI Service operator (e.g., info, debug) @@ -102,6 +104,7 @@ function gitops_aiservice_tenant_noninteractive() { #adding default values # -- aiservice Defaults export AISERVICE_NAMESPACE=${AISERVICE_NAMESPACE:-"aiservice-${AISERVICE_INSTANCE_ID}"} export AISERVICE_PROVISION_TENANT=${AISERVICE_PROVISION_TENANT:-"provision-tenant"} + export AISERVICE_TENANT_INSTALL_PLAN_APPROVAL=${AISERVICE_TENANT_INSTALL_PLAN_APPROVAL:-"Automatic"} export CATALOG_SOURCE=${CATALOG_SOURCE:-"ibm-operator-catalog"} export IN_SAAS_ENV=${IN_SAAS_ENV:-"true"} export MAS_ICR_CP=${MAS_ICR_CP:-"docker-na-public.artifactory.swg-devops.com/wiotp-docker-local"} @@ -171,6 +174,9 @@ function gitops_aiservice_tenant_noninteractive() { --tenant-id) export TENANT_ID=$1 && shift ;; + --aiservice-tenant-install-plan-approval) + export AISERVICE_TENANT_INSTALL_PLAN_APPROVAL=$1 && shift + ;; --cluster-domain) export CLUSTER_DOMAIN=$1 && shift ;; @@ -395,6 +401,7 @@ function gitops_aiservice_tenant() { echo_reset_dim "AiService instance ID ......................... ${COLOR_MAGENTA}${AISERVICE_INSTANCE_ID}" echo_reset_dim "tenant namespace ............................. ${COLOR_MAGENTA}${TENANT_NAMESPACE}" echo_reset_dim "tenant ID .................................... ${COLOR_MAGENTA}${TENANT_ID}" + echo_reset_dim "AIService Tenant Install Plan Approval . ${COLOR_MAGENTA}${AISERVICE_TENANT_INSTALL_PLAN_APPROVAL}" echo_reset_dim "cluster domain ............................... ${COLOR_MAGENTA}${CLUSTER_DOMAIN}" echo_reset_dim "in SaaS environment .......................... ${COLOR_MAGENTA}${IN_SAAS_ENV}" diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice-tenant.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice-tenant.yaml.j2 index 4ef21b14e92..12bbf0b3b8e 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice-tenant.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice-tenant.yaml.j2 @@ -7,6 +7,7 @@ ibm_aiservice_tenant: aiservice_instance_id: "{{ AISERVICE_INSTANCE_ID }}" catalog_channel: "{{ CATALOG_CHANNEL }}" catalog_source: "{{ CATALOG_SOURCE }}" + aiservice_tenant_install_plan_approval: "{{ AISERVICE_TENANT_INSTALL_PLAN_APPROVAL }}" tenantNamespace: "{{ TENANT_NAMESPACE }}" mas_icr_cp: "{{ MAS_ICR_CP }}" diff --git a/python/src/mas/cli/aiservice/install/argParser.py b/python/src/mas/cli/aiservice/install/argParser.py index 45e86bce2e6..153ab36dfb1 100644 --- a/python/src/mas/cli/aiservice/install/argParser.py +++ b/python/src/mas/cli/aiservice/install/argParser.py @@ -173,14 +173,7 @@ def isValidFile(parser, arg) -> str: required=False, help="Subscription channel for Maximo AI Service" ) -masAppsArgGroup.add_argument( - "--aiservice-install-plan-approval", - dest="aiservice_install_plan_approval", - required=False, - default="Automatic", - choices=["Automatic", "Manual"], - help="Install plan approval for AI Service operator subscription" -) + # ODH # ----------------------------------------------------------------------------- diff --git a/python/src/mas/cli/aiservice/install/params.py b/python/src/mas/cli/aiservice/install/params.py index 4f499a57e6f..2ad437d9908 100644 --- a/python/src/mas/cli/aiservice/install/params.py +++ b/python/src/mas/cli/aiservice/install/params.py @@ -115,5 +115,5 @@ "slack_token", "slack_channel", - "aiservice_install_plan_approval", + ] diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index ef8361f7f82..3982a62b29c 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -596,6 +596,7 @@ def buildCommand(self) -> str: # ----------------------------------------------------------------------------- if self.getParam('slack_channel') != "" and self.getParam('slack_token'): command += f" --slack-channel \"{self.getParam('slack_channel')}\" --slack-token $SLACK_TOKEN{newline}" + # More Options # ----------------------------------------------------------------------------- if self.devMode: diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index d42ba7b6dea..c3ab85e5f37 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -549,14 +549,6 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: ) -masAppsArgGroup.add_argument( - "--aiservice-install-plan-approval", - dest="aiservice_install_plan_approval", - required=False, - default="Automatic", - choices=["Automatic", "Manual"], - help="Install plan approval for AI Service operator subscription" -) # Arcgis # ----------------------------------------------------------------------------- arcgisArgGroup = installArgParser.add_argument_group("Maximo Location Services for Esri (arcgis)") diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index a691e7d87fa..bdf42ed3096 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -221,7 +221,7 @@ # Certificate Issuer "aiservice_certificate_issuer", - "aiservice_install_plan_approval", + # Grafana "skip_grafana_install", diff --git a/tekton/src/pipelines/gitops/gitops-aiservice-tenant-pipeline.yml.j2 b/tekton/src/pipelines/gitops/gitops-aiservice-tenant-pipeline.yml.j2 index 4a95856d38f..7e1b8268e48 100644 --- a/tekton/src/pipelines/gitops/gitops-aiservice-tenant-pipeline.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-aiservice-tenant-pipeline.yml.j2 @@ -36,6 +36,9 @@ spec: type: string - name: catalog_source type: string + - name: aiservice_tenant_install_plan_approval + type: string + default: "Automatic" - name: tenantNamespace type: string - name: tenant_id @@ -138,6 +141,8 @@ spec: value: $(params.aiservice_tenant_catalog_channel) - name: catalog_source value: $(params.catalog_source) + - name: aiservice_tenant_install_plan_approval + value: $(params.aiservice_tenant_install_plan_approval) - name: tenantNamespace value: $(params.tenantNamespace) - name: tenant_id diff --git a/tekton/src/tasks/gitops/gitops-aiservice-tenant.yml.j2 b/tekton/src/tasks/gitops/gitops-aiservice-tenant.yml.j2 index 6e0f6b8576c..0127a49b18c 100644 --- a/tekton/src/tasks/gitops/gitops-aiservice-tenant.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-aiservice-tenant.yml.j2 @@ -35,6 +35,9 @@ spec: type: string - name: catalog_source type: string + - name: aiservice_tenant_install_plan_approval + type: string + default: "Automatic" - name: tenantNamespace type: string - name: tenant_id @@ -123,6 +126,8 @@ spec: value: $(params.aiservice_tenant_catalog_channel) - name: CATALOG_SOURCE value: $(params.catalog_source) + - name: AISERVICE_TENANT_INSTALL_PLAN_APPROVAL + value: $(params.aiservice_tenant_install_plan_approval) - name: TENANT_NAMESPACE value: $(params.tenantNamespace) - name: TENANT_ID From 1fbc1ec2dbb2401ce457f7f29e6e1d07cafc4957 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Mon, 11 May 2026 11:16:16 +0530 Subject: [PATCH 20/36] Removed Extra Whitespaces --- python/src/mas/cli/aiservice/install/argParser.py | 2 -- python/src/mas/cli/aiservice/install/params.py | 2 -- python/src/mas/cli/install/argParser.py | 1 - python/src/mas/cli/install/params.py | 2 -- 4 files changed, 7 deletions(-) diff --git a/python/src/mas/cli/aiservice/install/argParser.py b/python/src/mas/cli/aiservice/install/argParser.py index 153ab36dfb1..9e69c564149 100644 --- a/python/src/mas/cli/aiservice/install/argParser.py +++ b/python/src/mas/cli/aiservice/install/argParser.py @@ -173,8 +173,6 @@ def isValidFile(parser, arg) -> str: required=False, help="Subscription channel for Maximo AI Service" ) - - # ODH # ----------------------------------------------------------------------------- odhArgGroup = aiServiceinstallArgParser.add_argument_group("Opendatahub") diff --git a/python/src/mas/cli/aiservice/install/params.py b/python/src/mas/cli/aiservice/install/params.py index 2ad437d9908..30c3285f8ca 100644 --- a/python/src/mas/cli/aiservice/install/params.py +++ b/python/src/mas/cli/aiservice/install/params.py @@ -114,6 +114,4 @@ # Slack "slack_token", "slack_channel", - - ] diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index c3ab85e5f37..f74266c5ddd 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -548,7 +548,6 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: help="Subscription channel for Maximo AI Service" ) - # Arcgis # ----------------------------------------------------------------------------- arcgisArgGroup = installArgParser.add_argument_group("Maximo Location Services for Esri (arcgis)") diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index bdf42ed3096..c44424da6a7 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -221,8 +221,6 @@ # Certificate Issuer "aiservice_certificate_issuer", - - # Grafana "skip_grafana_install", "grafana_v5_namespace", From 63141923b7f9600d76729c12405f9ee595c718f6 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Mon, 11 May 2026 11:17:27 +0530 Subject: [PATCH 21/36] Removed Extra Whitespaces --- python/src/mas/cli/aiservice/install/argParser.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/src/mas/cli/aiservice/install/argParser.py b/python/src/mas/cli/aiservice/install/argParser.py index 9e69c564149..38e054aa4e4 100644 --- a/python/src/mas/cli/aiservice/install/argParser.py +++ b/python/src/mas/cli/aiservice/install/argParser.py @@ -173,6 +173,7 @@ def isValidFile(parser, arg) -> str: required=False, help="Subscription channel for Maximo AI Service" ) + # ODH # ----------------------------------------------------------------------------- odhArgGroup = aiServiceinstallArgParser.add_argument_group("Opendatahub") From 4c3112dddf2d7c5592320c61828f311fa0b7133c Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 14 May 2026 16:18:28 +0530 Subject: [PATCH 22/36] Restore valid secrets baseline --- .secrets.baseline | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 0050bbefce8..d2a2970abb5 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,9 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-05-12T12:20:28Z", - "plugins_used": [ { "name": "AWSKeyDetector" @@ -194,7 +192,7 @@ "hashed_secret": "6ffb91fd9c01e69b8e9093d84439c8b88dd8fe35", "is_secret": false, "is_verified": false, - "line_number": 76, + "line_number": 75, "type": "Secret Keyword", "verified_result": null }, @@ -202,7 +200,7 @@ "hashed_secret": "db40a6131d9b574bb057875df98fb03f9874d5b4", "is_secret": false, "is_verified": false, - "line_number": 92, + "line_number": 91, "type": "Secret Keyword", "verified_result": null }, @@ -210,7 +208,7 @@ "hashed_secret": "6fbaa59234a602571baf17a51592b436b33f8491", "is_secret": false, "is_verified": false, - "line_number": 93, + "line_number": 92, "type": "Secret Keyword", "verified_result": null }, @@ -218,7 +216,7 @@ "hashed_secret": "bd1b0b7f343605538b1da78056db3a7bddf3f807", "is_secret": false, "is_verified": false, - "line_number": 96, + "line_number": 95, "type": "Secret Keyword", "verified_result": null }, @@ -226,7 +224,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 312, + "line_number": 308, "type": "Secret Keyword", "verified_result": null } @@ -236,11 +234,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, -<<<<<<< HEAD - "line_number": 374, -======= "line_number": 372, ->>>>>>> origin/master "type": "Secret Keyword", "verified_result": null } @@ -660,7 +654,7 @@ "hashed_secret": "fee2d55ad9a49a95fc89abe8f414dad66704ebfd", "is_secret": false, "is_verified": false, - "line_number": 44, + "line_number": 43, "type": "Secret Keyword", "verified_result": null } From 0b6147f44858758a1306d32ce485494d83eac29f Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 14 May 2026 16:27:36 +0530 Subject: [PATCH 23/36] Update .secrets.baseline after detect-secrets --- .secrets.baseline | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index d2a2970abb5..dd6e5eca294 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-05-12T12:20:28Z", + "generated_at": "2026-05-14T10:55:58Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -192,7 +192,7 @@ "hashed_secret": "6ffb91fd9c01e69b8e9093d84439c8b88dd8fe35", "is_secret": false, "is_verified": false, - "line_number": 75, + "line_number": 76, "type": "Secret Keyword", "verified_result": null }, @@ -200,7 +200,7 @@ "hashed_secret": "db40a6131d9b574bb057875df98fb03f9874d5b4", "is_secret": false, "is_verified": false, - "line_number": 91, + "line_number": 92, "type": "Secret Keyword", "verified_result": null }, @@ -208,7 +208,7 @@ "hashed_secret": "6fbaa59234a602571baf17a51592b436b33f8491", "is_secret": false, "is_verified": false, - "line_number": 92, + "line_number": 93, "type": "Secret Keyword", "verified_result": null }, @@ -216,7 +216,7 @@ "hashed_secret": "bd1b0b7f343605538b1da78056db3a7bddf3f807", "is_secret": false, "is_verified": false, - "line_number": 95, + "line_number": 96, "type": "Secret Keyword", "verified_result": null }, @@ -224,7 +224,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 308, + "line_number": 312, "type": "Secret Keyword", "verified_result": null } From eb3e98ac0135d3b3f47d5c0723a1dd64b4211659 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 14 May 2026 16:29:53 +0530 Subject: [PATCH 24/36] Refresh .secrets.baseline --- .secrets.baseline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index dd6e5eca294..604b7323615 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-05-14T10:55:58Z", + "generated_at": "2026-05-14T10:58:27Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -654,7 +654,7 @@ "hashed_secret": "fee2d55ad9a49a95fc89abe8f414dad66704ebfd", "is_secret": false, "is_verified": false, - "line_number": 43, + "line_number": 44, "type": "Secret Keyword", "verified_result": null } From 6b88adbe48d2feca7f21294c332d287a2771ad21 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 14 May 2026 16:31:36 +0530 Subject: [PATCH 25/36] Refresh .secrets.baseline --- .secrets.baseline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 604b7323615..0b2181e3fff 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-05-14T10:58:27Z", + "generated_at": "2026-05-14T11:00:25Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -234,7 +234,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 372, + "line_number": 378, "type": "Secret Keyword", "verified_result": null } From d289e5e9da50ea20e851cc6b6edf800c2099d2ae Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Fri, 15 May 2026 11:11:44 +0530 Subject: [PATCH 26/36] Modified gitops_aiservice_tenant --- image/cli/mascli/functions/gitops_aiservice_tenant | 1 + 1 file changed, 1 insertion(+) diff --git a/image/cli/mascli/functions/gitops_aiservice_tenant b/image/cli/mascli/functions/gitops_aiservice_tenant index 7d03ff7cf43..ea7c25f0112 100644 --- a/image/cli/mascli/functions/gitops_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_aiservice_tenant @@ -405,6 +405,7 @@ function gitops_aiservice_tenant() { echo_reset_dim "AiService instance ID ......................... ${COLOR_MAGENTA}${AISERVICE_INSTANCE_ID}" echo_reset_dim "tenant namespace ............................. ${COLOR_MAGENTA}${TENANT_NAMESPACE}" echo_reset_dim "tenant ID .................................... ${COLOR_MAGENTA}${TENANT_ID}" + echo_reset_dim "AIService Tenant Install Plan Approval . ${COLOR_MAGENTA}${AISERVICE_TENANT_INSTALL_PLAN_APPROVAL}" echo_reset_dim "cluster domain ............................... ${COLOR_MAGENTA}${CLUSTER_DOMAIN}" echo_reset_dim "in SaaS environment .......................... ${COLOR_MAGENTA}${IN_SAAS_ENV}" From df6a38dc520b0ce3e8fd8b6a0e5be269a798b12e Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Fri, 15 May 2026 11:20:17 +0530 Subject: [PATCH 27/36] Modified gitops_aiservice_tenant --- image/cli/mascli/functions/gitops_aiservice_tenant | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/image/cli/mascli/functions/gitops_aiservice_tenant b/image/cli/mascli/functions/gitops_aiservice_tenant index ea7c25f0112..f03a880b057 100644 --- a/image/cli/mascli/functions/gitops_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_aiservice_tenant @@ -20,8 +20,8 @@ ibm_aiservice_tenant(required): --catalog-source ${TEXT_RESET}CATALOG_SOURCE${TEXT_RESET} The catalog source from which to install the tenant operator --catalog-channel ${TEXT_RESET}CATALOG_CHANNEL${TEXT_RESET} The catalog channel from which to install the tenant operator --tenantNamespace ${COLOR_YELLOW}TENANT_NAMESPACE${TEXT_RESET} The tenant's Kubernetes namespace - --tenant-id ${COLOR_YELLOW}TENANT_ID${TEXT_RESET} - --aiservice-tenant-install-plan-approval ${TEXT_RESET}AISERVICE_TENANT_INSTALL_PLAN_APPROVAL${TEXT_RESET} The tenant ID for the AI Service instance + --tenant-id ${COLOR_YELLOW}TENANT_ID${TEXT_RESET} The tenant ID for the AI Service instance + --aiservice-tenant-install-plan-approval ${TEXT_RESET}AISERVICE_TENANT_INSTALL_PLAN_APPROVAL${TEXT_RESET} --cluster-domain ${COLOR_YELLOW}CLUSTER_DOMAIN${TEXT_RESET} The domain name of the Kubernetes cluster (e.g., cluster.local) --dro-url ${COLOR_YELLOW}DRO_URL${TEXT_RESET} URL of the DRO configuration service --slscfg-url ${COLOR_YELLOW}SLSCFG_URL${TEXT_RESET} URL of the SLS configuration service @@ -34,8 +34,8 @@ AiService : --aiservice-provision-tenant ${COLOR_YELLOW}AISERVICE_PROVISION_TENANT${TEXT_RESET} Whether to provision the AI Service tenant --aiservice-instance-id ${COLOR_YELLOW}AISERVICE_INSTANCE_ID${TEXT_RESET} The AI Service instance ID --tenantNamespace ${COLOR_YELLOW}TENANT_NAMESPACE${TEXT_RESET} The tenant's Kubernetes namespace ---tenant-id ${COLOR_YELLOW}TENANT_ID${TEXT_RESET} ---aiservice-tenant-install-plan-approval ${TEXT_RESET}AISERVICE_TENANT_INSTALL_PLAN_APPROVAL${TEXT_RESET} The tenant ID for the AI Service instance +--tenant-id ${COLOR_YELLOW}TENANT_ID${TEXT_RESET} The tenant ID for the AI Service instance +--aiservice-tenant-install-plan-approval ${TEXT_RESET}AISERVICE_TENANT_INSTALL_PLAN_APPROVAL${TEXT_RESET} --cluster-domain ${COLOR_YELLOW}CLUSTER_DOMAIN${TEXT_RESET} The domain name of the Kubernetes cluster (e.g., cluster.local) --in-saas-env ${COLOR_YELLOW}IN_SAAS_ENV${TEXT_RESET} Whether the environment is SaaS (true/false) --aiservice_operator_log_level ${COLOR_YELLOW}AISERVICE_OPERATOR_LOG_LEVEL${TEXT_RESET} Log level for the AI Service operator (e.g., info, debug) From 44b1ec0feca323b05001deaf57fe3c971b1bc59c Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Fri, 15 May 2026 11:26:04 +0530 Subject: [PATCH 28/36] Modified gitops_aiservice_tenant --- image/cli/mascli/functions/gitops_aiservice_tenant | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/image/cli/mascli/functions/gitops_aiservice_tenant b/image/cli/mascli/functions/gitops_aiservice_tenant index f03a880b057..9eb6de51bff 100644 --- a/image/cli/mascli/functions/gitops_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_aiservice_tenant @@ -397,7 +397,7 @@ function gitops_aiservice_tenant() { # echo all the variables of gitops envs - # -- aiservice + # -- aiservice tenant echo_reset_dim "Aiservice namespace ........................... ${COLOR_MAGENTA}${AISERVICE_NAMESPACE}" echo_reset_dim "Catalog channel ............................... ${COLOR_MAGENTA}${CATALOG_CHANNEL}" echo_reset_dim "Catalog source ................................ ${COLOR_MAGENTA}${CATALOG_SOURCE}" @@ -408,6 +408,15 @@ function gitops_aiservice_tenant() { echo_reset_dim "AIService Tenant Install Plan Approval . ${COLOR_MAGENTA}${AISERVICE_TENANT_INSTALL_PLAN_APPROVAL}" echo_reset_dim "cluster domain ............................... ${COLOR_MAGENTA}${CLUSTER_DOMAIN}" echo_reset_dim "in SaaS environment .......................... ${COLOR_MAGENTA}${IN_SAAS_ENV}" + if [[ -n "$TENANT_SCHEDULING_CONFIG_YAML" ]]; then + echo_reset_dim "Scheduling constraints (tolerations/nodeSelector) .............. ${COLOR_MAGENTA}${TENANT_SCHEDULING_CONFIG_YAML}" +else + echo_reset_dim "Scheduling constraints (tolerations/nodeSelector) .............. ${COLOR_MAGENTA}Not Configured" +fi + + echo_reset_dim "MAS ICR CP registry ............................................ ${COLOR_MAGENTA}${MAS_ICR_CP}" + echo_reset_dim "MAS ICR CPOPEN registry ........................................ ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}" + echo_reset_dim "MAS ICR CP registry .......................... ${COLOR_MAGENTA}${MAS_ICR_CP}" echo_reset_dim "MAS ICR CPOPEN registry ...................... ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}" From ee327a9e170d66bb1d368f480c4001a3af02edad Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Fri, 15 May 2026 11:27:28 +0530 Subject: [PATCH 29/36] Modified gitops_aiservice_tenant --- image/cli/mascli/functions/gitops_aiservice_tenant | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/image/cli/mascli/functions/gitops_aiservice_tenant b/image/cli/mascli/functions/gitops_aiservice_tenant index 9eb6de51bff..1050ccf2e6c 100644 --- a/image/cli/mascli/functions/gitops_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_aiservice_tenant @@ -397,7 +397,7 @@ function gitops_aiservice_tenant() { # echo all the variables of gitops envs - # -- aiservice tenant + # -- aiservice tenant echo_reset_dim "Aiservice namespace ........................... ${COLOR_MAGENTA}${AISERVICE_NAMESPACE}" echo_reset_dim "Catalog channel ............................... ${COLOR_MAGENTA}${CATALOG_CHANNEL}" echo_reset_dim "Catalog source ................................ ${COLOR_MAGENTA}${CATALOG_SOURCE}" @@ -408,7 +408,7 @@ function gitops_aiservice_tenant() { echo_reset_dim "AIService Tenant Install Plan Approval . ${COLOR_MAGENTA}${AISERVICE_TENANT_INSTALL_PLAN_APPROVAL}" echo_reset_dim "cluster domain ............................... ${COLOR_MAGENTA}${CLUSTER_DOMAIN}" echo_reset_dim "in SaaS environment .......................... ${COLOR_MAGENTA}${IN_SAAS_ENV}" - if [[ -n "$TENANT_SCHEDULING_CONFIG_YAML" ]]; then +if [[ -n "$TENANT_SCHEDULING_CONFIG_YAML" ]]; then echo_reset_dim "Scheduling constraints (tolerations/nodeSelector) .............. ${COLOR_MAGENTA}${TENANT_SCHEDULING_CONFIG_YAML}" else echo_reset_dim "Scheduling constraints (tolerations/nodeSelector) .............. ${COLOR_MAGENTA}Not Configured" From cd96e577efbcb3d9df74720d7b56c6fd60cb540d Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Fri, 15 May 2026 11:29:16 +0530 Subject: [PATCH 30/36] Modified gitops_aiservice_tenant --- .../mascli/functions/gitops_aiservice_tenant | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/image/cli/mascli/functions/gitops_aiservice_tenant b/image/cli/mascli/functions/gitops_aiservice_tenant index 1050ccf2e6c..7b35b7b93bd 100644 --- a/image/cli/mascli/functions/gitops_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_aiservice_tenant @@ -398,16 +398,16 @@ function gitops_aiservice_tenant() { # echo all the variables of gitops envs # -- aiservice tenant - echo_reset_dim "Aiservice namespace ........................... ${COLOR_MAGENTA}${AISERVICE_NAMESPACE}" - echo_reset_dim "Catalog channel ............................... ${COLOR_MAGENTA}${CATALOG_CHANNEL}" - echo_reset_dim "Catalog source ................................ ${COLOR_MAGENTA}${CATALOG_SOURCE}" - echo_reset_dim "AiService provision tenant ................... ${COLOR_MAGENTA}${AISERVICE_PROVISION_TENANT}" - echo_reset_dim "AiService instance ID ......................... ${COLOR_MAGENTA}${AISERVICE_INSTANCE_ID}" - echo_reset_dim "tenant namespace ............................. ${COLOR_MAGENTA}${TENANT_NAMESPACE}" - echo_reset_dim "tenant ID .................................... ${COLOR_MAGENTA}${TENANT_ID}" + echo_reset_dim "Aiservice namespace ............................................ ${COLOR_MAGENTA}${AISERVICE_NAMESPACE}" + echo_reset_dim "Catalog channel ................................................ ${COLOR_MAGENTA}${CATALOG_CHANNEL}" + echo_reset_dim "Catalog source ................................................. ${COLOR_MAGENTA}${CATALOG_SOURCE}" + echo_reset_dim "AiService provision tenant ..................................... ${COLOR_MAGENTA}${AISERVICE_PROVISION_TENANT}" + echo_reset_dim "AiService instance ID .......................................... ${COLOR_MAGENTA}${AISERVICE_INSTANCE_ID}" + echo_reset_dim "tenant namespace ............................................... ${COLOR_MAGENTA}${TENANT_NAMESPACE}" + echo_reset_dim "tenant ID ...................................................... ${COLOR_MAGENTA}${TENANT_ID}" echo_reset_dim "AIService Tenant Install Plan Approval . ${COLOR_MAGENTA}${AISERVICE_TENANT_INSTALL_PLAN_APPROVAL}" - echo_reset_dim "cluster domain ............................... ${COLOR_MAGENTA}${CLUSTER_DOMAIN}" - echo_reset_dim "in SaaS environment .......................... ${COLOR_MAGENTA}${IN_SAAS_ENV}" + echo_reset_dim "cluster domain ................................................. ${COLOR_MAGENTA}${CLUSTER_DOMAIN}" + echo_reset_dim "in SaaS environment ............................................ ${COLOR_MAGENTA}${IN_SAAS_ENV}" if [[ -n "$TENANT_SCHEDULING_CONFIG_YAML" ]]; then echo_reset_dim "Scheduling constraints (tolerations/nodeSelector) .............. ${COLOR_MAGENTA}${TENANT_SCHEDULING_CONFIG_YAML}" else From 788d006e0bd47487d8c4afc40892e3f686a66ab0 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Fri, 15 May 2026 11:30:37 +0530 Subject: [PATCH 31/36] Modified gitops_aiservice_tenant --- image/cli/mascli/functions/gitops_aiservice_tenant | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/image/cli/mascli/functions/gitops_aiservice_tenant b/image/cli/mascli/functions/gitops_aiservice_tenant index 7b35b7b93bd..c424cd99d61 100644 --- a/image/cli/mascli/functions/gitops_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_aiservice_tenant @@ -418,8 +418,7 @@ fi echo_reset_dim "MAS ICR CPOPEN registry ........................................ ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}" - echo_reset_dim "MAS ICR CP registry .......................... ${COLOR_MAGENTA}${MAS_ICR_CP}" - echo_reset_dim "MAS ICR CPOPEN registry ...................... ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}" + # -- SLS echo_reset_dim "SLS subscription ID ............................................ ${COLOR_MAGENTA}${AISERVICE_SLS_SUBSCRIPTION_ID}" From bd945ceea7c24e2de7ede63a97cb9e25d4c8f22e Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Fri, 15 May 2026 11:40:09 +0530 Subject: [PATCH 32/36] Modified gitops_aiservice_tenant --- image/cli/mascli/functions/gitops_aiservice_tenant | 3 --- 1 file changed, 3 deletions(-) diff --git a/image/cli/mascli/functions/gitops_aiservice_tenant b/image/cli/mascli/functions/gitops_aiservice_tenant index c424cd99d61..fdf7f96ffdb 100644 --- a/image/cli/mascli/functions/gitops_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_aiservice_tenant @@ -417,9 +417,6 @@ fi echo_reset_dim "MAS ICR CP registry ............................................ ${COLOR_MAGENTA}${MAS_ICR_CP}" echo_reset_dim "MAS ICR CPOPEN registry ........................................ ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}" - - - # -- SLS echo_reset_dim "SLS subscription ID ............................................ ${COLOR_MAGENTA}${AISERVICE_SLS_SUBSCRIPTION_ID}" echo_reset_dim "SLS service param file path .................................... ${COLOR_MAGENTA}${STANDALONE_SLS_SERVICE}" From 8574122bb7fbded9546084e637e297ed1c6fdc64 Mon Sep 17 00:00:00 2001 From: Sakshi-Singhroha1 Date: Mon, 18 May 2026 11:44:00 +0530 Subject: [PATCH 33/36] Resolved Merge Conflict --- .secrets.baseline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.secrets.baseline b/.secrets.baseline index 0b2181e3fff..b8815dfaa81 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-05-14T11:00:25Z", + "generated_at": "2026-05-16T15:00:24Z", "plugins_used": [ { "name": "AWSKeyDetector" From 8409c0fc1ae0ff397500361a77411677fdb67696 Mon Sep 17 00:00:00 2001 From: Sakshi-Singhroha1 Date: Mon, 18 May 2026 12:42:51 +0530 Subject: [PATCH 34/36] Updated .secrets.baseline --- .secrets.baseline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.secrets.baseline b/.secrets.baseline index 7d7c6764a16..ada8e1cdbda 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -234,7 +234,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 378, + "line_number": 368, "type": "Secret Keyword", "verified_result": null } From e9feffda0e9f90b912386b8da228b7ac0ab2c931 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Mon, 18 May 2026 12:56:12 +0530 Subject: [PATCH 35/36] Update .secrets.baseline --- .secrets.baseline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index ada8e1cdbda..861ca2b8630 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/", "lines": null }, - "generated_at": "2026-05-16T15:00:24Z", + "generated_at": "2026-05-18T07:25:43Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -234,7 +234,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 368, + "line_number": 378, "type": "Secret Keyword", "verified_result": null } From e5ccc94c9e7d8733448da3198acbfd65b11e8d63 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Mon, 18 May 2026 14:55:42 +0530 Subject: [PATCH 36/36] Resolving Merge Conflict --- tekton/src/tasks/gitops/gitops-aiservice.yml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tekton/src/tasks/gitops/gitops-aiservice.yml.j2 b/tekton/src/tasks/gitops/gitops-aiservice.yml.j2 index 3b20b50dbde..7f3a5a3b69a 100644 --- a/tekton/src/tasks/gitops/gitops-aiservice.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-aiservice.yml.j2 @@ -189,4 +189,4 @@ spec: imagePullPolicy: IfNotPresent image: quay.io/ibmmas/cli:latest workspaces: - - name: configs + - name: configs