mas-cli 13.11.0__tar.gz → 13.12.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mas-cli might be problematic. Click here for more details.
- {mas_cli-13.11.0 → mas_cli-13.12.0}/PKG-INFO +1 -1
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/__init__.py +1 -1
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/cli.py +1 -1
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/app.py +20 -1
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/argBuilder.py +1 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/argParser.py +5 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/params.py +1 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/settings/db2Settings.py +16 -16
- mas_cli-13.12.0/src/mas/cli/install/settings/manageSettings.py +295 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/summarizer.py +33 -33
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/ibm-mas-tekton.yaml +114 -102
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas_cli.egg-info/PKG-INFO +1 -1
- mas_cli-13.11.0/src/mas/cli/install/settings/manageSettings.py +0 -278
- {mas_cli-13.11.0 → mas_cli-13.12.0}/MANIFEST.in +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/README.rst +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/pyproject.toml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/setup.cfg +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/setup.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/displayMixins.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/gencfg.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/__init__.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/catalogs.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/settings/__init__.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/settings/additionalConfigs.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/settings/kafkaSettings.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/settings/mongodbSettings.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/install/settings/turbonomicSettings.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/jdbccfg.yml.j2 +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-data-dictionary-assetdatadictionary.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-bascfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-coreidp.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-actions.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-auth.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-datapower.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-devops.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dm.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dsc.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-edgeconfig.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-fpl.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-guardian.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-iot.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mbgx.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mfgx.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-monitor.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-orgmgmt.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-provision.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-registry.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-state.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-webui.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextaccelerator.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextworkspace.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-imagestitching.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageaccelerators.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageapp.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageworkspace.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-slackproxy.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-pushnotificationcfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-scimcfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-slscfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-smtpcfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-suite.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-visualinspection.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-sls-licenseservice.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-data-dictionary-assetdatadictionary.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-bascfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-coreidp.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-actions.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-auth.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-datapower.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-devops.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dm.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dsc.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-edgeconfig.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-fpl.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-guardian.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-iot.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mbgx.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mfgx.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-monitor.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-orgmgmt.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-provision.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-registry.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-state.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-webui.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextaccelerator.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextworkspace.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-imagestitching.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageaccelerators.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageapp.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageworkspace.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-slackproxy.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-pushnotificationcfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-scimcfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-slscfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-smtpcfg.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-suite.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-visualinspection.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-sls-licenseservice.yml +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/templates/suite_mongocfg.yml.j2 +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/uninstall/__init__.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/uninstall/app.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/uninstall/argParser.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/update/__init__.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/update/app.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/update/argParser.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/upgrade/__init__.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/upgrade/app.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/upgrade/argParser.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas/cli/validators.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas-cli +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas_cli.egg-info/SOURCES.txt +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas_cli.egg-info/dependency_links.txt +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas_cli.egg-info/requires.txt +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/src/mas_cli.egg-info/top_level.txt +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/test/test_help.py +0 -0
- {mas_cli-13.11.0 → mas_cli-13.12.0}/test/test_install.py +0 -0
|
@@ -117,7 +117,7 @@ class BaseApp(PrintMixin, PromptMixin):
|
|
|
117
117
|
logging.getLogger('asyncio').setLevel(logging.INFO)
|
|
118
118
|
|
|
119
119
|
# Supports extended semver, unlike mas.cli.__version__
|
|
120
|
-
self.version = "13.
|
|
120
|
+
self.version = "13.12.0"
|
|
121
121
|
self.h1count = 0
|
|
122
122
|
self.h2count = 0
|
|
123
123
|
|
|
@@ -615,7 +615,21 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
615
615
|
if self.installMonitor:
|
|
616
616
|
self.configAppChannel("monitor")
|
|
617
617
|
|
|
618
|
-
self.
|
|
618
|
+
self.manageAppName = "Manage"
|
|
619
|
+
self.isManageFoundation = False
|
|
620
|
+
self.installManage = self.yesOrNo(f"Install {self.manageAppName}")
|
|
621
|
+
|
|
622
|
+
# If the selection was to not install manage but we are in mas_channel 9.1 or later, we need to set self.isManageFoundation to True
|
|
623
|
+
# Also, we need to force self.installManage to be True because Manage must always be installed in MAS 9.1 or later
|
|
624
|
+
if not self.installManage:
|
|
625
|
+
if not self.getParam("mas_channel").startswith("8.") and not self.getParam("mas_channel").startswith("9.0"):
|
|
626
|
+
self.installManage = True
|
|
627
|
+
self.isManageFoundation = True
|
|
628
|
+
self.setParam("is_full_manage", "false")
|
|
629
|
+
self.manageAppName = "Manage foundation"
|
|
630
|
+
self.printDescription([f"{self.manageAppName} installs the following capabilities: User, Security groups, Application configurator and Mobile configurator."])
|
|
631
|
+
else:
|
|
632
|
+
self.setParam("is_full_manage", "true")
|
|
619
633
|
|
|
620
634
|
if self.installManage:
|
|
621
635
|
self.configAppChannel("manage")
|
|
@@ -1006,6 +1020,11 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
1006
1020
|
print(f"Unknown option: {key} {value}")
|
|
1007
1021
|
self.fatalError(f"Unknown option: {key} {value}")
|
|
1008
1022
|
|
|
1023
|
+
if self.installManage:
|
|
1024
|
+
# If Manage is being installed and --is-full-manage was set to something different than "false", assume it is "true"
|
|
1025
|
+
if self.getParam("is_full_manage") != "false":
|
|
1026
|
+
self.setParam("is_full_manage", "true")
|
|
1027
|
+
|
|
1009
1028
|
# Load the catalog information
|
|
1010
1029
|
self.chosenCatalog = getCatalog(self.getParam("mas_catalog_version"))
|
|
1011
1030
|
|
|
@@ -160,6 +160,7 @@ class installArgBuilderMixin():
|
|
|
160
160
|
command += f" --monitor-channel \"{self.getParam('mas_app_channel_monitor')}\"{newline}"
|
|
161
161
|
if self.installManage:
|
|
162
162
|
command += f" --manage-channel \"{self.getParam('mas_app_channel_manage')}\"{newline}"
|
|
163
|
+
command += f" --is-full-manage \"{self.getParam('is_full_manage')}\"{newline}"
|
|
163
164
|
if self.installOptimizer:
|
|
164
165
|
command += f" --optimizer-channel \"{self.getParam('mas_app_channel_optimizer')}\""
|
|
165
166
|
command += f" --optimizer-plan \"{self.getParam('mas_app_plan_optimizer')}\"{newline}"
|
|
@@ -338,6 +338,11 @@ masAppsArgGroup.add_argument(
|
|
|
338
338
|
required=False,
|
|
339
339
|
help="Subscription channel for Maximo Manage"
|
|
340
340
|
)
|
|
341
|
+
masAppsArgGroup.add_argument(
|
|
342
|
+
"--is-full-manage",
|
|
343
|
+
required=False,
|
|
344
|
+
help="Full Manage instead of Manage Foundation"
|
|
345
|
+
)
|
|
341
346
|
masAppsArgGroup.add_argument(
|
|
342
347
|
"--predict-channel",
|
|
343
348
|
required=False,
|
|
@@ -40,19 +40,19 @@ class Db2SettingsMixin():
|
|
|
40
40
|
|
|
41
41
|
# Check if a configuration already exists before creating a new one
|
|
42
42
|
jdbcCfgFile = path.join(self.localConfigDir, f"jdbc-{instanceId}-manage.yaml")
|
|
43
|
-
print_formatted_text(f"Searching for
|
|
43
|
+
print_formatted_text(f"Searching for {self.manageAppName} database configuration file in {jdbcCfgFile} ...")
|
|
44
44
|
if path.exists(jdbcCfgFile):
|
|
45
|
-
if self.yesOrNo(f"
|
|
45
|
+
if self.yesOrNo(f"{self.manageAppName} database configuration file 'jdbc-{instanceId}-manage.yaml' already exists. Do you want to generate a new one"):
|
|
46
46
|
self.generateJDBCCfg(instanceId=instanceId, scope="workspace-application", workspaceId=workspaceId, appId="manage", destination=jdbcCfgFile)
|
|
47
47
|
else:
|
|
48
|
-
print_formatted_text(f"Expected file ({jdbcCfgFile}) was not found, generating a valid
|
|
48
|
+
print_formatted_text(f"Expected file ({jdbcCfgFile}) was not found, generating a valid {self.manageAppName} database configuration file now ...")
|
|
49
49
|
self.generateJDBCCfg(instanceId=instanceId, scope="workspace-application", workspaceId=workspaceId, appId="manage", destination=jdbcCfgFile)
|
|
50
50
|
return
|
|
51
51
|
|
|
52
52
|
# Proceed as normal
|
|
53
53
|
# We know we are installing either IoT or Manage, and on amd64 target architecture
|
|
54
54
|
self.printDescription([
|
|
55
|
-
"The installer can setup one or more IBM Db2 instances in your OpenShift cluster for the use of applications that require a JDBC datasource (IoT,
|
|
55
|
+
f"The installer can setup one or more IBM Db2 instances in your OpenShift cluster for the use of applications that require a JDBC datasource (IoT, {self.manageAppName}, Monitor, & Predict) or you may choose to configure MAS to use an existing database"
|
|
56
56
|
])
|
|
57
57
|
|
|
58
58
|
self.setParam("db2_cpu_requests", "4000m")
|
|
@@ -111,28 +111,28 @@ class Db2SettingsMixin():
|
|
|
111
111
|
self.setParam("db2_action_system", "none")
|
|
112
112
|
|
|
113
113
|
if self.installManage:
|
|
114
|
-
self.printH2("Database Configuration for Maximo
|
|
114
|
+
self.printH2(f"Database Configuration for Maximo {self.manageAppName}")
|
|
115
115
|
self.printDescription([
|
|
116
|
-
"Maximo
|
|
116
|
+
f"Maximo {self.manageAppName} can be configured to share the system Db2 instance or use it's own dedicated database:",
|
|
117
117
|
" - Use of a shared instance has a significant footprint reduction but is only recommended for development/test/demo installs",
|
|
118
118
|
" - In most production systems you will want to use a dedicated database",
|
|
119
119
|
" - IBM Db2, Oracle Database, & Microsoft SQL Server are all supported database options"
|
|
120
120
|
])
|
|
121
121
|
# Determine whether to use the system or a dedicated database
|
|
122
|
-
if self.installIoT and self.yesOrNo("Re-use System Db2 instance for
|
|
122
|
+
if self.installIoT and self.yesOrNo(f"Re-use System Db2 instance for {self.manageAppName} application"):
|
|
123
123
|
# We are going to bind Manage to the system database, which has already been set up in the previous step
|
|
124
124
|
self.setParam("mas_appws_bindings_jdbc_manage", "system")
|
|
125
125
|
self.setParam("db2_action_manage", "none")
|
|
126
126
|
else:
|
|
127
127
|
self.setParam("mas_appws_bindings_jdbc_manage", "workspace-application")
|
|
128
|
-
if self.yesOrNo("Create
|
|
128
|
+
if self.yesOrNo(f"Create {self.manageAppName} dedicated Db2 instance using the IBM Db2 Universal Operator"):
|
|
129
129
|
self.setParam("db2_action_manage", "install")
|
|
130
130
|
self.printDescription([
|
|
131
|
-
"Available Db2 instance types for
|
|
131
|
+
f"Available Db2 instance types for {self.manageAppName}:",
|
|
132
132
|
" 1. DB2 Warehouse (Default option)",
|
|
133
133
|
" 2. DB2 Online Transactional Processing (OLTP)"
|
|
134
134
|
])
|
|
135
|
-
self.promptForListSelect(message="Select the
|
|
135
|
+
self.promptForListSelect(message=f"Select the {self.manageAppName} dedicated DB2 instance type", options=["db2wh", "db2oltp"], param="db2_type", default="1")
|
|
136
136
|
else:
|
|
137
137
|
workspaceId = self.getParam("mas_workspace_id")
|
|
138
138
|
self.setParam("db2_action_manage", "byo")
|
|
@@ -141,12 +141,12 @@ class Db2SettingsMixin():
|
|
|
141
141
|
|
|
142
142
|
# Check if a configuration already exists before creating a new one
|
|
143
143
|
jdbcCfgFile = path.join(self.localConfigDir, f"jdbc-{instanceId}-manage.yaml")
|
|
144
|
-
print_formatted_text(f"Searching for
|
|
144
|
+
print_formatted_text(f"Searching for {self.manageAppName} database configuration file in {jdbcCfgFile} ...")
|
|
145
145
|
if path.exists(jdbcCfgFile):
|
|
146
|
-
if self.yesOrNo(f"
|
|
146
|
+
if self.yesOrNo(f"{self.manageAppName} database configuration file 'jdbc-{instanceId}-manage.yaml' already exists. Do you want to generate a new one"):
|
|
147
147
|
self.generateJDBCCfg(instanceId=instanceId, scope="workspace-application", workspaceId=workspaceId, appId="manage", destination=jdbcCfgFile)
|
|
148
148
|
else:
|
|
149
|
-
print_formatted_text(f"Expected file ({jdbcCfgFile}) was not found, generating a valid
|
|
149
|
+
print_formatted_text(f"Expected file ({jdbcCfgFile}) was not found, generating a valid {self.manageAppName} database configuration file now ...")
|
|
150
150
|
self.generateJDBCCfg(instanceId=instanceId, scope="workspace-application", workspaceId=workspaceId, appId="manage", destination=jdbcCfgFile)
|
|
151
151
|
else:
|
|
152
152
|
self.setParam("db2_action_manage", "none")
|
|
@@ -161,7 +161,7 @@ class Db2SettingsMixin():
|
|
|
161
161
|
# -------------------------------------------------------------------------
|
|
162
162
|
self.printH2("Node Affinity and Tolerations")
|
|
163
163
|
self.printDescription([
|
|
164
|
-
"Note that the same settings are applied to both the IoT and
|
|
164
|
+
f"Note that the same settings are applied to both the IoT and {self.manageAppName} Db2 instances",
|
|
165
165
|
"Use existing node labels and taints to control scheduling of the Db2 workload in your cluster",
|
|
166
166
|
"For more information refer to the Red Hat documentation:",
|
|
167
167
|
" - <Orange><u>https://docs.openshift.com/container-platform/4.16/nodes/scheduling/nodes-scheduler-node-affinity.html</u></Orange>",
|
|
@@ -179,7 +179,7 @@ class Db2SettingsMixin():
|
|
|
179
179
|
|
|
180
180
|
self.printH2("Database CPU & Memory")
|
|
181
181
|
self.printDescription([
|
|
182
|
-
"Note that the same settings are applied to both the IoT and
|
|
182
|
+
f"Note that the same settings are applied to both the IoT and {self.manageAppName} Db2 instances"
|
|
183
183
|
])
|
|
184
184
|
|
|
185
185
|
if self.yesOrNo("Customize CPU and memory request/limit"):
|
|
@@ -190,7 +190,7 @@ class Db2SettingsMixin():
|
|
|
190
190
|
|
|
191
191
|
self.printH2("Database Storage Capacity")
|
|
192
192
|
self.printDescription([
|
|
193
|
-
"Note that the same settings are applied to both the IoT and
|
|
193
|
+
f"Note that the same settings are applied to both the IoT and {self.manageAppName} Db2 instances"
|
|
194
194
|
])
|
|
195
195
|
|
|
196
196
|
if self.yesOrNo("Customize storage capacity"):
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# *****************************************************************************
|
|
2
|
+
# Copyright (c) 2024 IBM Corporation and other Contributors.
|
|
3
|
+
#
|
|
4
|
+
# All rights reserved. This program and the accompanying materials
|
|
5
|
+
# are made available under the terms of the Eclipse Public License v1.0
|
|
6
|
+
# which accompanies this distribution, and is available at
|
|
7
|
+
# http://www.eclipse.org/legal/epl-v10.html
|
|
8
|
+
#
|
|
9
|
+
# *****************************************************************************
|
|
10
|
+
|
|
11
|
+
import logging
|
|
12
|
+
logger = logging.getLogger(__name__)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ManageSettingsMixin():
|
|
16
|
+
|
|
17
|
+
def arcgisSettings(self) -> None:
|
|
18
|
+
# If Spatial is selected, then prompt to choose to add IBM Maximo Location Services for Esri, and prompt license
|
|
19
|
+
if "spatial=" in self.getParam("mas_appws_components") and self.getParam("mas_app_channel_manage").startswith("9."):
|
|
20
|
+
self.printDescription([
|
|
21
|
+
"",
|
|
22
|
+
"Maximo Spatial requires a map server provider in order to enable geospatial capabilities",
|
|
23
|
+
"You may choose your preferred map provider later or you can enable IBM Maximo Location Services for Esri now",
|
|
24
|
+
f"This includes ArcGIS Enterprise as part of the {self.manageAppName} and Maximo Spatial bundle (Additional AppPoints required)."
|
|
25
|
+
])
|
|
26
|
+
|
|
27
|
+
if self.yesOrNo("Include IBM Maximo Location Services for Esri"):
|
|
28
|
+
self.setParam("install_arcgis", "true")
|
|
29
|
+
self.setParam("mas_arcgis_channel", self.getParam("mas_app_channel_manage"))
|
|
30
|
+
|
|
31
|
+
self.printDescription([
|
|
32
|
+
"",
|
|
33
|
+
"IBM Maximo Location Services for Esri License Terms",
|
|
34
|
+
"For information about your IBM Maximo Location Services for Esri License visit: ",
|
|
35
|
+
" - <Orange><u>https://ibm.biz/MAXArcGIS90-License</u></Orange>",
|
|
36
|
+
"To continue with the installation, you must accept these additional license terms"
|
|
37
|
+
])
|
|
38
|
+
|
|
39
|
+
if not self.yesOrNo("Do you accept the license terms"):
|
|
40
|
+
exit(1)
|
|
41
|
+
|
|
42
|
+
def manageSettings(self) -> None:
|
|
43
|
+
if self.installManage:
|
|
44
|
+
self.printH1(f"Configure Maximo {self.manageAppName}")
|
|
45
|
+
self.printDescription([f"Customize your {self.manageAppName} installation, refer to the product documentation for more information"])
|
|
46
|
+
|
|
47
|
+
self.manageSettingsComponents()
|
|
48
|
+
self.arcgisSettings()
|
|
49
|
+
|
|
50
|
+
self.manageSettingsServerBundleConfig()
|
|
51
|
+
self.manageSettingsJMS()
|
|
52
|
+
self.manageSettingsDatabase()
|
|
53
|
+
self.manageSettingsCustomizationArchive()
|
|
54
|
+
self.manageSettingsOther()
|
|
55
|
+
|
|
56
|
+
# Default to RWX storage classes, but fall back to RWO in SNO or when user
|
|
57
|
+
# has chosen not to provide a RWX storage class
|
|
58
|
+
storageClass = self.getParam("storage_class_rwx")
|
|
59
|
+
accessMode = "ReadWriteMany"
|
|
60
|
+
if self.isSNO() or self.getParam("storage_class_rwx") == "none":
|
|
61
|
+
storageClass = self.getParam("storage_class_rwo")
|
|
62
|
+
accessMode = "ReadWriteOnce"
|
|
63
|
+
|
|
64
|
+
self.setParam("mas_app_settings_doclinks_pvc_storage_class", storageClass)
|
|
65
|
+
self.setParam("mas_app_settings_bim_pvc_storage_class", storageClass)
|
|
66
|
+
self.setParam("mas_app_settings_jms_queue_pvc_storage_class", storageClass)
|
|
67
|
+
|
|
68
|
+
self.setParam("mas_app_settings_doclinks_pvc_accessmode", accessMode)
|
|
69
|
+
self.setParam("mas_app_settings_bim_pvc_accessmode", accessMode)
|
|
70
|
+
self.setParam("mas_app_settings_jms_queue_pvc_accessmode", accessMode)
|
|
71
|
+
|
|
72
|
+
def manageSettingsComponents(self) -> None:
|
|
73
|
+
# Only ask to install Manage components if this is a full Manage installation
|
|
74
|
+
# If this is a Manage Foundation installation, leave mas_appws_components blank
|
|
75
|
+
if self.isManageFoundation:
|
|
76
|
+
self.params["mas_appws_components"] = ""
|
|
77
|
+
else:
|
|
78
|
+
self.printH2(f"Maximo {self.manageAppName} Components")
|
|
79
|
+
self.printDescription([f"The default configuration will install {self.manageAppName} with Health enabled, alternatively choose exactly what industry solutions and add-ons will be configured"])
|
|
80
|
+
|
|
81
|
+
self.params["mas_appws_components"] = "base=latest,health=latest"
|
|
82
|
+
if self.yesOrNo("Select components to enable"):
|
|
83
|
+
self.params["mas_appws_components"] = "base=latest"
|
|
84
|
+
if self.yesOrNo(" - Asset Configuration Manager"):
|
|
85
|
+
self.params["mas_appws_components"] += ",acm=latest"
|
|
86
|
+
if self.yesOrNo(" - Aviation"):
|
|
87
|
+
self.params["mas_appws_components"] += ",aviation=latest"
|
|
88
|
+
if self.yesOrNo(" - Civil Infrastructure"):
|
|
89
|
+
self.params["mas_appws_components"] += ",civil=latest"
|
|
90
|
+
if self.yesOrNo(" - Envizi"):
|
|
91
|
+
self.params["mas_appws_components"] += ",envizi=latest"
|
|
92
|
+
if self.yesOrNo(" - Health"):
|
|
93
|
+
self.params["mas_appws_components"] += ",health=latest"
|
|
94
|
+
if self.yesOrNo(" - Health, Safety and Environment"):
|
|
95
|
+
self.params["mas_appws_components"] += ",hse=latest"
|
|
96
|
+
if self.yesOrNo(" - Maximo IT"):
|
|
97
|
+
self.params["mas_appws_components"] += ",icd=latest"
|
|
98
|
+
if self.yesOrNo(" - Nuclear"):
|
|
99
|
+
self.params["mas_appws_components"] += ",nuclear=latest"
|
|
100
|
+
if self.yesOrNo(" - Oil & Gas"):
|
|
101
|
+
self.params["mas_appws_components"] += ",oilandgas=latest"
|
|
102
|
+
if self.yesOrNo(" - Connector for Oracle Applications"):
|
|
103
|
+
self.params["mas_appws_components"] += ",oracleadapter=latest"
|
|
104
|
+
if self.yesOrNo(" - Connector for SAP Application"):
|
|
105
|
+
self.params["mas_appws_components"] += ",sapadapter=latest"
|
|
106
|
+
if self.yesOrNo(" - Service Provider"):
|
|
107
|
+
self.params["mas_appws_components"] += ",serviceprovider=latest"
|
|
108
|
+
if self.yesOrNo(" - Spatial"):
|
|
109
|
+
self.params["mas_appws_components"] += ",spatial=latest"
|
|
110
|
+
if self.yesOrNo(" - Strategize"):
|
|
111
|
+
self.params["mas_appws_components"] += ",strategize=latest"
|
|
112
|
+
if self.yesOrNo(" - Transportation"):
|
|
113
|
+
self.params["mas_appws_components"] += ",transportation=latest"
|
|
114
|
+
if self.yesOrNo(" - Tririga"):
|
|
115
|
+
self.params["mas_appws_components"] += ",tririga=latest"
|
|
116
|
+
if self.yesOrNo(" - Utilities"):
|
|
117
|
+
self.params["mas_appws_components"] += ",utilities=latest"
|
|
118
|
+
if self.yesOrNo(" - Workday Applications"):
|
|
119
|
+
self.params["mas_appws_components"] += ",workday=latest"
|
|
120
|
+
logger.debug(f"Generated mas_appws_components = {self.params['mas_appws_components']}")
|
|
121
|
+
|
|
122
|
+
if ",icd=" in self.params["mas_appws_components"]:
|
|
123
|
+
self.printH2("Maximo IT License Terms")
|
|
124
|
+
self.printDescription([
|
|
125
|
+
"For information about your Maximo IT License, see <Orange><u>https://ibm.biz/MAXIT81-License</u></Orange>",
|
|
126
|
+
"To continue with the installation, you must accept these additional license terms"
|
|
127
|
+
])
|
|
128
|
+
|
|
129
|
+
if not self.yesOrNo("Do you accept the license terms"):
|
|
130
|
+
exit(1)
|
|
131
|
+
|
|
132
|
+
def manageSettingsDatabase(self) -> None:
|
|
133
|
+
if self.showAdvancedOptions:
|
|
134
|
+
self.printH2(f"Maximo {self.manageAppName} Settings - Database")
|
|
135
|
+
self.printDescription([f"Customise the schema, tablespace, indexspace, and encryption settings used by {self.manageAppName}"])
|
|
136
|
+
|
|
137
|
+
if self.yesOrNo("Customize database settings"):
|
|
138
|
+
self.promptForString("Schema", "mas_app_settings_db2_schema", default="maximo")
|
|
139
|
+
self.promptForString("Tablespace", "mas_app_settings_tablespace", default="MAXDATA")
|
|
140
|
+
self.promptForString("Indexspace", "mas_app_settings_indexspace", default="MAXINDEX")
|
|
141
|
+
|
|
142
|
+
if self.yesOrNo("Customize database encryption settings"):
|
|
143
|
+
self.promptForString("MXE_SECURITY_CRYPTO_KEY", "mas_app_settings_crypto_key")
|
|
144
|
+
self.promptForString("MXE_SECURITY_CRYPTOX_KEY", "mas_app_settings_cryptox_key")
|
|
145
|
+
self.promptForString("MXE_SECURITY_OLD_CRYPTO_KEY", "mas_app_settings_old_crypto_key")
|
|
146
|
+
self.promptForString("MXE_SECURITY_OLD_CRYPTOX_KEY", "mas_app_settings_old_cryptox_key")
|
|
147
|
+
self.yesOrNo("Override database encryption secrets with provided keys", "mas_app_settings_override_encryption_secrets_flag")
|
|
148
|
+
|
|
149
|
+
def manageSettingsServerBundleConfig(self) -> None:
|
|
150
|
+
if not self.isManageFoundation:
|
|
151
|
+
if self.showAdvancedOptions:
|
|
152
|
+
self.printH2(f"Maximo {self.manageAppName} Settings - Server Bundles")
|
|
153
|
+
self.printDescription([
|
|
154
|
+
f"Define how you want to configure {self.manageAppName} servers:",
|
|
155
|
+
f" - You can have one or multiple {self.manageAppName} servers distributing workload",
|
|
156
|
+
" - Additionally, you can choose to include JMS server for messaging queues",
|
|
157
|
+
"",
|
|
158
|
+
"Configurations:",
|
|
159
|
+
" 1. Deploy the 'all' server pod only (workload is concentrated in just one server pod but consumes less resource)",
|
|
160
|
+
" 2. Deploy the 'all' and 'jms' bundle pods (workload is concentrated in just one server pod and includes jms server)"
|
|
161
|
+
])
|
|
162
|
+
|
|
163
|
+
if not self.isSNO():
|
|
164
|
+
self.printDescription([
|
|
165
|
+
" 3. Deploy the 'mea', 'report', 'ui' and 'cron' bundle pods (workload is distributed across multiple server pods)",
|
|
166
|
+
" 4. Deploy the 'mea', 'report', 'ui', 'cron' and 'jms' bundle pods (workload is distributed across multiple server pods and includes jms server)"
|
|
167
|
+
])
|
|
168
|
+
|
|
169
|
+
manageServerBundleSelection = self.promptForString("Select a server bundle configuration")
|
|
170
|
+
|
|
171
|
+
if manageServerBundleSelection == "1":
|
|
172
|
+
self.setParam("mas_app_settings_server_bundles_size", "dev")
|
|
173
|
+
elif manageServerBundleSelection == "2":
|
|
174
|
+
self.setParam("mas_app_settings_server_bundles_size", "snojms")
|
|
175
|
+
self.setParam("mas_app_settings_persistent_volumes_flag", "true")
|
|
176
|
+
elif manageServerBundleSelection == "3":
|
|
177
|
+
self.setParam("mas_app_settings_server_bundles_size", "small")
|
|
178
|
+
elif manageServerBundleSelection == "4":
|
|
179
|
+
self.setParam("mas_app_settings_server_bundles_size", "jms")
|
|
180
|
+
self.setParam("mas_app_settings_persistent_volumes_flag", "true")
|
|
181
|
+
else:
|
|
182
|
+
self.fatalError("Invalid selection")
|
|
183
|
+
else:
|
|
184
|
+
self.setParam("mas_app_settings_server_bundles_size", "dev")
|
|
185
|
+
|
|
186
|
+
def manageSettingsJMS(self) -> None:
|
|
187
|
+
if self.getParam("mas_app_settings_server_bundles_size") in ["jms", "snojms"]:
|
|
188
|
+
self.printDescription([
|
|
189
|
+
f"Only {self.manageAppName} JMS sequential queues (sqin and sqout) are enabled by default.",
|
|
190
|
+
"However, you can enable both sequential (sqin and sqout) and continuous queues (cqin and cqout)"
|
|
191
|
+
])
|
|
192
|
+
|
|
193
|
+
self.yesOrNo(f"Enable both {self.manageAppName} JMS sequential and continuous queues", "mas_app_settings_default_jms")
|
|
194
|
+
|
|
195
|
+
def manageSettingsCustomizationArchive(self) -> None:
|
|
196
|
+
# Only ask about customization archive in full Manage installation
|
|
197
|
+
if not self.isManageFoundation:
|
|
198
|
+
self.printH2(f"Maximo {self.manageAppName} Settings - Customization")
|
|
199
|
+
self.printDescription([
|
|
200
|
+
f"Provide a customization archive to be used in the {self.manageAppName} build process"
|
|
201
|
+
])
|
|
202
|
+
|
|
203
|
+
if self.yesOrNo("Include customization archive"):
|
|
204
|
+
self.promptForString("Customization archive name", "mas_app_settings_customization_archive_name")
|
|
205
|
+
self.promptForString("Customization archive path/url", "mas_app_settings_customization_archive_url")
|
|
206
|
+
if self.yesOrNo("Provide authentication to access customization archive URL"):
|
|
207
|
+
self.promptForString("Username", "mas_app_settings_customization_archive_username")
|
|
208
|
+
self.promptForString("Password", "mas_app_settings_customization_archive_password", isPassword=True)
|
|
209
|
+
|
|
210
|
+
def manageSettingsDemodata(self) -> None:
|
|
211
|
+
self.yesOrNo("Create demo data", "mas_app_settings_demodata")
|
|
212
|
+
|
|
213
|
+
def manageSettingsTimezone(self) -> None:
|
|
214
|
+
self.promptForString(f"{self.manageAppName} server timezone", "mas_app_settings_server_timezone", default="GMT")
|
|
215
|
+
# Set Manage dedicated Db2 instance timezone to be same as Manage server timezone
|
|
216
|
+
self.setParam("db2_timezone", self.getParam("mas_app_settings_server_timezone"))
|
|
217
|
+
|
|
218
|
+
def manageSettingsLanguages(self) -> None:
|
|
219
|
+
self.printH2(f"Maximo {self.manageAppName} Settings - Languages")
|
|
220
|
+
self.printDescription([
|
|
221
|
+
f"Define the base language for Maximo {self.manageAppName}"
|
|
222
|
+
])
|
|
223
|
+
self.promptForString("Base language", "mas_app_settings_base_lang", default="EN")
|
|
224
|
+
|
|
225
|
+
self.printDescription([
|
|
226
|
+
f"Define the additional languages to be configured in Maximo {self.manageAppName}. provide a comma-separated list of supported languages codes, for example: 'JA,DE,AR'",
|
|
227
|
+
"A complete list of available language codes is available online:",
|
|
228
|
+
" <Orange><u>https://www.ibm.com/docs/en/mas-cd/mhmpmh-and-p-u/continuous-delivery?topic=deploy-language-support</u></Orange>"
|
|
229
|
+
])
|
|
230
|
+
|
|
231
|
+
self.promptForString("Secondary languages", "mas_app_settings_secondary_langs")
|
|
232
|
+
|
|
233
|
+
def manageSettingsCP4D(self) -> None:
|
|
234
|
+
if self.getParam("mas_app_channel_manage") in ["8.7.x", "9.0.x"] and self.showAdvancedOptions:
|
|
235
|
+
self.printDescription([
|
|
236
|
+
f"Integration with Cognos Analytics provides additional support for reporting features in Maximo {self.manageAppName}, for more information refer to the documentation online: ",
|
|
237
|
+
" - <Orange><u>https://ibm.biz/BdMuxs</u></Orange>"
|
|
238
|
+
])
|
|
239
|
+
self.yesOrNo("Enable integration with Cognos Analytics", "cpd_install_cognos")
|
|
240
|
+
self.yesOrNo("Enable integration with Watson Studio Local", "mas_appws_bindings_health_flag")
|
|
241
|
+
|
|
242
|
+
if self.getParam("cpd_install_cognos") == "true" or self.getParam("mas_appws_bindings_health_flag") == "true":
|
|
243
|
+
self.configCP4D()
|
|
244
|
+
|
|
245
|
+
def manageSettingsOther(self) -> None:
|
|
246
|
+
self.printH2(f"Maximo {self.manageAppName} Settings - Other")
|
|
247
|
+
if self.isManageFoundation:
|
|
248
|
+
self.printDescription([
|
|
249
|
+
"Configure additional settings:",
|
|
250
|
+
" - Base and additional languages",
|
|
251
|
+
" - Server timezone"
|
|
252
|
+
])
|
|
253
|
+
if self.yesOrNo("Configure Additional Settings"):
|
|
254
|
+
self.manageSettingsTimezone()
|
|
255
|
+
self.manageSettingsLanguages()
|
|
256
|
+
else:
|
|
257
|
+
self.printDescription([
|
|
258
|
+
"Configure additional settings:",
|
|
259
|
+
" - Demo data",
|
|
260
|
+
" - Base and additional languages",
|
|
261
|
+
" - Server timezone",
|
|
262
|
+
" - Cognos integration (install Cloud Pak for Data)",
|
|
263
|
+
" - Watson Studio Local integration (install Cloud Pak for Data)"
|
|
264
|
+
])
|
|
265
|
+
if self.yesOrNo("Configure Additional Settings"):
|
|
266
|
+
self.manageSettingsDemodata()
|
|
267
|
+
self.manageSettingsTimezone()
|
|
268
|
+
self.manageSettingsLanguages()
|
|
269
|
+
self.manageSettingsCP4D()
|
|
270
|
+
|
|
271
|
+
def aibrokerSettings(self) -> None:
|
|
272
|
+
if self.installAiBroker:
|
|
273
|
+
self.printH2("Maximo AI Broker Settings - Storage, WatsonX, MariaDB details")
|
|
274
|
+
self.printDescription(["Customise AI Broker details"])
|
|
275
|
+
self.promptForString("Storage provider", "mas_aibroker_storage_provider")
|
|
276
|
+
self.promptForString("Storage access key", "mas_aibroker_storage_accesskey")
|
|
277
|
+
self.promptForString("Storage secret key", "mas_aibroker_storage_secretkey")
|
|
278
|
+
self.promptForString("Storage host", "mas_aibroker_storage_host")
|
|
279
|
+
self.promptForString("Storage port", "mas_aibroker_storage_port")
|
|
280
|
+
self.promptForString("Storage ssl", "mas_aibroker_storage_ssl")
|
|
281
|
+
self.promptForString("Storage region", "mas_aibroker_storage_region")
|
|
282
|
+
self.promptForString("Storage pipelines bucket", "mas_aibroker_storage_pipelines_bucket")
|
|
283
|
+
self.promptForString("Storage tenants bucket", "mas_aibroker_storage_tenants_bucket")
|
|
284
|
+
self.promptForString("Storage templates bucket", "mas_aibroker_storage_templates_bucket")
|
|
285
|
+
|
|
286
|
+
self.promptForString("Watsonxai api key", "mas_aibroker_watsonxai_apikey")
|
|
287
|
+
self.promptForString("Watsonxai machine learning url", "mas_aibroker_watsonxai_url")
|
|
288
|
+
self.promptForString("Watsonxai project id", "mas_aibroker_watsonxai_project_id")
|
|
289
|
+
|
|
290
|
+
self.promptForString("Database host", "mas_aibroker_db_host")
|
|
291
|
+
self.promptForString("Database port", "mas_aibroker_db_port")
|
|
292
|
+
self.promptForString("Database user", "mas_aibroker_db_user")
|
|
293
|
+
self.promptForString("Database name", "mas_aibroker_db_database")
|
|
294
|
+
self.promptForString("Database Secretname", "mas_aibroker_db_secret_name")
|
|
295
|
+
self.promptForString("Database password", "mas_aibroker_db_secret_value")
|
|
@@ -178,39 +178,39 @@ class InstallSummarizerMixin():
|
|
|
178
178
|
|
|
179
179
|
def manageSummary(self) -> None:
|
|
180
180
|
if self.installManage:
|
|
181
|
-
self.printSummary("Manage", self.params["mas_app_channel_manage"])
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
181
|
+
self.printSummary(f"{'Manage foundation' if self.getParam('is_full_manage') == 'false' else 'Manage'}", self.params["mas_app_channel_manage"])
|
|
182
|
+
if self.getParam("is_full_manage") != "false":
|
|
183
|
+
print_formatted_text(HTML(" <SkyBlue>+ Components</SkyBlue>"))
|
|
184
|
+
self.printSummary(" + ACM", "Enabled" if "acm=" in self.getParam("mas_appws_components") else "Disabled")
|
|
185
|
+
self.printSummary(" + Aviation", "Enabled" if "aviation=" in self.getParam("mas_appws_components") else "Disabled")
|
|
186
|
+
self.printSummary(" + Civil Infrastructure", "Enabled" if "civil=" in self.getParam("mas_appws_components") else "Disabled")
|
|
187
|
+
self.printSummary(" + Envizi", "Enabled" if "envizi=" in self.getParam("mas_appws_components") else "Disabled")
|
|
188
|
+
self.printSummary(" + Health", "Enabled" if "health=" in self.getParam("mas_appws_components") else "Disabled")
|
|
189
|
+
self.printSummary(" + HSE", "Enabled" if "hse=" in self.getParam("mas_appws_components") else "Disabled")
|
|
190
|
+
self.printSummary(" + Maximo IT", "Enabled" if "icd=" in self.getParam("mas_appws_components") else "Disabled")
|
|
191
|
+
self.printSummary(" + Nuclear", "Enabled" if "nuclear=" in self.getParam("mas_appws_components") else "Disabled")
|
|
192
|
+
self.printSummary(" + Oil & Gas", "Enabled" if "oilandgas=" in self.getParam("mas_appws_components") else "Disabled")
|
|
193
|
+
self.printSummary(" + Connector for Oracle", "Enabled" if "oracleadapter=" in self.getParam("mas_appws_components") else "Disabled")
|
|
194
|
+
self.printSummary(" + Connector for SAP", "Enabled" if "sapadapter=" in self.getParam("mas_appws_components") else "Disabled")
|
|
195
|
+
self.printSummary(" + Service Provider", "Enabled" if "serviceprovider=" in self.getParam("mas_appws_components") else "Disabled")
|
|
196
|
+
self.printSummary(" + Spatial", "Enabled" if "spatial=" in self.getParam("mas_appws_components") else "Disabled")
|
|
197
|
+
self.printSummary(" + Strategize", "Enabled" if "strategize=" in self.getParam("mas_appws_components") else "Disabled")
|
|
198
|
+
self.printSummary(" + Transportation", "Enabled" if "transportation=" in self.getParam("mas_appws_components") else "Disabled")
|
|
199
|
+
self.printSummary(" + Tririga", "Enabled" if "tririga=" in self.getParam("mas_appws_components") else "Disabled")
|
|
200
|
+
self.printSummary(" + Utilities", "Enabled" if "utilities=" in self.getParam("mas_appws_components") else "Disabled")
|
|
201
|
+
self.printSummary(" + Workday Applications", "Enabled" if "workday=" in self.getParam("mas_appws_components") else "Disabled")
|
|
202
|
+
|
|
203
|
+
self.printParamSummary("+ Server bundle size", "mas_app_settings_server_bundles_size")
|
|
204
|
+
self.printParamSummary("+ Enable JMS queues", "mas_app_settings_default_jms")
|
|
205
|
+
self.printParamSummary("+ Server Timezone", "mas_app_settings_server_timezone")
|
|
206
|
+
self.printParamSummary("+ Base Language", "mas_app_settings_base_lang")
|
|
207
|
+
self.printParamSummary("+ Additional Languages", "mas_app_settings_secondary_langs")
|
|
208
|
+
|
|
209
|
+
print_formatted_text(HTML(" <SkyBlue>+ Database Settings</SkyBlue>"))
|
|
210
|
+
self.printParamSummary(" + Schema", "mas_app_settings_indexspace")
|
|
211
|
+
self.printParamSummary(" + Username", "mas_app_settings_db2_schema")
|
|
212
|
+
self.printParamSummary(" + Tablespace", "mas_app_settings_tablespace")
|
|
213
|
+
self.printParamSummary(" + Indexspace", "mas_app_settings_indexspace")
|
|
214
214
|
else:
|
|
215
215
|
self.printSummary("Manage", "Do Not Install")
|
|
216
216
|
|