-
Notifications
You must be signed in to change notification settings - Fork 102
[minor] Support AI Service configuration in Maximo Manage #2007
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
ibm/mas_devops/roles/suite_manage_aiservice_config/defaults/main.yml
Outdated
Show resolved
Hide resolved
| aiservice_instance_id: "{{ lookup('env', 'AISERVICE_INSTANCE_ID') }}" | ||
|
|
||
| # AI Service namespace | ||
| aiservice_namespace: "aiservice-{{ aiservice_instance_id }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't seem to integrate at a tenant level? Isn't the point of the aiservice architecture that we will have:
mas1 -> aiservice1-mas1 tenant
mas2 -> aiservice1-mas2 tenant
e.g. the api secret used: aiservice-{{ aiservice_instance_id }}-user----apikey-secret" .. that would be the same for every MAS instance using AI Service.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @durera ,Thanks for your review.
I have updated the implementation to scope things based on tenant ID rather than instance ID, so each MAS instance integrates with its own AI Service tenant.
e.g. name: "{{ aiservice_tenant_id }}----apikey-secret"
I also discussed the multi-tenant scenario with Jasmin, and he suggested that it is safer to require AISERVICE_TENANT_ID as a mandatory variable, instead of implicitly defaulting to aiservice_tenants_list.resources[0].metadata.name. Assuming the first tenant could lead to incorrect integrations when multiple tenants are present.
Let me know your thoughts. If this is the right approach, I will keep AISERVICE_TENANT_ID mandatory.
e.g. AISERVICE_TENANT_ID="aiservice-aiservice1-user" or "aiservice-aiservice1-xyz" etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think requiring explicit AISERVICE_TENANT_ID is correct approach, however I would expect AISERVICE_TENANT_ID is set to just the tenant part, ie user in example above, rather than the full AISERVICE_TENANT_ID=aiservice-{instanceid}-{tenantid}.
This is more consitant with WORKSPACE_ID, which is basically the same thing. Then, when we need the fully qualified tenant id in the code, we can use something like:
AISERVICE_TENANT_FQN: "aiservice-{{ aiservice_instance_id }}-{{ aiservice_tenant_id }}`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks David, I will keep the aiservice_tenant_id variable mandatory and construct AISERVICE_TENANT_FQN based on the user provided aiservice_tenant_id, as you suggested.
Description
Adds new Ansible role suite_manage_aiservice_config that automates AI Service configuration for Maximo Manage. The role retrieves AI Service connection details (API key, URL, tenant ID), configures Manage encryption secret properties and imports TLS certificate.
https://www.ibm.com/docs/en/masv-and-l/cd?topic=manage-deploying-maximo-ai-service#taskmaximoaiservice__steps__1
Test Results
Test result:
Jira link: https://jsw.ibm.com/browse/MASAIAUTO-10