diff --git a/python/src/mas/cli/install/app.py b/python/src/mas/cli/install/app.py index 6e59c58d102..6e2efdacbfd 100644 --- a/python/src/mas/cli/install/app.py +++ b/python/src/mas/cli/install/app.py @@ -1161,6 +1161,15 @@ def facilitiesSettings(self) -> None: self.printDescription([ "Advanced configurations for Real Estate and Facilities are added through an additional file called facilities-configs.yaml" ]) + self.printDescription([ + "Application Object Migration:", + "Warning! Application upgrades can overwrite your custom changes. Do not select Automatic if you have customized your application. Sets the Application upgrades", + " 1. Manual", + " 2. Load Only", + " 3. Automatic (Load and Import)" + ]) + self.promptForListSelect("Select the Application Object Migration Mode:", ["manual", "load-only", "automatic"], "mas_ws_facilities_app_om_upgrade_mode") + if self.yesOrNo("Supply extra XML tags for Real Estate and Facilities server.xml"): self.promptForString("Real Estate and Facilities Liberty Extension Secret Name", "mas_ws_facilities_liberty_extension_XML") if self.yesOrNo("Supply custom AES Encryption Password"): diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index 3876b360e03..f4db3f6999d 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -297,6 +297,9 @@ def buildCommand(self) -> str: if self.getParam('mas_ws_facilities_size') != "": command += f" --facilities-size \"{self.getParam('mas_ws_facilities_size')}\"{newline}" + if self.getParam('mas_ws_facilities_app_om_upgrade_mode') != "": + command += f" --facilities-app-om-upgrade-mode \"{self.getParam('mas_ws_facilities_app_om_upgrade_mode')}\"{newline}" + if self.getParam('mas_ws_facilities_pull_policy') != "": command += f" --facilities-pull-policy \"{self.getParam('mas_ws_facilities_pull_policy')}\"{newline}" diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index f3198e6f677..ff0134a245c 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -24,6 +24,7 @@ ATTACHMENT_PROVIDERS = ["filestorage", "ibm", "aws"] ATTACHMENT_MODES = ["cr", "db"] FACILITIES_SIZES = ["small", "medium", "large"] +FACILITIES_APPOMUPGRADEMODE = ["manual", "load-only", "automatic"] IMAGE_PULL_POLICIES = ["IfNotPresent", "Always"] @@ -728,6 +729,14 @@ def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: "Advanced Settings - Facilities", "Advanced configuration for Maximo Real Estate and Facilities including deployment size, image pull policy, routes timeout, Liberty extensions, vault secrets, workflow agents, connection pool size, and storage settings." ) +facilitiesArgGroup.add_argument( + "--facilities-app-om-upgrade-mode", + dest="mas_ws_facilities_app_om_upgrade_mode", + required=False, + help="Sets the Application Object Migration Mode", + choices=FACILITIES_APPOMUPGRADEMODE, + metavar="{manual,load-only,automatic}" +) facilitiesArgGroup.add_argument( "--facilities-size", dest="mas_ws_facilities_size", diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index 15d4fb2e2cc..187dfd90546 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -156,6 +156,7 @@ "mas_deployment_progression", # Facilities "mas_ws_facilities_size", + "mas_ws_facilities_app_om_upgrade_mode", "mas_ws_facilities_routes_timeout", "mas_ws_facilities_liberty_extension_XML", "mas_ws_facilities_vault_secret", diff --git a/python/src/mas/cli/install/summarizer.py b/python/src/mas/cli/install/summarizer.py index 2e4e9c3a73d..3de50649aac 100644 --- a/python/src/mas/cli/install/summarizer.py +++ b/python/src/mas/cli/install/summarizer.py @@ -225,6 +225,7 @@ def facilitiesSummary(self) -> None: self.printSummary("Facilities", self.params["mas_app_channel_facilities"]) print_formatted_text(HTML(" + Maximo Real Estate and Facilities Settings")) self.printParamSummary(" + Size", "mas_ws_facilities_size") + self.printParamSummary(" + Application Object Migration", "mas_ws_facilities_app_om_upgrade_mode") self.printParamSummary(" + Routes Timeout", "mas_ws_facilities_routes_timeout") self.printParamSummary(" + XML Extension", "mas_ws_facilities_liberty_extension_XML") self.printParamSummary(" + AES vault secret name", "mas_ws_facilities_vault_secret") diff --git a/tekton/src/params/install.yml.j2 b/tekton/src/params/install.yml.j2 index be3ea9edb25..a08c963ca96 100644 --- a/tekton/src/params/install.yml.j2 +++ b/tekton/src/params/install.yml.j2 @@ -711,6 +711,10 @@ type: string description: Size of the Facilities Deployment default: "small" +- name: mas_ws_facilities_app_om_upgrade_mode + type: string + description: Warning! Application upgrades can overwrite your custom changes. Do not select Automatic if you have customized your application. Sets the Application upgrades. + default: "" - name: mas_ws_facilities_routes_timeout type: string description: Optional. Connection timeout of the route. diff --git a/tekton/src/pipelines/taskdefs/apps/facilities-app.yml.j2 b/tekton/src/pipelines/taskdefs/apps/facilities-app.yml.j2 index 670cc343c3f..154f5143a84 100644 --- a/tekton/src/pipelines/taskdefs/apps/facilities-app.yml.j2 +++ b/tekton/src/pipelines/taskdefs/apps/facilities-app.yml.j2 @@ -30,6 +30,8 @@ value: $(params.mas_appws_bindings_jdbc) - name: mas_ws_facilities_size value: $(params.mas_ws_facilities_size) + - name: mas_ws_facilities_app_om_upgrade_mode + value: $(params.mas_ws_facilities_app_om_upgrade_mode) - name: mas_ws_facilities_routes_timeout value: $(params.mas_ws_facilities_routes_timeout) - name: mas_ws_facilities_liberty_extension_XML diff --git a/tekton/src/tasks/suite-app-install.yml.j2 b/tekton/src/tasks/suite-app-install.yml.j2 index 9ef1b26d85b..3a9711d2e53 100644 --- a/tekton/src/tasks/suite-app-install.yml.j2 +++ b/tekton/src/tasks/suite-app-install.yml.j2 @@ -295,6 +295,10 @@ spec: type: string description: Size of the Facilities Deployment default: "" + - name: mas_ws_facilities_app_om_upgrade_mode + type: string + description: Warning! Application upgrades can overwrite your custom changes. Do not select Automatic if you have customized your application. Sets the Application upgrades. + default: "" - name: mas_ws_facilities_routes_timeout type: string description: Optional. Connection timeout of the route. @@ -540,6 +544,8 @@ spec: value: $(params.mas_ws_facilities_storage_userfiles_mode) - name: MAS_FACILITIES_CONFIG_MAP_NAME 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: app-wait-for-approval # If configmap/approval-app-cfg-$(params.mas_app_id) exists then set STATUS=pending and wait for it to be changed to "approved"