Skip to content

Commit

Permalink
[minor] Support November Catalog Update (#1103)
Browse files Browse the repository at this point in the history
Co-authored-by: Andre Ricardo De Campos Marcelino <andrercm@br.ibm.com>
Co-authored-by: Terence Quinn <quinnt@us.ibm.com>
Co-authored-by: Sanjay Prabhakar <sanjay.prabhakar@uk.ibm.com>
  • Loading branch information
4 people authored Nov 27, 2023
1 parent acacf77 commit 9d798d2
Show file tree
Hide file tree
Showing 16 changed files with 132 additions and 26 deletions.
2 changes: 1 addition & 1 deletion docs/playbooks/oneclick-update.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Usage
Only one parameter is required, the new tag of the IBM Maximo Operator Catalog that you wish to use:

```bash
export MAS_CATALOG_VERSION=v8-231031-amd64
export MAS_CATALOG_VERSION=v8-231128-amd64
oc login --token=xxxx --server=https://myocpserver
ansible-playbook ibm.mas_devops.oneclick_update
```
Expand Down
93 changes: 93 additions & 0 deletions ibm/mas_devops/common_vars/casebundles/v8-231128-amd64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
# Case bundle configuration for IBM Maximo Operator Catalog v230926
# -----------------------------------------------------------------------------
# In the future this won't be necessary as we'll be able to mirror from the
# catalog itself, but not everything in the catalog supports this yet (including MAS)
# so we need to use the CASE bundle mirror process still.

catalog_digest: sha256:01b1cdf421f0228930af9cc057cc7b157840312220dc5b8d59f1d13ee9a9887d

# Dependencies
# -----------------------------------------------------------------------------
common_svcs_version: 1.19.4 # Operator version 3.23.4 (https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-cp-common-services)
db2u_version: 5.1.4 # Operator version 110508.0.2 (https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-db2uoperator)
events_version: 4.6.1 # Operator version 4.6.1 (https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-events-operator)
uds_version: 2.0.12 # Operator version 2.0.12
sls_version: 3.8.1 # Operator version 3.8.1
tsm_version: 1.5.1 # Operator version 1.5.1
dd_version: 1.1.5 # Operator version 1.1.5
appconnect_version: 6.2.0 # Operator version 6.2.0
cp4d_platform_version: 2.9.0+20230524.165553 # Operator version 3.8.0
wsl_version: 6.5.0 # Operator version 6.5.0
wml_version: 6.5.0 # Operator version 3.5.0
spark_version: 6.5.0 # Operator version 3.5.0

# Watson discovery and its dependencies
# Match corresponding case version for default versions in the catalog source
# -----------------------------------------------------------------------------
wd_version: 5.5.0 # Operator version 4.6.5
model_train_version: 1.2.7 # Operator version 1.1.9
elasticsearch_version: 1.1.1541 # Operator version 1.1.1541
couchdb_version: 1.0.13 # Operator version 2.2.1


# Maximo Application Suite
# -----------------------------------------------------------------------------
mas_core_version:
8.10.x: 8.10.6 # Updated
8.11.x: 8.11.2 # Updated
8.9.x: 8.9.10 # No Update
mas_assist_version:
8.10.x: 8.7.2 # No Update
8.11.x: 8.8.1 # Updated
8.9.x: 8.6.5 # No Update
mas_hputilities_version:
8.10.x: 8.6.2 # No Update
8.11.x: "" # Not Supported
8.9.x: 8.5.3 # No Update
mas_iot_version:
8.10.x: 8.7.5 # Updated
8.11.x: 8.8.1 # Updated
8.9.x: 8.6.9 # No Update
mas_manage_version:
8.10.x: 8.6.6 # Updated
8.11.x: 8.7.1 # Updated
8.9.x: 8.5.9 # No Update
mas_monitor_version:
8.10.x: 8.10.5 # No Update
8.11.x: 8.11.1 # Updated
8.9.x: 8.9.6 # No Update
mas_optimizer_version:
8.10.x: 8.4.1 # No Update
8.11.x: 8.5.0 # No Update
8.9.x: 8.3.3 # No Update
mas_predict_version:
8.10.x: 8.8.2 # No Update
8.11.x: 8.9.0 # No Update
8.9.x: 8.7.2 # No Update
mas_visualinspection_version:
8.10.x: 8.8.1 # No Update
8.11.x: 8.9.0 # No Update
8.9.x: 8.7.1 # No Update

# Extra Images for UDS
# ------------------------------------------------------------------------------
uds_extras_version: 1.4.0

# Extra Images for Mongo
# ------------------------------------------------------------------------------
mongo_extras_version_default: 5.0.21
mongo_extras_version: "{{ lookup('env', 'MONGODB_VERSION') | default(mongo_extras_version_default, True) }}"

# Variables used to mirror additional mongo image versions
mongo_extras_version_4: 4.4.21
mongo_extras_version_5: 5.0.21
mongo_extras_version_6: 6.0.10

# Extra Images for Db2u
# ------------------------------------------------------------------------------
db2u_extras_version: 1.0.2

# Extra Images for IBM Watson Discovery
# ------------------------------------------------------------------------------
wd_extras_version: 1.0.1
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_add_assist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mas_channel: "{{ lookup('env', 'MAS_CHANNEL') | default ('8.11.x', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

Expand All @@ -15,7 +15,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_add_hputilities.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mas_channel: "{{ lookup('env', 'MAS_CHANNEL') | default ('8.10.x', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

Expand All @@ -15,7 +15,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_add_iot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mas_channel: "{{ lookup('env', 'MAS_CHANNEL') | default ('8.11.x', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

Expand All @@ -15,7 +15,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_add_manage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mas_channel: "{{ lookup('env', 'MAS_CHANNEL') | default ('8.11.x', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

Expand All @@ -15,7 +15,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_add_monitor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mas_channel: "{{ lookup('env', 'MAS_CHANNEL') | default ('8.11.x', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

Expand All @@ -15,7 +15,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_add_optimizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mas_channel: "{{ lookup('env', 'MAS_CHANNEL') | default ('8.11.x', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

Expand All @@ -15,7 +15,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_add_predict.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mas_channel: "{{ lookup('env', 'MAS_CHANNEL') | default ('8.11.x', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

Expand All @@ -15,7 +15,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_add_visualinspection.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mas_channel: "{{ lookup('env', 'MAS_CHANNEL') | default ('8.11.x', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

Expand All @@ -21,7 +21,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mas_channel: "{{ lookup('env', 'MAS_CHANNEL') | default ('8.11.x', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

Expand All @@ -15,7 +15,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/playbooks/mirror_dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
any_errors_fatal: true

vars:
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231031-amd64', True) }}"
catalog_tag: "{{ lookup('env', 'MAS_CATALOG_VERSION') | default ('v8-231128-amd64', True) }}"
mirror_mode: "{{ lookup('env', 'MIRROR_MODE') | default ('direct', True) }}"

# 1. Catalog
Expand Down Expand Up @@ -69,7 +69,7 @@

- name: "Debug stats if the digest image map file exists"
ansible.builtin.set_fact:
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231031-amd64') }}"
file_catalog_tag: "{{ (catalog_file_stats.stat.exists|bool) | ternary(catalog_tag, 'v8-231128-amd64') }}"

- name: Load CASE bundle versions
include_vars:
Expand Down
2 changes: 1 addition & 1 deletion ibm/mas_devops/playbooks/oneclick_update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
- name: Check for required environment variables
assert:
that: lookup('env', 'MAS_CATALOG_VERSION') != ""
fail_msg: "You must provide the catalog version to update to (e.g. 'v8-230829-amd64', 'v8-231031-amd64')"
fail_msg: "You must provide the catalog version to update to (e.g. 'v8-230829-amd64', 'v8-231128-amd64')"

roles:
- ibm.mas_devops.ibm_catalogs
9 changes: 7 additions & 2 deletions ibm/mas_devops/roles/mongodb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ This role currently supports provisioning of mongodb in three different provider
- aws (documentdb)
- ibm

!!! important
According to the [MongoDB Software Lifecycle Schedules](https://www.mongodb.com/support-policy/lifecycles) MongoDB 4.4 will reach end of life in February of 2024. Given this fact it is encouraged that either MongoDB 5 or 6 be used for MAS Deployments. The MAS Devops Ansible Collection can be used to install or upgrade MongoDB when the selected service provider is `community`. If the MonogDB instance used by MAS is hosted by a third party please consult the applicable documentation with respect to MongoDB 5 or 6 options. If the MongoDB instance is hosted on premises please review the appropriate MongoDB documentation related to upgrading. As a best practice it is advised perform MongoDB backups on a regular basis. This is especially important before any upgrade of MongoDB.

If selected provider is `community` [MongoDb CE operator](https://github.com/mongodb/mongodb-kubernetes-operator) will be installed into the specified namespace, a 3 node cluster cluster will be created. The cluster will bind six PVCs, these provide persistence for the data and system logs across the three nodes. Currently there is no support built-in for customizing the cluster beyond this configuration.
If the selected provider is `community` then the [MongoDB Community Kubernetes Operator](https://github.com/mongodb/mongodb-kubernetes-operator) will be configured and deployed into the specified namespace. By default a three member MongoDB replica set will be created. The cluster will bind six PVCs, these provide persistence for the data and system logs across the three nodes. Currently there is no support built-in for customizing the cluster beyond this configuration.

!!! tip
The role will generate a yaml file containing the definition of a Secret and MongoCfg resource that can be used to configure the deployed instance as the MAS system MongoDb.
Expand Down Expand Up @@ -71,7 +73,10 @@ The namespace where the operator and MongoDb cluster will be deployed.
- Default Value: `mongoce`

### mongodb_version
Defines the specific mongo version to be used.
Defines the specific mongo version to be used. Best practice would be to use the version associated with the current Maximo Application Suite catalog. However, this value can currently be overridden to 4.4.21, 5.0.21 or 6.0.10.

!!! important
It is advised to never attempt a downgrade a MongoDB instance managed by the MAS Devops Ansible Collection. Also best practices should include creating scheduled backups of any MongoDB instance.

- Optional
- Environment Variable: `MONGODB_VERSION`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@
- "Existing MongoDb version .................. {{ existing_mongo_version }}"
- "Minor mongo version ....................... {{ existing_mongo_minor_version }}"

# Only allow Mongo upgrades if existing instance is in Running state
- name: "Assert existing Mongo is running"
assert:
that: existing_mongodb.resources[0].status.phase == 'Running'
fail_msg:
- "Unable to upgrade existing Mongo instance to {{ target_mongodb_version }} in namespace {{ mongodb_namespace }} because it is not in 'Running' state."
- "Current Mongo Status: {{ existing_mongodb.resources[0].status.phase }}"

# Only allow Mongo upgrades, prevent downgrades from happening
- name: Assert no Mongo downgrade operations
assert:
Expand Down
4 changes: 2 additions & 2 deletions ibm/mas_devops/roles/suite_app_install/tasks/iot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
msg:
- "IoT Deployment Size ............... {{ mas_app_settings_iot_deployment_size }}"
- "IoT FPL PVC Storage Class ......... {{ mas_app_settings_iot_fpl_pvc_storage_class }}"
- "IoT FPL PVC Router Size ........... {{ mas_app_settings_iot_fpl_router_pvc_size }} "
- "IoT FPL PVC Executor Size ......... {{ mas_app_settings_iot_fpl_executor_pvc_size }} "
- "IoT FPL PVC Router Size ........... {{ mas_app_settings_iot_fpl_router_pvc_size }}"
- "IoT FPL PVC Executor Size ......... {{ mas_app_settings_iot_fpl_executor_pvc_size }}"
- "IoT MQTT Broker PVC Storage Class . {{ mas_app_settings_iot_mqttbroker_pvc_storage_class }}"
- "IoT MQTT Broker PVC Size .......... {{ mas_app_settings_iot_mqttbroker_pvc_size }}"

0 comments on commit 9d798d2

Please sign in to comment.