ibm-mas / ansible-devops

Ansible collection supporting devops for IBM Maximo Application Suite
https://ibm-mas.github.io/ansible-devops/
Eclipse Public License 2.0
47 stars 79 forks source link

[major] Unify Manage attachment roles #1344

Closed alequint closed 1 week ago

alequint commented 2 weeks ago

Unified suite_management_attachments_config role

Test Evidences:

(1) ✅

export MAS_MANAGE_ATTACHMENT_CONFIGURATION_MODE=db
export MAS_MANAGE_ATTACHMENTS_PROVIDER=ibm
export MAS_INSTANCE_ID=fvtstable
export MAS_WORKSPACE_ID=masdev
export IBMCLOUD_APIKEY=<ommited>
export COS_INSTANCE_NAME="Object Storage for MAS - fvtstable"
export COS_BUCKET_NAME=fvtstable-masdev-bucket-2 # I think it must be random
export IBMCLOUD_RESOURCEGROUP=fvt-layer3
export DB2_INSTANCE_NAME=mas-fvtstable-masdev-manage
# export DB2_NAMESPACE=db2u (use DEFAULT)
# export DB2_DBNAME=BLUDB (use DEFAULT)

(2) ✅

export MAS_MANAGE_ATTACHMENT_CONFIGURATION_MODE=db
export MAS_MANAGE_ATTACHMENTS_PROVIDER= filestorage
export MAS_INSTANCE_ID=fvtstable
export MAS_WORKSPACE_ID=masdev
export DB2_INSTANCE_NAME=mas-fvtstable-masdev-manage
# export DB2_NAMESPACE=db2u (use DEFAULT)
# export DB2_DBNAME=BLUDB (use DEFAULT)

(3) - ✅

export MAS_MANAGE_ATTACHMENT_CONFIGURATION_MODE=cr
export MAS_MANAGE_ATTACHMENTS_PROVIDER=ibm
export MAS_INSTANCE_ID=fvtstable
export MAS_WORKSPACE_ID=masdev
export IBMCLOUD_APIKEY=<omitted>
export COS_INSTANCE_NAME="Object Storage for MAS - fvtstable"
export COS_BUCKET_NAME=fvtstable-masdev-bucket-3
export IBMCLOUD_RESOURCEGROUP=fvt-layer3

(4) - ✅

export MAS_MANAGE_ATTACHMENT_CONFIGURATION_MODE=cr export MAS_MANAGE_ATTACHMENTS_PROVIDER= filestorage export MAS_INSTANCE_ID=fvtstable export MAS_WORKSPACE_ID=masdev


Other Fixes, before unifying the roles

Error when cos_bucket was created:

# TASK [ibm.mas_devops.cos_bucket : Assert cos bucket 'fvtstable-masdev-bucket' was created] ***************************************************************************************************************
# [WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ cos_bucket_create_output.stdout_lines|select('equalto', 'Apply complete! Resources: 1
# added, 0 changed, 0 destroyed.')| list | length }}
# fatal: [localhost]: FAILED! => {"msg": "The conditional check '{{ cos_bucket_create_output.stdout_lines|select('equalto', 'Apply complete! Resources: 1 added, 0 changed, 0 destroyed.')| list | length }}' failed. The error was: Conditional is marked as unsafe, and cannot be evaluated."}

Recommended fix is remove the jina2 brackets and put the entire condition in quotes. Variables are all resolved and do not need to be replaced, so templates do not need to be used. Follow evidences after the update. It covers creation and deletion of buckets:

Screenshot 2024-06-25 at 05 28 50 Screenshot 2024-06-25 at 05 28 26

Certificates could not be retrieved

(Missed to capture the error)

Updated regex made it pass:

image