From eb073f472635dbc324d1b59f3d05433ae40867b9 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Wed, 12 Aug 2026 12:40:51 +0530 Subject: [PATCH 1/4] MASCORE-10022: make facilities TRIRIGA schema fully configurable in db2u scripts - Parameterise SCHEMA in files/facilities/runstats_volatile.sh via { db2_schema } placeholder so the periodic runstats cron job targets the correct schema on the pod - Parameterise TRIDATA_DATA/TRIDATA_INDX tablespace names in files/facilities/create-tablespaces.sh.j2 with { db2_schema }_DATA/_INDX placeholders so tablespaces are created with names matching the configured schema - Update the sed command for create-tablespaces.sh.j2 in 07-postsync-setup-db2_Job.yaml to substitute { db2_schema } at template-time (was only substituting db2_dbname) - Replace plain cp of runstats_volatile.sh in 07-postsync-setup-db2_Job.yaml with a sed call so the { db2_schema } placeholder is resolved before the script reaches the pod - Add DB2_SCHEMA env-driven variable in files/grant_check.sh (defaults to TRIDATA) and replace hardcoded 'TRIDATA' in the syscat.SCHEMATA IN-list so the recurring grant cron job discovers and maintains roles for non-standard schema names --- .../files/facilities/create-tablespaces.sh.j2 | 30 +++++++++---------- .../files/facilities/runstats_volatile.sh | 2 +- .../files/grant_check.sh | 3 +- .../templates/07-postsync-setup-db2_Job.yaml | 4 +-- 4 files changed, 20 insertions(+), 19 deletions(-) diff --git a/instance-applications/120-ibm-db2u-database/files/facilities/create-tablespaces.sh.j2 b/instance-applications/120-ibm-db2u-database/files/facilities/create-tablespaces.sh.j2 index 20ec291f7..edf29e5fc 100644 --- a/instance-applications/120-ibm-db2u-database/files/facilities/create-tablespaces.sh.j2 +++ b/instance-applications/120-ibm-db2u-database/files/facilities/create-tablespaces.sh.j2 @@ -163,9 +163,9 @@ fi echo "${TABLESPACES}" -if [[ ${TABLESPACES} != *"TRIDATA_DATA "* ]]; then - echo "Creating TABLESPACE TRIDATA_DATA" - db2 "CREATE LARGE TABLESPACE TRIDATA_DATA IN DATABASE PARTITION GROUP IBMDEFAULTGROUP +if [[ ${TABLESPACES} != *"{ db2_schema }_DATA "* ]]; then + echo "Creating TABLESPACE { db2_schema }_DATA" + db2 "CREATE LARGE TABLESPACE { db2_schema }_DATA IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE AUTORESIZE YES INITIALSIZE 5000 M @@ -180,18 +180,18 @@ if [[ ${TABLESPACES} != *"TRIDATA_DATA "* ]]; then DROPPED TABLE RECOVERY ON;" rc=$? if [ $rc -ne "0" ]; then - echo "Unable to create TABLESPACE TRIDATA_DATA for some reason = $rc" + echo "Unable to create TABLESPACE { db2_schema }_DATA for some reason = $rc" exit $rc fi -else - echo "TABLESPACE TRIDATA_DATA already exists" +else + echo "TABLESPACE { db2_schema }_DATA already exists" fi -db2 "SELECT * FROM SYSCAT.TABLESPACES WHERE TBSPACE = 'TRIDATA_DATA'" +db2 "SELECT * FROM SYSCAT.TABLESPACES WHERE TBSPACE = '{ db2_schema }_DATA'" -if [[ ${TABLESPACES} != *"TRIDATA_INDX "* ]]; then - echo "Creating TABLESPACE TRIDATA_INDX" - db2 "CREATE LARGE TABLESPACE TRIDATA_INDX IN DATABASE PARTITION GROUP IBMDEFAULTGROUP +if [[ ${TABLESPACES} != *"{ db2_schema }_INDX "* ]]; then + echo "Creating TABLESPACE { db2_schema }_INDX" + db2 "CREATE LARGE TABLESPACE { db2_schema }_INDX IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE AUTORESIZE YES INITIALSIZE 5000 M @@ -205,14 +205,14 @@ if [[ ${TABLESPACES} != *"TRIDATA_INDX "* ]]; then DROPPED TABLE RECOVERY ON;" rc=$? if [ $rc -ne "0" ]; then - echo "Unable to create TABLESPACE TRIDATA_INDX for some reason = $rc" + echo "Unable to create TABLESPACE { db2_schema }_INDX for some reason = $rc" exit $rc fi -else - echo "TABLESPACE TRIDATA_INDX already exists" -fi +else + echo "TABLESPACE { db2_schema }_INDX already exists" +fi -db2 "SELECT * FROM SYSCAT.TABLESPACES WHERE TBSPACE = 'TRIDATA_INDX'" +db2 "SELECT * FROM SYSCAT.TABLESPACES WHERE TBSPACE = '{ db2_schema }_INDX'" if [[ ${TABLESPACES} != *"TRITEMP "* ]]; then echo "Creating TABLESPACE TRITEMP" diff --git a/instance-applications/120-ibm-db2u-database/files/facilities/runstats_volatile.sh b/instance-applications/120-ibm-db2u-database/files/facilities/runstats_volatile.sh index 47280bd72..736de1e85 100644 --- a/instance-applications/120-ibm-db2u-database/files/facilities/runstats_volatile.sh +++ b/instance-applications/120-ibm-db2u-database/files/facilities/runstats_volatile.sh @@ -38,7 +38,7 @@ DATESTAMP=`date "+%Y-%m-%d-%H.%M.%S"` # Database and schema configuration DATABASE="BLUDB" -SCHEMA="TRIDATA" +SCHEMA={ db2_schema } # Loop through all databases (in case there are multiple) for db in `db2 list db directory | grep -B 5 Indirect | grep "Database name" | cut -d= -f2` diff --git a/instance-applications/120-ibm-db2u-database/files/grant_check.sh b/instance-applications/120-ibm-db2u-database/files/grant_check.sh index bf8ac3950..88f1c9aeb 100755 --- a/instance-applications/120-ibm-db2u-database/files/grant_check.sh +++ b/instance-applications/120-ibm-db2u-database/files/grant_check.sh @@ -86,11 +86,12 @@ then exit fi +DB2_SCHEMA="${DB2_SCHEMA:-TRIDATA}" role=`db2 get db cfg for $1 | grep "HADR database role" | cut -d= -f2 |sed 's/ //g'` if [ "$role" != "STANDBY" ]; then db2 connect to $1 if [ $? -eq 0 ]; then - schemalist=(`db2 connect to $1 >/dev/null;db2 -x "select SCHEMANAME from syscat.SCHEMATA where SCHEMANAME in ('MAXIMO','TRIDATA','TRIRIGADC')"`) + schemalist=(`db2 connect to $1 >/dev/null;db2 -x "select SCHEMANAME from syscat.SCHEMATA where SCHEMANAME in ('MAXIMO','${DB2_SCHEMA}','TRIRIGADC')"`) i=0 while [[ $i -lt ${#schemalist[*]} ]] do diff --git a/instance-applications/120-ibm-db2u-database/templates/07-postsync-setup-db2_Job.yaml b/instance-applications/120-ibm-db2u-database/templates/07-postsync-setup-db2_Job.yaml index d08c340dc..883e1afc9 100644 --- a/instance-applications/120-ibm-db2u-database/templates/07-postsync-setup-db2_Job.yaml +++ b/instance-applications/120-ibm-db2u-database/templates/07-postsync-setup-db2_Job.yaml @@ -603,7 +603,7 @@ spec: FACILITIES_TABLESPACES_PATH=/tmp/db2-scripts-facilities-updated/create-tablespaces.sh FACILITIES_SCHEMA_PATH=/tmp/db2-scripts-facilities-updated/create-schema.sh sed "s/{ db2_dbname }/$DB2_DBNAME/g; s/{ db2_user }/$DB2_USER/g;" /tmp/db2-scripts-facilities/db2config.sh.j2 > ${FACILITIES_DB2_SETUP_PATH} - sed "s/{ db2_dbname }/$DB2_DBNAME/g;" /tmp/db2-scripts-facilities/create-tablespaces.sh.j2 > ${FACILITIES_TABLESPACES_PATH} + sed "s/{ db2_dbname }/$DB2_DBNAME/g; s/{ db2_schema }/$DB2_SCHEMA/g;" /tmp/db2-scripts-facilities/create-tablespaces.sh.j2 > ${FACILITIES_TABLESPACES_PATH} sed "s/{ db2_dbname }/$DB2_DBNAME/g; s/{ db2_user }/$DB2_USER/g; s/{ db2_schema }/$DB2_SCHEMA/g;" /tmp/db2-scripts-facilities/create-schema.sh.j2 > ${FACILITIES_SCHEMA_PATH} echo "" @@ -617,7 +617,7 @@ spec: echo "" echo "Copying runstats_volatile.sh to /mnt/backup/bin in c-${DB2_INSTANCE_NAME}-db2u-0" echo "--------------------------------------------------------------------------------" - cp /tmp/db2-scripts-facilities/runstats_volatile.sh /tmp/runstats_volatile.sh + sed "s/{ db2_schema }/$DB2_SCHEMA/g;" /tmp/db2-scripts-facilities/runstats_volatile.sh > /tmp/runstats_volatile.sh oc cp /tmp/runstats_volatile.sh ${DB2_NAMESPACE}/c-${DB2_INSTANCE_NAME}-db2u-0:/tmp/runstats_volatile.sh -c db2u || exit $? oc exec -n ${DB2_NAMESPACE} c-${DB2_INSTANCE_NAME}-db2u-0 -- su -lc "sudo rm -f ${INSTHOME}/bin/runstats_volatile.sh && sudo mv /tmp/runstats_volatile.sh ${INSTHOME}/bin/runstats_volatile.sh && sudo chmod +x ${INSTHOME}/bin/runstats_volatile.sh && sudo chown db2inst1:db2iadm1 ${INSTHOME}/bin/runstats_volatile.sh" db2inst1 || exit $? # Execute db2configdb.sh From 14bc4e9305fccaa8599b078ca015f1056698298f Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 3 Sep 2026 00:02:30 +0530 Subject: [PATCH 2/4] MASCORE-10022 remove unwanted files --- .../templates/510-550-ibm-mas-masapp-configs.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/root-applications/ibm-mas-instance-root/templates/510-550-ibm-mas-masapp-configs.yaml b/root-applications/ibm-mas-instance-root/templates/510-550-ibm-mas-masapp-configs.yaml index 0a997ba01..3c7dbfddc 100644 --- a/root-applications/ibm-mas-instance-root/templates/510-550-ibm-mas-masapp-configs.yaml +++ b/root-applications/ibm-mas-instance-root/templates/510-550-ibm-mas-masapp-configs.yaml @@ -176,6 +176,12 @@ spec: {{- end }} {{- end }} {{- else }} + {{- if $value.tririga_db_schema }} + tririga_db_schema: {{ $value.tririga_db_schema }} + {{- end }} + {{- end }} + + debug_mas_rds_databases: "EMPTY - No RDS databases configured for manage" {{- end }} {{- end }} From 7d412b267ac9bc5286a1042ca687fe43970c0967 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Thu, 3 Sep 2026 13:44:28 +0530 Subject: [PATCH 3/4] MASCORE-10022 fix tririga_db_schema inside facilities block --- .../templates/510-550-ibm-mas-masapp-configs.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/root-applications/ibm-mas-instance-root/templates/510-550-ibm-mas-masapp-configs.yaml b/root-applications/ibm-mas-instance-root/templates/510-550-ibm-mas-masapp-configs.yaml index 3c7dbfddc..d40adf55a 100644 --- a/root-applications/ibm-mas-instance-root/templates/510-550-ibm-mas-masapp-configs.yaml +++ b/root-applications/ibm-mas-instance-root/templates/510-550-ibm-mas-masapp-configs.yaml @@ -176,15 +176,12 @@ spec: {{- end }} {{- end }} {{- else }} - {{- if $value.tririga_db_schema }} - tririga_db_schema: {{ $value.tririga_db_schema }} - {{- end }} - {{- end }} debug_mas_rds_databases: "EMPTY - No RDS databases configured for manage" {{- end }} {{- end }} + {{- if (eq $value.mas_app_id "facilities") }} {{- if not (empty $.Values.ibm_dbs_rds_databases) }} @@ -202,6 +199,9 @@ spec: {{- end }} {{- end }} {{- end }} + {{- if $value.tririga_db_schema }} + tririga_db_schema: {{ $value.tririga_db_schema }} + {{- end }} {{- end }} {{- if (eq $value.mas_app_id "iot") }} From c506a1bacbe983ebb038cd85fe48c6daa1a5afd3 Mon Sep 17 00:00:00 2001 From: Sakshi Singhroha Date: Fri, 4 Sep 2026 11:11:37 +0530 Subject: [PATCH 4/4] MASCORE-10022: add facilities_db2_schema to values, make RDS path fully configurable --- .../templates/07-postsync-setup-db2_Job.yaml | 2 +- instance-applications/120-ibm-db2u-database/values.yaml | 1 + .../120-ibm-dbs-rds-database/templates/00-configmap.yaml | 6 ++++-- .../templates/01-dbs-rds-postsync-setup.yaml | 4 +++- instance-applications/120-ibm-dbs-rds-database/values.yaml | 7 ++++++- .../510-550-ibm-mas-suite-app-config/values.yaml | 6 +++++- 6 files changed, 20 insertions(+), 6 deletions(-) diff --git a/instance-applications/120-ibm-db2u-database/templates/07-postsync-setup-db2_Job.yaml b/instance-applications/120-ibm-db2u-database/templates/07-postsync-setup-db2_Job.yaml index 883e1afc9..bb026d4d5 100644 --- a/instance-applications/120-ibm-db2u-database/templates/07-postsync-setup-db2_Job.yaml +++ b/instance-applications/120-ibm-db2u-database/templates/07-postsync-setup-db2_Job.yaml @@ -447,7 +447,7 @@ spec: if [[ "$MAS_APP_ID" == "manage" ]]; then export DB2_SCHEMA="MAXIMO" elif [[ "$MAS_APP_ID" == "facilities" ]]; then - export DB2_SCHEMA="TRIDATA" + export DB2_SCHEMA="{{ .Values.facilities_db2_schema | default "TRIDATA" }}" fi if [[ "$MAS_APP_ID" == "manage" ]]; then diff --git a/instance-applications/120-ibm-db2u-database/values.yaml b/instance-applications/120-ibm-db2u-database/values.yaml index e8767691a..fddb167cb 100644 --- a/instance-applications/120-ibm-db2u-database/values.yaml +++ b/instance-applications/120-ibm-db2u-database/values.yaml @@ -3,6 +3,7 @@ instance_id: xxx db2_instance_name: xxx db2_namespace: xxxx db2_instance_home_path: /mnt/blumeta0/home/db2inst1 +facilities_db2_schema: "TRIDATA" sm_aws_access_key_id: xxx sm_aws_secret_access_key: xxxx diff --git a/instance-applications/120-ibm-dbs-rds-database/templates/00-configmap.yaml b/instance-applications/120-ibm-dbs-rds-database/templates/00-configmap.yaml index 599f36286..3b457e29d 100644 --- a/instance-applications/120-ibm-dbs-rds-database/templates/00-configmap.yaml +++ b/instance-applications/120-ibm-dbs-rds-database/templates/00-configmap.yaml @@ -17,6 +17,8 @@ data: import sys import re import time + tririga_schema = os.getenv("TRIRIGA_SCHEMA", "TRIDATA") + # Initialization of mas_application_id = os.getenv("MAS_APP_ID") @@ -283,8 +285,8 @@ data: ("MAXTEMP", "MAXTEMPBP"), ] facilities_tablespaces = [ - ("TRIDATA_DATA", "TRIBUFPOOL"), - ("TRIDATA_INDX", "TRIBUFPOOLINDEX"), + (f"{tririga_schema}_DATA", "TRIBUFPOOL"), + (f"{tririga_schema}_INDX", "TRIBUFPOOLINDEX"), ("TRITEMP", "TRITEMPBP"), ("DEDICATED_DATA", "DEDICATEDBPDATA"), ("DEDICATED_INDEX", "DEDICATEDBPINDX"), diff --git a/instance-applications/120-ibm-dbs-rds-database/templates/01-dbs-rds-postsync-setup.yaml b/instance-applications/120-ibm-dbs-rds-database/templates/01-dbs-rds-postsync-setup.yaml index 4db779867..d8064b0f9 100644 --- a/instance-applications/120-ibm-dbs-rds-database/templates/01-dbs-rds-postsync-setup.yaml +++ b/instance-applications/120-ibm-dbs-rds-database/templates/01-dbs-rds-postsync-setup.yaml @@ -25,7 +25,7 @@ E.g. passing in a new environment variable. Included in $_job_hash (see below). */}} -{{- $_job_version := "v2" }} +{{- $_job_version := "v3" }} {{- /* 10 char hash appended to the job name taking into account $_job_config_values, $_job_version and $_cli_image_digest @@ -165,6 +165,8 @@ spec: - name: DB2_DATABASE_CONFIG value: {{ .Values.db2_database_db_config | toJson | quote }} {{- end }} + - name: TRIRIGA_SCHEMA + value: {{ .Values.facilities_db2_schema | default "TRIDATA" | quote }} volumeMounts: - name: dbs-rds-secret-store mountPath: /etc/mas/dbs-rds-creds/ diff --git a/instance-applications/120-ibm-dbs-rds-database/values.yaml b/instance-applications/120-ibm-dbs-rds-database/values.yaml index 20014ed82..5a98c2b89 100644 --- a/instance-applications/120-ibm-dbs-rds-database/values.yaml +++ b/instance-applications/120-ibm-dbs-rds-database/values.yaml @@ -45,4 +45,9 @@ backup: # Full backup configuration (Sundays at 2 AM) full: enabled: true - schedule: "0 2 * * 0" # Cron: Every Sunday at 2 AM \ No newline at end of file + schedule: "0 2 * * 0" # Cron: Every Sunday at 2 AM + +# TRIRIGA schema name for the Facilities application. +# Only change this if the source system uses a non-standard schema name. +# Defaults to TRIDATA — existing deployments are unaffected. +facilities_db2_schema: "TRIDATA" diff --git a/instance-applications/510-550-ibm-mas-suite-app-config/values.yaml b/instance-applications/510-550-ibm-mas-suite-app-config/values.yaml index 36d85685c..218b38957 100644 --- a/instance-applications/510-550-ibm-mas-suite-app-config/values.yaml +++ b/instance-applications/510-550-ibm-mas-suite-app-config/values.yaml @@ -49,4 +49,8 @@ run_sanity_test: false # customization_archive_secret_names: # - secret_name: "" # username: "" -# password: "" \ No newline at end of file +# password: "" + + +# Facilities (TRIRIGA) schema name. Defaults to TRIDATA. +# tririga_db_schema: "TRIDATA" \ No newline at end of file