mas-cli 13.25.0__tar.gz → 13.26.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.25.0 → mas_cli-13.26.0}/PKG-INFO +1 -1
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/__init__.py +1 -1
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/cli.py +15 -3
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/gencfg.py +23 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/app.py +32 -12
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/argBuilder.py +8 -8
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/argParser.py +26 -25
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/catalogs.py +3 -2
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/params.py +4 -4
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/settings/db2Settings.py +4 -2
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/settings/manageSettings.py +3 -1
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/summarizer.py +1 -0
- mas_cli-13.26.0/src/mas/cli/templates/facilities-configs.yml.j2 +25 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/ibm-mas-tekton.yaml +361 -174
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/update/app.py +6 -4
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/validators.py +13 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas_cli.egg-info/PKG-INFO +1 -1
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas_cli.egg-info/SOURCES.txt +1 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/MANIFEST.in +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/README.rst +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/pyproject.toml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/setup.cfg +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/setup.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/displayMixins.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/__init__.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/settings/__init__.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/settings/additionalConfigs.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/settings/kafkaSettings.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/settings/mongodbSettings.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/install/settings/turbonomicSettings.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/jdbccfg.yml.j2 +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-data-dictionary-assetdatadictionary.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-bascfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-coreidp.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-actions.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-auth.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-datapower.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-devops.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dm.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dsc.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-edgeconfig.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-fpl.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-guardian.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-iot.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mbgx.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mfgx.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-monitor.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-orgmgmt.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-provision.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-registry.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-state.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-webui.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextaccelerator.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextworkspace.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-imagestitching.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageaccelerators.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageapp.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageworkspace.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-slackproxy.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-pushnotificationcfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-scimcfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-slscfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-smtpcfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-suite.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-visualinspection.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-sls-licenseservice.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-data-dictionary-assetdatadictionary.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-bascfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-coreidp.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-actions.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-auth.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-datapower.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-devops.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dm.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dsc.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-edgeconfig.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-fpl.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-guardian.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-iot.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mbgx.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mfgx.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-monitor.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-orgmgmt.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-provision.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-registry.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-state.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-webui.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextaccelerator.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextworkspace.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-imagestitching.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageaccelerators.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageapp.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageworkspace.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-slackproxy.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-pushnotificationcfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-scimcfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-slscfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-smtpcfg.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-suite.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-visualinspection.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-sls-licenseservice.yml +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/templates/suite_mongocfg.yml.j2 +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/uninstall/__init__.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/uninstall/app.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/uninstall/argParser.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/update/__init__.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/update/argParser.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/upgrade/__init__.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/upgrade/app.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/upgrade/argParser.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas/cli/upgrade/settings/__init__.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas-cli +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas_cli.egg-info/dependency_links.txt +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas_cli.egg-info/requires.txt +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/src/mas_cli.egg-info/top_level.txt +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.0}/test/test_help.py +0 -0
- {mas_cli-13.25.0 → mas_cli-13.26.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.26.0"
|
|
121
121
|
self.h1count = 0
|
|
122
122
|
self.h2count = 0
|
|
123
123
|
|
|
@@ -146,7 +146,16 @@ class BaseApp(PrintMixin, PromptMixin):
|
|
|
146
146
|
|
|
147
147
|
self.compatibilityMatrix = {
|
|
148
148
|
"9.1.x": {
|
|
149
|
-
"facilities": ["9.1.x"]
|
|
149
|
+
"facilities": ["9.1.x"],
|
|
150
|
+
"assist": ["9.1.x", "9.0.x"],
|
|
151
|
+
"iot": ["9.1.x", "9.0.x"],
|
|
152
|
+
"manage": ["9.1.x", "9.0.x"],
|
|
153
|
+
"monitor": ["9.1.x", "9.0.x"],
|
|
154
|
+
"optimizer": ["9.1.x", "9.0.x"],
|
|
155
|
+
"predict": ["9.1.x", "9.0.x"],
|
|
156
|
+
"visualinspection": ["9.1.x", "9.0.x"],
|
|
157
|
+
"aibroker": ["9.1.x", "9.0.x"],
|
|
158
|
+
|
|
150
159
|
},
|
|
151
160
|
"9.1.x-feature": {
|
|
152
161
|
"assist": ["9.0.x"],
|
|
@@ -195,10 +204,13 @@ class BaseApp(PrintMixin, PromptMixin):
|
|
|
195
204
|
"8.11.x": " - <u>https://ibm.biz/MAS811-License</u>\n - <u>https://ibm.biz/MAXIT81-License</u>",
|
|
196
205
|
"9.0.x": " - <u>https://ibm.biz/MAS90-License</u>\n - <u>https://ibm.biz/MaximoIT90-License</u>\n - <u>https://ibm.biz/MAXArcGIS90-License</u>",
|
|
197
206
|
"9.1.x-feature": " - <u>https://ibm.biz/MAS90-License</u>\n - <u>https://ibm.biz/MaximoIT90-License</u>\n - <u>https://ibm.biz/MAXArcGIS90-License</u>\n\nBe aware, this channel subscription is supported for non-production use only. \nIt allows early access to new features for evaluation in non-production environments. \nThis subscription is offered alongside and in parallel with our normal maintained streams. \nWhen using this subscription, IBM Support will only accept cases for the latest available bundle deployed in a non-production environment. \nSeverity must be either 3 or 4 and cases cannot be escalated. \nPlease refer to IBM documentation for more details.\n",
|
|
207
|
+
"9.1.x": " - <u>https://ibm.biz/MAS91-License</u>\n - <u>https://ibm.biz/MAXIT91-License</u>\n - <u>https://ibm.biz/MAXESRI91-License</u>",
|
|
198
208
|
}
|
|
199
209
|
|
|
200
210
|
self.upgrade_path = {
|
|
201
|
-
"9.
|
|
211
|
+
"9.1.x": "9.1.x",
|
|
212
|
+
"9.1.x-feature": "9.1.x",
|
|
213
|
+
"9.0.x": "9.1.x",
|
|
202
214
|
"8.11.x": "9.0.x",
|
|
203
215
|
"8.10.x": "8.11.x",
|
|
204
216
|
"8.9.x": "8.10.x",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
from os import path
|
|
12
12
|
from jinja2 import Template
|
|
13
13
|
from base64 import b64encode
|
|
14
|
+
from json import loads
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
class ConfigGeneratorMixin():
|
|
@@ -88,3 +89,25 @@ class ConfigGeneratorMixin():
|
|
|
88
89
|
with open(destination, 'w') as f:
|
|
89
90
|
f.write(cfg)
|
|
90
91
|
f.write('\n')
|
|
92
|
+
|
|
93
|
+
def generateFacilitiesCfg(self, destination: str) -> None:
|
|
94
|
+
templateFile = path.join(self.templatesDir, "facilities-configs.yml.j2")
|
|
95
|
+
|
|
96
|
+
with open(templateFile) as tFile:
|
|
97
|
+
template = Template(tFile.read())
|
|
98
|
+
|
|
99
|
+
dwfagents = self.getParam("mas_ws_facilities_dwfagents")
|
|
100
|
+
maxconnpoolsize = self.getParam("mas_ws_facilities_db_maxconnpoolsize")
|
|
101
|
+
userfiles_size = self.getParam("mas_ws_facilities_storage_userfiles_size")
|
|
102
|
+
log_size = self.getParam("mas_ws_facilities_storage_log_size")
|
|
103
|
+
cfg = template.render(
|
|
104
|
+
mas_instance_id=self.getParam("mas_instance_id"),
|
|
105
|
+
mas_ws_facilities_storage_log_size=log_size if log_size != "" else 30,
|
|
106
|
+
mas_ws_facilities_storage_userfiles_size=userfiles_size if userfiles_size != "" else 50,
|
|
107
|
+
mas_ws_facilities_db_maxconnpoolsize=maxconnpoolsize if maxconnpoolsize != "" else 200,
|
|
108
|
+
mas_ws_facilities_dwfagents=loads(dwfagents) if dwfagents != '' else ''
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
with open(destination, 'w') as f:
|
|
112
|
+
f.write(cfg)
|
|
113
|
+
f.write('\n')
|
|
@@ -40,6 +40,7 @@ from mas.cli.validators import (
|
|
|
40
40
|
WorkspaceNameFormatValidator,
|
|
41
41
|
TimeoutFormatValidator,
|
|
42
42
|
StorageClassValidator,
|
|
43
|
+
JsonValidator,
|
|
43
44
|
OptimizerInstallPlanValidator
|
|
44
45
|
)
|
|
45
46
|
|
|
@@ -199,11 +200,12 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
199
200
|
# Generate catalogTable
|
|
200
201
|
for application, key in applications.items():
|
|
201
202
|
# Add 9.1-feature channel based off 9.0 to those apps that have not onboarded yet
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
if key in self.chosenCatalog:
|
|
204
|
+
tempChosenCatalog = self.chosenCatalog[key].copy()
|
|
205
|
+
if '9.1.x-feature' not in tempChosenCatalog:
|
|
206
|
+
tempChosenCatalog.update({"9.1.x-feature": tempChosenCatalog["9.0.x"]})
|
|
205
207
|
|
|
206
|
-
|
|
208
|
+
self.catalogTable.append({"": application} | {key.replace(".x", ""): value for key, value in sorted(tempChosenCatalog.items(), reverse=True)})
|
|
207
209
|
|
|
208
210
|
if self.architecture == "s390x" or self.architecture == "ppc64le":
|
|
209
211
|
summary = [
|
|
@@ -374,7 +376,7 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
374
376
|
self.printDescription([
|
|
375
377
|
f"Unknown catalog {self.getParam('mas_catalog_version')}, please manually select the version of Cloud Pak for Data to use"
|
|
376
378
|
])
|
|
377
|
-
self.promptForString("Cloud Pak for Data product version", "cpd_product_version", default="
|
|
379
|
+
self.promptForString("Cloud Pak for Data product version", "cpd_product_version", default="5.1.3")
|
|
378
380
|
logger.debug(f"Using user-provided (prompt) CP4D product version: {self.getParam('cpd_product_version')}")
|
|
379
381
|
else:
|
|
380
382
|
logger.debug(f"Using user-provided (flags) CP4D product version: {self.getParam('cpd_product_version')}")
|
|
@@ -769,7 +771,6 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
769
771
|
self.promptForString("IBM Cloud Resource Group", "cos_resourcegroup")
|
|
770
772
|
|
|
771
773
|
@logMethodCall
|
|
772
|
-
# TODO: Fix type for storage sizes and max conn pool size
|
|
773
774
|
def facilitiesSettings(self) -> None:
|
|
774
775
|
if self.installFacilities:
|
|
775
776
|
self.printH1("Configure Maximo Real Estate and Facilities")
|
|
@@ -785,13 +786,17 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
785
786
|
self.promptForListSelect("Select the size:", ["small", "medium", "large"], "mas_ws_facilities_size")
|
|
786
787
|
|
|
787
788
|
if self.showAdvancedOptions:
|
|
789
|
+
self.printH2("Maximo Real Estate and Facilities Settings - Advanced")
|
|
790
|
+
self.printDescription([
|
|
791
|
+
"Advanced configurations for Real Estate and Facilities are added through an additional file called facilities-configs.yaml"
|
|
792
|
+
])
|
|
788
793
|
if self.yesOrNo("Supply extra XML tags for Real Estate and Facilities server.xml"):
|
|
789
794
|
self.promptForString("Real Estate and Facilities Liberty Extension Secret Name", "mas_ws_facilities_liberty_extension_XML")
|
|
790
795
|
if self.yesOrNo("Supply custom AES Encryption Password"):
|
|
791
796
|
self.promptForString("Real Estate and Facilities AES Vault Secret Name", "mas_ws_facilities_vault_secret")
|
|
792
797
|
|
|
793
798
|
self.promptForString("Set Real Estate and Facilities Routes Timeout:", "mas_ws_facilities_routes_timeout", default="600s")
|
|
794
|
-
|
|
799
|
+
self.promptForInt("Set Facilities maximum connection poll size:", "mas_ws_facilities_db_maxconnpoolsize", default=200)
|
|
795
800
|
|
|
796
801
|
self.printDescription(["Real Estate and Facilities Persistent Volume Storage Configuration"])
|
|
797
802
|
defaultStorageClasses = getDefaultStorageClasses(self.dynamicClient)
|
|
@@ -809,10 +814,10 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
809
814
|
])
|
|
810
815
|
storageMode = self.promptForListSelect("Select the storage mode for user files PVC:", ["ReadWriteMany", "ReadWriteOnce"], "mas_ws_facilities_storage_userfiles_mode", default=1)
|
|
811
816
|
_ = self.setParam("mas_ws_facilities_storage_userfiles_class", defaultStorageClasses.rwx) if storageMode == "ReadWriteMany" else self.setParam("mas_ws_facilities_storage_userfiles_class", defaultStorageClasses.rwo)
|
|
812
|
-
|
|
817
|
+
self.promptForInt("User file PVC size (Gb):", "mas_ws_facilities_storage_userfiles_size", default=50)
|
|
813
818
|
storageMode = self.promptForListSelect("Select the storage mode for log PVC:", ["ReadWriteMany", "ReadWriteOnce"], "mas_ws_facilities_storage_log_mode", default=1)
|
|
814
819
|
_ = self.setParam("mas_ws_facilities_storage_log_class", defaultStorageClasses.rwx) if storageMode == "ReadWriteMany" else self.setParam("mas_ws_facilities_storage_log_class", defaultStorageClasses.rwo)
|
|
815
|
-
|
|
820
|
+
self.promptForInt("Log PVC size (Gb):", "mas_ws_facilities_storage_log_size", default=30)
|
|
816
821
|
else:
|
|
817
822
|
notUseAutodetectedStorageClasses = True
|
|
818
823
|
if defaultStorageClasses.provider is None or notUseAutodetectedStorageClasses:
|
|
@@ -827,11 +832,18 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
827
832
|
])
|
|
828
833
|
self.promptForListSelect("Select the storage mode for user files PVC:", ["ReadWriteMany", "ReadWriteOnce"], "mas_ws_facilities_storage_userfiles_mode", default=1)
|
|
829
834
|
self.promptForListSelect("Select the storage mode for log PVC:", ["ReadWriteMany", "ReadWriteOnce"], "mas_ws_facilities_storage_log_mode", default=1)
|
|
830
|
-
|
|
831
|
-
|
|
835
|
+
self.promptForInt("User file PVC size (Gb):", "mas_ws_facilities_storage_userfiles_size", default=50)
|
|
836
|
+
self.promptForInt("Log PVC size (Gb):", "mas_ws_facilities_storage_log_size", default=30)
|
|
832
837
|
|
|
833
838
|
if self.yesOrNo("Supply configuration for dedicated workflow agents"):
|
|
834
|
-
|
|
839
|
+
print_formatted_text(HTML("<LightSlateGrey> Example: '[{\"name\":\"dwfa1\",\"members\":[{\"name\": \"u1\", \"class\": \"user\"}]}, {\"name\":\"dwfa2\",\"members\":[{\"name\": \"u2\", \"class\": \"user\"},{\"name\":\"g1\", \"class\":\"group\"}]}]' </LightSlateGrey>"))
|
|
840
|
+
self.promptForString("Dedicated Workflow Agent JSON:", "mas_ws_facilities_dwfagents", validator=JsonValidator())
|
|
841
|
+
|
|
842
|
+
# If advanced options is selected, we need to create a file to add props not supported by Tekton
|
|
843
|
+
self.selectLocalConfigDir()
|
|
844
|
+
facilitiesConfigsPath = path.join(self.localConfigDir, "facilities-configs.yaml")
|
|
845
|
+
self.generateFacilitiesCfg(destination=facilitiesConfigsPath)
|
|
846
|
+
self.setParam("mas_ws_facilities_config_file", "/workspace/configs/facilities-configs.yaml")
|
|
835
847
|
|
|
836
848
|
@logMethodCall
|
|
837
849
|
def chooseInstallFlavour(self) -> None:
|
|
@@ -1118,6 +1130,14 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
1118
1130
|
# Configure Storage and Access mode
|
|
1119
1131
|
self.manageStorageAndAccessMode()
|
|
1120
1132
|
|
|
1133
|
+
if self.installFacilities:
|
|
1134
|
+
# Verifiy if any of the props that needs to be in a file are given
|
|
1135
|
+
if self.getParam("mas_ws_facilities_storage_log_size") != "" or self.getParam("mas_ws_facilities_storage_userfiles_size") != "" or self.getParam("mas_ws_facilities_db_maxconnpoolsize") or self.getParam("mas_ws_facilities_dwfagents"):
|
|
1136
|
+
self.selectLocalConfigDir()
|
|
1137
|
+
facilitiesConfigsPath = path.join(self.localConfigDir, "facilities-configs.yaml")
|
|
1138
|
+
self.generateFacilitiesCfg(destination=facilitiesConfigsPath)
|
|
1139
|
+
self.setParam("mas_ws_facilities_config_map_name", "facilities-config")
|
|
1140
|
+
|
|
1121
1141
|
# Load the catalog information
|
|
1122
1142
|
self.chosenCatalog = getCatalog(self.getParam("mas_catalog_version"))
|
|
1123
1143
|
|
|
@@ -256,25 +256,25 @@ class installArgBuilderMixin():
|
|
|
256
256
|
if self.getParam('mas_ws_facilities_vault_secret') != "":
|
|
257
257
|
command += f" --facilities-vault-secret \"{self.getParam('mas_ws_facilities_vault_secret')}\"{newline}"
|
|
258
258
|
|
|
259
|
-
|
|
260
|
-
|
|
259
|
+
if self.getParam('mas_ws_facilities_dwfagents') != "":
|
|
260
|
+
command += f" --facilities-dwfagent \'{self.getParam('mas_ws_facilities_dwfagents')}\'{newline}"
|
|
261
261
|
|
|
262
|
-
|
|
263
|
-
|
|
262
|
+
if self.getParam('mas_ws_facilities_db_maxconnpoolsize') != "":
|
|
263
|
+
command += f" --facilities-maxconnpoolsize \"{self.getParam('mas_ws_facilities_db_maxconnpoolsize')}\"{newline}"
|
|
264
264
|
|
|
265
265
|
if self.getParam('mas_ws_facilities_storage_log_class') != "":
|
|
266
266
|
command += f" --facilities-log-storage-class \"{self.getParam('mas_ws_facilities_storage_log_class')}\"{newline}"
|
|
267
267
|
if self.getParam('mas_ws_facilities_storage_log_mode') != "":
|
|
268
268
|
command += f" --facilities-log-storage-mode \"{self.getParam('mas_ws_facilities_storage_log_mode')}\"{newline}"
|
|
269
|
-
|
|
270
|
-
|
|
269
|
+
if self.getParam('mas_ws_facilities_storage_log_size') != "":
|
|
270
|
+
command += f" --facilities-log-storage-size \"{self.getParam('mas_ws_facilities_storage_log_size')}\"{newline}"
|
|
271
271
|
|
|
272
272
|
if self.getParam('mas_ws_facilities_storage_userfiles_class') != "":
|
|
273
273
|
command += f" --facilities-userfiles-storage-class \"{self.getParam('mas_ws_facilities_storage_userfiles_class')}\"{newline}"
|
|
274
274
|
if self.getParam('mas_ws_facilities_storage_userfiles_mode') != "":
|
|
275
275
|
command += f" --facilities-userfiles-storage-mode \"{self.getParam('mas_ws_facilities_storage_userfiles_mode')}\"{newline}"
|
|
276
|
-
|
|
277
|
-
|
|
276
|
+
if self.getParam('mas_ws_facilities_storage_userfiles_size') != "":
|
|
277
|
+
command += f" --facilities-userfiles-storage-size \"{self.getParam('mas_ws_facilities_storage_userfiles_size')}\"{newline}"
|
|
278
278
|
|
|
279
279
|
# IBM Cloud Pak for Data
|
|
280
280
|
# -----------------------------------------------------------------------------
|
|
@@ -745,19 +745,20 @@ facilitiesArgGroup.add_argument(
|
|
|
745
745
|
required=False,
|
|
746
746
|
help="Defines the name of the secret that holds the AES Encryption password",
|
|
747
747
|
)
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
748
|
+
facilitiesArgGroup.add_argument(
|
|
749
|
+
"--facilities-dwfagent",
|
|
750
|
+
dest="mas_ws_facilities_dwfagents",
|
|
751
|
+
required=False,
|
|
752
|
+
help="Defines the list of dedicates workflow agents",
|
|
753
|
+
type=str
|
|
754
|
+
)
|
|
755
|
+
facilitiesArgGroup.add_argument(
|
|
756
|
+
"--facilities-maxconnpoolsize",
|
|
757
|
+
dest="mas_ws_facilities_db_maxconnpoolsize",
|
|
758
|
+
required=False,
|
|
759
|
+
help="Defines the maximum connection pool size",
|
|
760
|
+
default=200,
|
|
761
|
+
)
|
|
761
762
|
facilitiesArgGroup.add_argument(
|
|
762
763
|
"--facilities-log-storage-class",
|
|
763
764
|
dest="mas_ws_facilities_storage_log_class",
|
|
@@ -770,12 +771,12 @@ facilitiesArgGroup.add_argument(
|
|
|
770
771
|
required=False,
|
|
771
772
|
help="Defines the log storage mode",
|
|
772
773
|
)
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
774
|
+
facilitiesArgGroup.add_argument(
|
|
775
|
+
"--facilities-log-storage-size",
|
|
776
|
+
dest="mas_ws_facilities_storage_log_size",
|
|
777
|
+
required=False,
|
|
778
|
+
help="Defines the logs storage size",
|
|
779
|
+
)
|
|
779
780
|
facilitiesArgGroup.add_argument(
|
|
780
781
|
"--facilities-userfiles-storage-class",
|
|
781
782
|
dest="mas_ws_facilities_storage_userfiles_class",
|
|
@@ -788,12 +789,12 @@ facilitiesArgGroup.add_argument(
|
|
|
788
789
|
required=False,
|
|
789
790
|
help="Defines the user files storage mode",
|
|
790
791
|
)
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
792
|
+
facilitiesArgGroup.add_argument(
|
|
793
|
+
"--facilities-userfiles-storage-size",
|
|
794
|
+
dest="mas_ws_facilities_storage_userfiles_size",
|
|
795
|
+
required=False,
|
|
796
|
+
help="Defines the user files storage size",
|
|
797
|
+
)
|
|
797
798
|
|
|
798
799
|
# IBM Cloud Pak for Data
|
|
799
800
|
# -----------------------------------------------------------------------------
|
|
@@ -9,17 +9,18 @@
|
|
|
9
9
|
# *****************************************************************************
|
|
10
10
|
supportedCatalogs = {
|
|
11
11
|
"amd64": [
|
|
12
|
+
"v9-250624-amd64",
|
|
12
13
|
"v9-250501-amd64",
|
|
13
14
|
"v9-250403-amd64",
|
|
14
15
|
"v9-250306-amd64",
|
|
15
|
-
"v9-250206-amd64",
|
|
16
16
|
],
|
|
17
17
|
"s390x": [
|
|
18
|
+
"v9-250624-s390x",
|
|
18
19
|
"v9-250501-s390x",
|
|
19
20
|
"v9-250403-s390x",
|
|
20
21
|
"v9-250306-s390x",
|
|
21
|
-
"v9-250206-s390x",
|
|
22
22
|
],
|
|
23
23
|
"ppc64le": [
|
|
24
|
+
"v9-250624-ppc64le",
|
|
24
25
|
],
|
|
25
26
|
}
|
|
@@ -184,12 +184,12 @@ optionalParams = [
|
|
|
184
184
|
"mas_ws_facilities_pull_policy",
|
|
185
185
|
"mas_ws_facilities_storage_log_class",
|
|
186
186
|
"mas_ws_facilities_storage_log_mode",
|
|
187
|
-
|
|
187
|
+
"mas_ws_facilities_storage_log_size",
|
|
188
188
|
"mas_ws_facilities_storage_userfiles_class",
|
|
189
189
|
"mas_ws_facilities_storage_userfiles_mode",
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
190
|
+
"mas_ws_facilities_storage_userfiles_size",
|
|
191
|
+
"mas_ws_facilities_dwfagents",
|
|
192
|
+
"mas_ws_facilities_db_maxconnpoolsize",
|
|
193
193
|
# Special chars
|
|
194
194
|
"mas_special_characters"
|
|
195
195
|
]
|
|
@@ -182,8 +182,10 @@ class Db2SettingsMixin():
|
|
|
182
182
|
f"Note that the same settings are applied to both the IoT and {self.manageAppName} Db2 instances",
|
|
183
183
|
"Use existing node labels and taints to control scheduling of the Db2 workload in your cluster",
|
|
184
184
|
"For more information refer to the Red Hat documentation:",
|
|
185
|
-
" - <Orange><u>https://docs.openshift.com/container-platform/4.
|
|
186
|
-
" - <Orange><u>https://docs.openshift.com/container-platform/4.
|
|
185
|
+
" - <Orange><u>https://docs.openshift.com/container-platform/4.18/nodes/scheduling/nodes-scheduler-node-affinity.html</u></Orange>",
|
|
186
|
+
" - <Orange><u>https://docs.openshift.com/container-platform/4.18/nodes/scheduling/nodes-scheduler-taints-tolerations.html</u></Orange>",
|
|
187
|
+
" - <Orange><u>https://docs.openshift.com/container-platform/4.17/nodes/scheduling/nodes-scheduler-node-affinity.html</u></Orange>",
|
|
188
|
+
" - <Orange><u>https://docs.openshift.com/container-platform/4.17/nodes/scheduling/nodes-scheduler-taints-tolerations.html</u></Orange>"
|
|
187
189
|
])
|
|
188
190
|
|
|
189
191
|
if self.yesOrNo("Configure node affinity"):
|
|
@@ -119,6 +119,8 @@ class ManageSettingsMixin():
|
|
|
119
119
|
self.params["mas_appws_components"] += ",utilities=latest"
|
|
120
120
|
if self.yesOrNo(" - Workday Applications"):
|
|
121
121
|
self.params["mas_appws_components"] += ",workday=latest"
|
|
122
|
+
if self.yesOrNo(" - AIP"):
|
|
123
|
+
self.params["mas_appws_components"] += ",aip=latest"
|
|
122
124
|
logger.debug(f"Generated mas_appws_components = {self.params['mas_appws_components']}")
|
|
123
125
|
|
|
124
126
|
if ",icd=" in self.params["mas_appws_components"]:
|
|
@@ -207,7 +209,7 @@ class ManageSettingsMixin():
|
|
|
207
209
|
self.promptForString("Customization archive path/url", "mas_app_settings_customization_archive_url")
|
|
208
210
|
if self.yesOrNo("Provide authentication to access customization archive URL"):
|
|
209
211
|
self.promptForString("Username", "mas_app_settings_customization_archive_username")
|
|
210
|
-
self.promptForString("Password", "mas_app_settings_customization_archive_password", isPassword=True)
|
|
212
|
+
self.promptForString("Password", "mas_app_settings_customization_archive_password", isPassword=True) # pragma: allowlist secret
|
|
211
213
|
|
|
212
214
|
def manageSettingsDemodata(self) -> None:
|
|
213
215
|
self.yesOrNo("Create demo data", "mas_app_settings_demodata")
|
|
@@ -202,6 +202,7 @@ class InstallSummarizerMixin():
|
|
|
202
202
|
self.printSummary(" + Tririga", "Enabled" if "tririga=" in self.getParam("mas_appws_components") else "Disabled")
|
|
203
203
|
self.printSummary(" + Utilities", "Enabled" if "utilities=" in self.getParam("mas_appws_components") else "Disabled")
|
|
204
204
|
self.printSummary(" + Workday Applications", "Enabled" if "workday=" in self.getParam("mas_appws_components") else "Disabled")
|
|
205
|
+
self.printSummary(" + AIP", "Enabled" if "aip=" in self.getParam("mas_appws_components") else "Disabled")
|
|
205
206
|
|
|
206
207
|
self.printParamSummary("+ Server bundle size", "mas_app_settings_server_bundles_size")
|
|
207
208
|
self.printParamSummary("+ Enable JMS queues", "mas_app_settings_default_jms")
|
|
@@ -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 %}
|