diff --git a/python/src/mas/cli/install/app.py b/python/src/mas/cli/install/app.py index e1ba3e02605..033962fb943 100644 --- a/python/src/mas/cli/install/app.py +++ b/python/src/mas/cli/install/app.py @@ -1646,6 +1646,14 @@ def facilitiesSettings(self) -> None: default=30, ) + if self.yesOrNo("Do you want set Real Estate and Facilities server timezone (Set only if the Facilities DB uses a timezone other than UTC)"): + self.promptForString( + "Provide server timezone:", + "mas_ws_facilities_server_timezone", + default="UTC", + ) + self.setParam("db2_facilities_timezone", self.getParam("mas_ws_facilities_server_timezone")) + if self.yesOrNo("Supply configuration for dedicated workflow agents"): print_formatted_text( HTML( diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index 5f064bd73c6..72248b6ae61 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -348,6 +348,9 @@ def buildCommand(self) -> str: if self.getParam("mas_ws_facilities_storage_userfiles_size") != "": command += f" --facilities-userfiles-storage-size \"{self.getParam('mas_ws_facilities_storage_userfiles_size')}\"{newline}" + if self.getParam("mas_ws_facilities_server_timezone") != "": + command += f" --facilities-server-timezone \"{self.getParam('mas_ws_facilities_server_timezone')}\"{newline}" + if self.getParam("mas_ws_facilities_properties_file_local") != "": command += f" --facilities-properties-file \"{self.getParam('mas_ws_facilities_properties_file_local')}\"{newline}" if self.getParam("mas_ws_facilities_properties_secret_name") != "": @@ -470,8 +473,12 @@ def buildCommand(self) -> str: if self.getParam("db2_type") != "": command += f" --db2-type \"{self.getParam('db2_type')}\"{newline}" - if self.getParam("db2_timezone") != "": - command += f" --db2-timezone \"{self.getParam('db2_timezone')}\"{newline}" + if self.getParam("db2_action_system") == "install" or self.getParam("db2_action_manage") == "install": + if self.getParam("db2_timezone") != "": + command += f" --db2-timezone \"{self.getParam('db2_timezone')}\"{newline}" + if self.getParam("db2_action_facilities") == "install": + if self.getParam("db2_facilities_timezone") != "": + command += f" --db2-facilities-timezone \"{self.getParam('db2_facilities_timezone')}\"{newline}" if self.db2LicenseFileLocal != "": command += f' --db2-license-file "{self.db2LicenseFileLocal}"{newline}' diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index a2ec07beea2..1cc846865a1 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -818,6 +818,14 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: help="Storage size for Facilities user files", default=50, ) +facilitiesArgGroup.add_argument( + "--facilities-server-timezone", + dest="mas_ws_facilities_server_timezone", + required=False, + help="Facilities servers timezone", + type=str, + default="UTC", +) facilitiesArgGroup.add_argument( "--facilities-properties-file", dest="mas_ws_facilities_properties_file_local", @@ -1176,7 +1184,8 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: choices=DB2_TYPES, metavar="{db2wh,db2oltp}", ) -db2ArgGroup.add_argument("--db2-timezone", required=False, help="Timezone for Db2 instance") +db2ArgGroup.add_argument("--db2-timezone", required=False, help="Timezone for System and Dedicated Manage Instances") +db2ArgGroup.add_argument("--db2-facilities-timezone", required=False, help="Timezone for Dedicated Facilities Instance") db2ArgGroup.add_argument("--db2-license-file", required=False, help="Db2 License File for Db2") db2ArgGroup.add_argument("--db2-affinity-key", required=False, help="Set a node label to declare affinity to") db2ArgGroup.add_argument( diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index acd79a155c3..9b6e0cd9286 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -172,11 +172,14 @@ "mas_ws_facilities_storage_userfiles_class", "mas_ws_facilities_storage_userfiles_mode", "mas_ws_facilities_storage_userfiles_size", + "mas_ws_facilities_server_timezone", "mas_ws_facilities_dwfagents", "mas_ws_facilities_db_maxconnpoolsize", "mas_ws_facilities_properties_file_local", "mas_ws_facilities_custom_properties", "mas_ws_facilities_properties_secret_name", + # DB2 for Facilities + "db2_facilities_timezone", # Special chars "mas_special_characters", # ODH diff --git a/python/src/mas/cli/install/summarizer.py b/python/src/mas/cli/install/summarizer.py index 5b438aeefbf..cbe0634df11 100644 --- a/python/src/mas/cli/install/summarizer.py +++ b/python/src/mas/cli/install/summarizer.py @@ -348,6 +348,7 @@ def facilitiesSummary(self) -> None: "mas_ws_facilities_storage_userfiles_mode", ) # self.printParamSummary(" + User files Storage Size", "mas_ws_facilities_storage_userfiles_size") + self.printParamSummary(" + Server Timezone", "mas_ws_facilities_server_timezone") self.printParamSummary(" + Custom FACILITIES.properties", "mas_ws_facilities_custom_properties") self.printParamSummary(" + Custom FACILITIES.properties File path", "mas_ws_facilities_properties_file_local") self.printParamSummary(" + Custom FACILITIES.properties Secret Name", "mas_ws_facilities_properties_secret_name") @@ -396,7 +397,11 @@ def aiServiceSummary(self) -> None: self.printParamSummary("Project ID", "aiservice_watsonxai_project_id") def db2Summary(self) -> None: - if self.getParam("db2_action_system") == "install" or self.getParam("db2_action_manage") == "install": + if ( + self.getParam("db2_action_system") == "install" + or self.getParam("db2_action_manage") == "install" + or self.getParam("db2_action_facilities") == "install" + ): self.printH2("IBM Db2 Univeral Operator Configuration") self.printSummary( "System Instance", @@ -406,8 +411,15 @@ def db2Summary(self) -> None: "Dedicated Manage Instance", ("Install" if self.getParam("db2_action_manage") == "install" else "Do Not Install"), ) + self.printSummary( + "Dedicated Facilities Instance", + ("Install" if self.getParam("db2_action_facilities") == "install" else "Do Not Install"), + ) self.printParamSummary(" - Type", "db2_type") - self.printParamSummary(" - Timezone", "db2_timezone") + if self.getParam("db2_action_system") == "install" or self.getParam("db2_action_manage") == "install": + self.printParamSummary(" - Timezone for System and Dedicated Manage Instances", "db2_timezone") + if self.getParam("db2_action_facilities") == "install": + self.printParamSummary(" - Timezone for Dedicated Facilities Instance", "db2_facilities_timezone") print() self.printParamSummary("Install Namespace", "db2_namespace") self.printParamSummary("Subscription Channel", "db2_channel") diff --git a/tekton/src/params/install-db2.yml.j2 b/tekton/src/params/install-db2.yml.j2 index 71574bab6d7..c89fae2072a 100644 --- a/tekton/src/params/install-db2.yml.j2 +++ b/tekton/src/params/install-db2.yml.j2 @@ -24,6 +24,10 @@ type: string description: The timezone of the database created default: "" +- name: db2_facilities_timezone + type: string + description: The timezone of the database created + default: "" - name: db2_workload type: string description: The workload profile for the db2 instance ('PUREDATA_OLAP' or 'ANALYTICS') diff --git a/tekton/src/params/install.yml.j2 b/tekton/src/params/install.yml.j2 index 33f14860896..a83c69d81cf 100644 --- a/tekton/src/params/install.yml.j2 +++ b/tekton/src/params/install.yml.j2 @@ -766,6 +766,10 @@ type: string description: Define storage mode for userfiles default: "" +- name: mas_ws_facilities_server_timezone + type: string + description: Facilities server timezone + default: "UTC" - name: mas_ws_facilities_config_map_name description: ConfigMap with configurations not supported by Tekton type: string diff --git a/tekton/src/pipelines/taskdefs/apps/db2-setup-facilities.yml.j2 b/tekton/src/pipelines/taskdefs/apps/db2-setup-facilities.yml.j2 index 00c86f12d29..895984a02fd 100644 --- a/tekton/src/pipelines/taskdefs/apps/db2-setup-facilities.yml.j2 +++ b/tekton/src/pipelines/taskdefs/apps/db2-setup-facilities.yml.j2 @@ -25,8 +25,8 @@ value: $(params.db2_ldap_password) - name: db2_type value: $(params.db2_type) - - name: db2_timezone - value: $(params.db2_timezone) + - name: db2_facilities_timezone + value: $(params.db2_facilities_timezone) - name: db2_namespace value: $(params.db2_namespace) - name: db2_dbname diff --git a/tekton/src/pipelines/taskdefs/apps/facilities-app.yml.j2 b/tekton/src/pipelines/taskdefs/apps/facilities-app.yml.j2 index 71d989ec03e..7fc75475177 100644 --- a/tekton/src/pipelines/taskdefs/apps/facilities-app.yml.j2 +++ b/tekton/src/pipelines/taskdefs/apps/facilities-app.yml.j2 @@ -48,6 +48,8 @@ value: $(params.mas_ws_facilities_storage_userfiles_class) - name: mas_ws_facilities_storage_userfiles_mode value: $(params.mas_ws_facilities_storage_userfiles_mode) + - name: mas_ws_facilities_server_timezone + value: $(params.mas_ws_facilities_server_timezone) - name: mas_ws_facilities_config_map_name value: $(params.mas_ws_facilities_config_map_name) - name: mas_ws_facilities_custom_properties diff --git a/tekton/src/tasks/suite-app-install.yml.j2 b/tekton/src/tasks/suite-app-install.yml.j2 index f4cfa6c6abb..ac6bde538a4 100644 --- a/tekton/src/tasks/suite-app-install.yml.j2 +++ b/tekton/src/tasks/suite-app-install.yml.j2 @@ -349,6 +349,10 @@ spec: type: string description: Define storage mode for userfiles default: "" + - name: mas_ws_facilities_server_timezone + type: string + description: Define facilities server timezone. Set this only if the Facilities DB is using a timezone other than UTC. + default: "UTC" - name: mas_ws_facilities_config_map_name type: string description: ConfigMap with configurations not supported by Tekton @@ -584,6 +588,8 @@ spec: value: $(params.mas_ws_facilities_config_map_name) - name: MAS_FACILITIES_APP_OM_UPGRADE_MODE value: $(params.mas_ws_facilities_app_om_upgrade_mode) + - name: MAS_FACILITIES_SERVER_TIMEZONE + value: $(params.mas_ws_facilities_server_timezone) - name: MAS_FACILITIES_CUSTOM_PROPERTIES value: $(params.mas_ws_facilities_custom_properties) - name: MAS_FACILITIES_PROPERTIES_FILE_LOCAL diff --git a/tekton/src/tasks/suite-db2-setup-for-facilities.yml.j2 b/tekton/src/tasks/suite-db2-setup-for-facilities.yml.j2 index 300c3996c92..539940872c3 100644 --- a/tekton/src/tasks/suite-db2-setup-for-facilities.yml.j2 +++ b/tekton/src/tasks/suite-db2-setup-for-facilities.yml.j2 @@ -44,7 +44,7 @@ spec: - name: db2_type type: string default: "" - - name: db2_timezone + - name: db2_facilities_timezone type: string default: "" - name: db2_workload @@ -202,8 +202,8 @@ spec: value: $(params.db2_version) - name: DB2_TYPE value: $(params.db2_type) - - name: DB2_TIMEZONE - value: $(params.db2_timezone) + - name: DB2_FACILITIES_TIMEZONE + value: $(params.db2_facilities_timezone) - name: DB2_WORKLOAD value: $(params.db2_workload) - name: DB2_4K_DEVICE_SUPPORT