mas-cli 12.0.0__py3-none-any.whl → 12.27.0__py3-none-any.whl
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/__init__.py +1 -1
- mas/cli/aiservice/install/__init__.py +11 -0
- mas/cli/aiservice/install/app.py +810 -0
- mas/cli/aiservice/install/argBuilder.py +232 -0
- mas/cli/aiservice/install/argParser.py +742 -0
- mas/cli/aiservice/install/params.py +120 -0
- mas/cli/aiservice/install/summarizer.py +193 -0
- mas/cli/cli.py +36 -9
- mas/cli/gencfg.py +23 -0
- mas/cli/install/app.py +295 -85
- mas/cli/install/argBuilder.py +92 -14
- mas/cli/install/argParser.py +200 -147
- mas/cli/install/catalogs.py +11 -6
- mas/cli/install/params.py +32 -6
- mas/cli/install/settings/additionalConfigs.py +18 -1
- mas/cli/install/settings/db2Settings.py +121 -72
- mas/cli/install/settings/kafkaSettings.py +2 -2
- mas/cli/install/settings/manageSettings.py +154 -159
- mas/cli/install/settings/mongodbSettings.py +1 -1
- mas/cli/install/settings/turbonomicSettings.py +1 -3
- mas/cli/install/summarizer.py +85 -68
- mas/cli/templates/facilities-configs.yml.j2 +25 -0
- mas/cli/templates/ibm-mas-tekton.yaml +16683 -7870
- mas/cli/update/app.py +43 -9
- mas/cli/upgrade/app.py +52 -20
- mas/cli/upgrade/argParser.py +7 -0
- mas/cli/upgrade/settings/__init__.py +19 -0
- mas/cli/validators.py +13 -0
- {mas_cli-12.0.0.data → mas_cli-12.27.0.data}/scripts/mas-cli +5 -1
- {mas_cli-12.0.0.dist-info → mas_cli-12.27.0.dist-info}/METADATA +12 -3
- {mas_cli-12.0.0.dist-info → mas_cli-12.27.0.dist-info}/RECORD +33 -25
- {mas_cli-12.0.0.dist-info → mas_cli-12.27.0.dist-info}/WHEEL +1 -1
- {mas_cli-12.0.0.dist-info → mas_cli-12.27.0.dist-info}/top_level.txt +0 -0
mas/cli/install/summarizer.py
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
import logging
|
|
12
12
|
import yaml
|
|
13
13
|
from prompt_toolkit import print_formatted_text, HTML
|
|
14
|
-
from mas.devops.mas import isAirgapInstall
|
|
15
14
|
from mas.devops.ocp import getConsoleURL
|
|
16
15
|
|
|
17
16
|
logger = logging.getLogger(__name__)
|
|
@@ -19,6 +18,11 @@ logger = logging.getLogger(__name__)
|
|
|
19
18
|
|
|
20
19
|
class InstallSummarizerMixin():
|
|
21
20
|
def ocpSummary(self) -> None:
|
|
21
|
+
self.printH2("Pipeline Configuration")
|
|
22
|
+
self.printParamSummary("Service Account", "service_account_name")
|
|
23
|
+
self.printParamSummary("Image Pull Policy", "image_pull_policy")
|
|
24
|
+
self.printSummary("Skip Pre-Install Healthcheck", "Yes" if self.getParam('skip_pre_check') == "true" else "No")
|
|
25
|
+
|
|
22
26
|
self.printH2("OpenShift Container Platform")
|
|
23
27
|
self.printSummary("Worker Node Architecture", self.architecture)
|
|
24
28
|
self.printSummary("Storage Class Provider", self.storageClassProvider)
|
|
@@ -33,9 +37,6 @@ class InstallSummarizerMixin():
|
|
|
33
37
|
else:
|
|
34
38
|
self.printSummary("Single Node OpenShift", "No")
|
|
35
39
|
|
|
36
|
-
self.printSummary("Skip Pre-Install Healthcheck", "Yes" if self.getParam('skip_pre_check') == "true" else "No")
|
|
37
|
-
self.printSummary("Skip Grafana-Install", "Yes" if self.getParam('grafana_action') == "none" else "No")
|
|
38
|
-
|
|
39
40
|
def masSummary(self) -> None:
|
|
40
41
|
operationalModeNames = ["", "Production", "Non-Production"]
|
|
41
42
|
|
|
@@ -46,7 +47,7 @@ class InstallSummarizerMixin():
|
|
|
46
47
|
|
|
47
48
|
print()
|
|
48
49
|
self.printSummary("Operational Mode", operationalModeNames[self.operationalMode])
|
|
49
|
-
if
|
|
50
|
+
if self.isAirgap():
|
|
50
51
|
self.printSummary("Install Mode", "Disconnected Install")
|
|
51
52
|
else:
|
|
52
53
|
self.printSummary("Install Mode", "Connected Install")
|
|
@@ -69,6 +70,9 @@ class InstallSummarizerMixin():
|
|
|
69
70
|
elif self.getParam('dns_provider') == "":
|
|
70
71
|
pass
|
|
71
72
|
|
|
73
|
+
print()
|
|
74
|
+
self.printParamSummary("Configure Suite to run in IPV6", "enable_ipv6")
|
|
75
|
+
|
|
72
76
|
if self.getParam("mas_manual_cert_mgmt") != "":
|
|
73
77
|
print()
|
|
74
78
|
self.printSummary("Manual Certificates", self.manualCertsDir)
|
|
@@ -149,70 +153,69 @@ class InstallSummarizerMixin():
|
|
|
149
153
|
else:
|
|
150
154
|
self.printSummary("Visual Inspection", "Do Not Install")
|
|
151
155
|
|
|
152
|
-
def aibrokerSummary(self) -> None:
|
|
153
|
-
if self.installAiBroker:
|
|
154
|
-
self.printSummary("AI Broker", self.params["mas_app_channel_aibroker"])
|
|
155
|
-
print_formatted_text(HTML(" <SkyBlue>+ Maximo AI Broker Settings</SkyBlue>"))
|
|
156
|
-
self.printParamSummary(" + Storage provider", "mas_aibroker_storage_provider")
|
|
157
|
-
self.printParamSummary(" + Storage access key", "mas_aibroker_storage_accesskey")
|
|
158
|
-
self.printParamSummary(" + Storage secret key", "mas_aibroker_storage_secretkey")
|
|
159
|
-
self.printParamSummary(" + Storage host", "mas_aibroker_storage_host")
|
|
160
|
-
self.printParamSummary(" + Storage port", "mas_aibroker_storage_port")
|
|
161
|
-
self.printParamSummary(" + Storage ssl", "mas_aibroker_storage_ssl")
|
|
162
|
-
self.printParamSummary(" + Storage region", "mas_aibroker_storage_region")
|
|
163
|
-
self.printParamSummary(" + Storage pipelines bucket", "mas_aibroker_storage_pipelines_bucket")
|
|
164
|
-
self.printParamSummary(" + Storage tenants bucket", "mas_aibroker_storage_tenants_bucket")
|
|
165
|
-
self.printParamSummary(" + Storage templates bucket", "mas_aibroker_storage_templates_bucket")
|
|
166
|
-
self.printParamSummary(" + Watsonxai api key", "mas_aibroker_watsonxai_apikey")
|
|
167
|
-
self.printParamSummary(" + Watsonxai machine learning url", "mas_aibroker_watsonxai_url")
|
|
168
|
-
self.printParamSummary(" + Watsonxai project id", "mas_aibroker_watsonxai_project_id")
|
|
169
|
-
self.printParamSummary(" + Database host", "mas_aibroker_db_host")
|
|
170
|
-
self.printParamSummary(" + Database port", "mas_aibroker_db_port")
|
|
171
|
-
self.printParamSummary(" + Database user", "mas_aibroker_db_user")
|
|
172
|
-
self.printParamSummary(" + Database name", "mas_aibroker_db_database")
|
|
173
|
-
self.printParamSummary(" + Database Secretname", "mas_aibroker_db_secret_name")
|
|
174
|
-
self.printParamSummary(" + Database password", "mas_aibroker_db_secret_value")
|
|
175
|
-
else:
|
|
176
|
-
self.printSummary("AI Broker", "Do Not Install")
|
|
177
|
-
|
|
178
156
|
def manageSummary(self) -> None:
|
|
179
157
|
if self.installManage:
|
|
180
|
-
self.printSummary("Manage", self.params["mas_app_channel_manage"])
|
|
181
|
-
|
|
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
|
-
|
|
158
|
+
self.printSummary(f"{'Manage foundation' if self.getParam('is_full_manage') == 'false' else 'Manage'}", self.params["mas_app_channel_manage"])
|
|
159
|
+
if self.getParam("is_full_manage") != "false":
|
|
160
|
+
print_formatted_text(HTML(" <SkyBlue>+ Components</SkyBlue>"))
|
|
161
|
+
self.printSummary(" + ACM", "Enabled" if "acm=" in self.getParam("mas_appws_components") else "Disabled")
|
|
162
|
+
self.printSummary(" + Aviation", "Enabled" if "aviation=" in self.getParam("mas_appws_components") else "Disabled")
|
|
163
|
+
self.printSummary(" + Civil Infrastructure", "Enabled" if "civil=" in self.getParam("mas_appws_components") else "Disabled")
|
|
164
|
+
self.printSummary(" + Envizi", "Enabled" if "envizi=" in self.getParam("mas_appws_components") else "Disabled")
|
|
165
|
+
self.printSummary(" + Health", "Enabled" if "health=" in self.getParam("mas_appws_components") else "Disabled")
|
|
166
|
+
self.printSummary(" + HSE", "Enabled" if "hse=" in self.getParam("mas_appws_components") else "Disabled")
|
|
167
|
+
self.printSummary(" + Maximo IT", "Enabled" if "icd=" in self.getParam("mas_appws_components") else "Disabled")
|
|
168
|
+
self.printSummary(" + Nuclear", "Enabled" if "nuclear=" in self.getParam("mas_appws_components") else "Disabled")
|
|
169
|
+
self.printSummary(" + Oil & Gas", "Enabled" if "oilandgas=" in self.getParam("mas_appws_components") else "Disabled")
|
|
170
|
+
self.printSummary(" + Connector for Oracle", "Enabled" if "oracleadapter=" in self.getParam("mas_appws_components") else "Disabled")
|
|
171
|
+
self.printSummary(" + Connector for SAP", "Enabled" if "sapadapter=" in self.getParam("mas_appws_components") else "Disabled")
|
|
172
|
+
self.printSummary(" + Service Provider", "Enabled" if "serviceprovider=" in self.getParam("mas_appws_components") else "Disabled")
|
|
173
|
+
self.printSummary(" + Spatial", "Enabled" if "spatial=" in self.getParam("mas_appws_components") else "Disabled")
|
|
174
|
+
self.printSummary(" + Strategize", "Enabled" if "strategize=" in self.getParam("mas_appws_components") else "Disabled")
|
|
175
|
+
self.printSummary(" + Transportation", "Enabled" if "transportation=" in self.getParam("mas_appws_components") else "Disabled")
|
|
176
|
+
self.printSummary(" + Tririga", "Enabled" if "tririga=" in self.getParam("mas_appws_components") else "Disabled")
|
|
177
|
+
self.printSummary(" + Utilities", "Enabled" if "utilities=" in self.getParam("mas_appws_components") else "Disabled")
|
|
178
|
+
self.printSummary(" + Workday Applications", "Enabled" if "workday=" in self.getParam("mas_appws_components") else "Disabled")
|
|
179
|
+
self.printSummary(" + AIP", "Enabled" if "aip=" in self.getParam("mas_appws_components") else "Disabled")
|
|
180
|
+
|
|
181
|
+
self.printParamSummary("+ Server bundle size", "mas_app_settings_server_bundles_size")
|
|
182
|
+
self.printParamSummary("+ Enable JMS queues", "mas_app_settings_default_jms")
|
|
183
|
+
self.printParamSummary("+ Server Timezone", "mas_app_settings_server_timezone")
|
|
184
|
+
self.printParamSummary("+ Base Language", "mas_app_settings_base_lang")
|
|
185
|
+
self.printParamSummary("+ Additional Languages", "mas_app_settings_secondary_langs")
|
|
186
|
+
|
|
187
|
+
print_formatted_text(HTML(" <SkyBlue>+ Database Settings</SkyBlue>"))
|
|
188
|
+
self.printParamSummary(" + Schema", "mas_app_settings_indexspace")
|
|
189
|
+
self.printParamSummary(" + Username", "mas_app_settings_db2_schema")
|
|
190
|
+
self.printParamSummary(" + Tablespace", "mas_app_settings_tablespace")
|
|
191
|
+
self.printParamSummary(" + Indexspace", "mas_app_settings_indexspace")
|
|
213
192
|
else:
|
|
214
193
|
self.printSummary("Manage", "Do Not Install")
|
|
215
194
|
|
|
195
|
+
def facilitiesSummary(self) -> None:
|
|
196
|
+
# TODO: Fix type for storage sizes and max conn pool size
|
|
197
|
+
if self.installFacilities:
|
|
198
|
+
self.printSummary("Facilities", self.params["mas_app_channel_facilities"])
|
|
199
|
+
print_formatted_text(HTML(" <SkyBlue>+ Maximo Real Estate and Facilities Settings</SkyBlue>"))
|
|
200
|
+
self.printParamSummary(" + Size", "mas_ws_facilities_size")
|
|
201
|
+
self.printParamSummary(" + Routes Timeout", "mas_ws_facilities_routes_timeout")
|
|
202
|
+
self.printParamSummary(" + XML Extension", "mas_ws_facilities_liberty_extension_XML")
|
|
203
|
+
self.printParamSummary(" + AES vault secret name", "mas_ws_facilities_vault_secret")
|
|
204
|
+
# self.printParamSummary(" + Dedicated Workflow Agents", "mas_ws_facilities_dwfagents")
|
|
205
|
+
# self.printParamSummary(" + Maximum pool size connection ", "mas_ws_facilities_db_maxconnpoolsize")
|
|
206
|
+
self.printParamSummary(" + Log Storage Class ", "mas_ws_facilities_storage_log_class")
|
|
207
|
+
self.printParamSummary(" + Log Storage Mode", "mas_ws_facilities_storage_log_mode")
|
|
208
|
+
# self.printParamSummary(" + Log Storage Size", "mas_ws_facilities_storage_log_size")
|
|
209
|
+
self.printParamSummary(" + Userfiles Storage Class ", "mas_ws_facilities_storage_userfiles_class")
|
|
210
|
+
self.printParamSummary(" + User files Storage Mode", "mas_ws_facilities_storage_userfiles_mode")
|
|
211
|
+
# self.printParamSummary(" + User files Storage Size", "mas_ws_facilities_storage_userfiles_size")
|
|
212
|
+
if self.getParam("db2_action_facilities") == 'none':
|
|
213
|
+
self.printParamSummary(" + Dedicated DB2 Database", "No")
|
|
214
|
+
else:
|
|
215
|
+
self.printParamSummary(" + Dedicated DB2 Database", "db2_action_facilities")
|
|
216
|
+
else:
|
|
217
|
+
self.printSummary("Facilities", "Do Not Install")
|
|
218
|
+
|
|
216
219
|
def db2Summary(self) -> None:
|
|
217
220
|
if self.getParam("db2_action_system") == "install" or self.getParam("db2_action_manage") == "install":
|
|
218
221
|
self.printH2("IBM Db2 Univeral Operator Configuration")
|
|
@@ -253,7 +256,11 @@ class InstallSummarizerMixin():
|
|
|
253
256
|
self.printSummary("Watson Studio Local", "Install (Required by Maximo Predict)")
|
|
254
257
|
self.printSummary("Watson Machine Learning", "Install (Required by Maximo Predict)")
|
|
255
258
|
self.printSummary("Analytics Engine", "Install (Required by Maximo Predict)")
|
|
256
|
-
|
|
259
|
+
else:
|
|
260
|
+
self.printSummary("Watson Studio Local", "Install" if self.getParam("cpd_install_ws") == "true" else "Do Not Install")
|
|
261
|
+
self.printSummary("Watson Machine Learning", "Install" if self.getParam("cpd_install_wml") == "true" else "Do Not Install")
|
|
262
|
+
self.printSummary("Analytics Engine", "Install" if self.getParam("cpd_install_ae") == "true" else "Do Not Install")
|
|
263
|
+
|
|
257
264
|
self.printSummary("SPSS Modeler", "Install" if self.getParam("cpd_install_spss") == "true" else "Do Not Install")
|
|
258
265
|
self.printSummary("Cognos Analytics", "Install" if self.getParam("cpd_install_cognos") == "true" else "Do Not Install")
|
|
259
266
|
|
|
@@ -266,9 +273,12 @@ class InstallSummarizerMixin():
|
|
|
266
273
|
|
|
267
274
|
def slsSummary(self) -> None:
|
|
268
275
|
self.printH2("IBM Suite License Service")
|
|
269
|
-
self.printSummary("License File", self.slsLicenseFileLocal)
|
|
270
|
-
self.printParamSummary("IBM Open Registry", "sls_icr_cpopen")
|
|
271
276
|
self.printParamSummary("Namespace", "sls_namespace")
|
|
277
|
+
if self.getParam("sls_action") == "install":
|
|
278
|
+
self.printSummary("Subscription Channel", "3.x")
|
|
279
|
+
self.printParamSummary("IBM Open Registry", "sls_icr_cpopen")
|
|
280
|
+
if self.slsLicenseFileLocal:
|
|
281
|
+
self.printSummary("License File", self.slsLicenseFileLocal)
|
|
272
282
|
|
|
273
283
|
def cosSummary(self) -> None:
|
|
274
284
|
self.printH2("Cloud Object Storage")
|
|
@@ -342,6 +352,10 @@ class InstallSummarizerMixin():
|
|
|
342
352
|
self.printH2("Grafana")
|
|
343
353
|
self.printSummary("Install Grafana", "Install" if self.getParam("grafana_action") == "install" else "Do Not Install")
|
|
344
354
|
|
|
355
|
+
def installSummary(self) -> None:
|
|
356
|
+
self.printH2("Install Process")
|
|
357
|
+
self.printSummary("Wait for PVCs to bind", "No" if self.getParam("no_wait_for_pvc") else "Yes")
|
|
358
|
+
|
|
345
359
|
def displayInstallSummary(self) -> None:
|
|
346
360
|
self.printH1("Review Settings")
|
|
347
361
|
self.printDescription([
|
|
@@ -367,7 +381,7 @@ class InstallSummarizerMixin():
|
|
|
367
381
|
self.optimizerSummary()
|
|
368
382
|
self.assistSummary()
|
|
369
383
|
self.inspectionSummary()
|
|
370
|
-
self.
|
|
384
|
+
self.facilitiesSummary()
|
|
371
385
|
|
|
372
386
|
# Application Dependencies
|
|
373
387
|
self.mongoSummary()
|
|
@@ -377,3 +391,6 @@ class InstallSummarizerMixin():
|
|
|
377
391
|
self.cp4dSummary()
|
|
378
392
|
self.grafanaSummary()
|
|
379
393
|
self.turbonomicSummary()
|
|
394
|
+
|
|
395
|
+
# Install options
|
|
396
|
+
self.installSummary()
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
apiVersion: v1
|
|
2
|
+
kind: ConfigMap
|
|
3
|
+
metadata:
|
|
4
|
+
name: facilities-config
|
|
5
|
+
namespace: mas-{{ mas_instance_id }}-pipelines
|
|
6
|
+
data:
|
|
7
|
+
mas_ws_facilities_storage_log_size: |
|
|
8
|
+
{{ mas_ws_facilities_storage_log_size }}
|
|
9
|
+
mas_ws_facilities_storage_userfiles_size: |
|
|
10
|
+
{{ mas_ws_facilities_storage_userfiles_size }}
|
|
11
|
+
mas_ws_facilities_db_maxconnpoolsize: |
|
|
12
|
+
{{ mas_ws_facilities_db_maxconnpoolsize }}
|
|
13
|
+
mas_ws_facilities_dwfagents: |
|
|
14
|
+
{%- if mas_ws_facilities_dwfagents is defined and mas_ws_facilities_dwfagents != '' %}
|
|
15
|
+
{%- for agent in mas_ws_facilities_dwfagents %}
|
|
16
|
+
- name: "{{ agent.name }}"
|
|
17
|
+
members:
|
|
18
|
+
{%- for member in agent.members %}
|
|
19
|
+
- name: "{{ member.name }}"
|
|
20
|
+
class: "{{ member.class }}"
|
|
21
|
+
{%- endfor %}
|
|
22
|
+
{%- endfor %}
|
|
23
|
+
{%- else %}
|
|
24
|
+
[]
|
|
25
|
+
{% endif %}
|