Skip to content

Commit 35fa883

Browse files
authored
Merge pull request #1103 from IBM/ba-2026-02-13
CP4BA 25.0.1 / IPM 2.1.0 / RPA 30.0.1 / BAMOE 9.3.1 / ICA 1.0.2
2 parents 08fe6bd + 8d23130 commit 35fa883

48 files changed

Lines changed: 1266 additions & 39 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ playbooks/ier_configmgr_workspace
1010
.version-info
1111
*ier_configmgr_workspace
1212
.ansible
13+
workspace_config.yaml
1314
.logs
1415
.evfevent
15-
.env
16+
.env

automation-roles/50-install-cloud-pak/cp4ba/config/tasks/fill-capabilities.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
- name: Enable content Pattern for ica
2+
ansible.builtin.set_fact:
3+
_current_cp4ba_cluster: "{{ _current_cp4ba_cluster | combine(insert, recursive=true) }}"
4+
vars:
5+
insert:
6+
cp4ba:
7+
patterns:
8+
content:
9+
enabled: true
10+
when: _current_cp4ba_cluster.ica.enabled
11+
112
- name: Enable parent Pattern for decisions
213
ansible.builtin.set_fact:
314
_current_cp4ba_cluster: "{{ _current_cp4ba_cluster | combine(insert, recursive=true) }}"

automation-roles/50-install-cloud-pak/cp4ba/config/tasks/internal-variables.yml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,7 @@ postgresql_hostname: "postgresql.{{ postgresql_project_name }}.svc.cluster.local
4747
mail_hostname: "mail.{{ mail_project_name }}.svc.cluster.local"
4848
mssql_hostname: "mssql.{{ mssql_project_name }}.svc.cluster.local"
4949
nexus_hostname: "nexus.{{ nexus_project_name }}.svc.cluster.local"
50-
51-
opensearch_admin_user: opensearch-admin
52-
opensearch_universal_password: "{{ universal_password }}"
50+
opensearch_hostname: "opensearch.{{ opensearch_project_name }}.svc.cluster.local"
5351

5452
usage_action: "{{ global_action }}"
5553
usage_project_name: "{{ main_project_name }}"
@@ -123,6 +121,13 @@ cloudbeaver_postgresql_universal_password: "{{ universal_password }}"
123121
cloudbeaver_mssql_hostname: "{{ mssql_hostname }}"
124122
cloudbeaver_mssql_universal_password: "{{ universal_password }}"
125123

124+
opensearch_action: "{{ global_action }}"
125+
opensearch_project_name: "{{ collateral_project_name }}"
126+
opensearch_storage_class_name: "{{ block_storage_class_name }}"
127+
opensearch_ca_key_path: "{{ ca_key_path }}"
128+
opensearch_ca_crt_path: "{{ ca_crt_path }}"
129+
opensearch_universal_password: "{{ universal_password }}"
130+
126131
cpfs_action: "{{ global_action }}"
127132
cpfs_universal_password: "{{ universal_password }}"
128133
cpfs_storage_class_name: "{{ storage_class_name }}"
@@ -151,8 +156,9 @@ cp4ba_ca_crt_path: "{{ ca_crt_path }}"
151156
cp4ba_google_client_id: "{{ google_client_id }}"
152157
cp4ba_google_client_secret: "{{ google_client_secret }}"
153158
cp4ba_deployment_platform: "{{ deployment_platform }}"
154-
cp4ba_opensearch_universal_password: "{{ opensearch_universal_password }}"
155-
cp4ba_opensearch_admin_user: "{{ opensearch_admin_user }}"
159+
160+
cp4ba_opensearch_universal_password: "{{ universal_password }}"
161+
cp4ba_opensearch_admin_user: opensearch-admin
156162

157163
mssql_action: "{{ global_action }}"
158164
mssql_project_name: "{{ collateral_project_name }}"
@@ -180,3 +186,10 @@ pm_postgresql_password: "{{ postgresql_universal_password }}"
180186

181187
bamoe_action: "{{ global_action }}"
182188
bamoe_project_name: "{{ main_project_name }}"
189+
190+
ica_action: "{{ global_action }}"
191+
ica_universal_password: "{{ universal_password }}"
192+
ica_project_name: "{{ main_project_name }}"
193+
ica_storage_class_name: "{{ storage_class_name }}"
194+
ica_opensearch_hostname: "{{ opensearch_hostname }}"
195+
ica_opensearch_password: "{{ opensearch_universal_password }}"

automation-roles/50-install-cloud-pak/cp4ba/config/tasks/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@
5757
ansible.builtin.set_fact:
5858
mssql_enabled: "{{ true if _current_cp4ba_cluster.rpa.enabled else false }}"
5959

60+
- name: OpenSearch config variable
61+
ansible.builtin.set_fact:
62+
opensearch_enabled: "{{ true if _current_cp4ba_cluster.ica.enabled else false }}"
63+
6064
- name: Get OCP Apps Endpoint
6165
ansible.builtin.include_role:
6266
name: common

automation-roles/50-install-cloud-pak/cp4ba/cp4ba-cluster/tasks/install.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,13 @@
9999
ansible.builtin.include_role:
100100
name: bamoe
101101
when: _current_cp4ba_cluster.bamoe.enabled
102+
103+
- name: Install OpenSearch
104+
ansible.builtin.include_role:
105+
name: opensearch
106+
when: opensearch_enabled
107+
108+
- name: Install ICA
109+
ansible.builtin.include_role:
110+
name: ica
111+
when: _current_cp4ba_cluster.ica.enabled

automation-roles/50-install-cloud-pak/cp4ba/cp4ba-cluster/tasks/remove.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
- name: Remove ICA
2+
ansible.builtin.include_role:
3+
name: ica
4+
when: _current_cp4ba_cluster.ica.enabled
5+
6+
- name: Remove OpenSearch
7+
ansible.builtin.include_role:
8+
name: opensearch
9+
when: opensearch_enabled
10+
11+
- name: Remove BAMOE
12+
ansible.builtin.include_role:
13+
name: bamoe
14+
when: _current_cp4ba_cluster.bamoe.enabled
15+
116
- name: Remove RPA
217
ansible.builtin.include_role:
318
name: rpa

automation-roles/50-install-cloud-pak/cp4ba/cp4ba-core/tasks/db/fncm.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,47 @@
9494
REVOKE CONNECT ON DATABASE contentdb FROM PUBLIC;
9595
EOF"
9696
register: command_status
97+
98+
# Based on https://www.ibm.com/docs/en/cloud-paks/cp-biz-automation/latest?topic=manager-preparing-databases
99+
# Based on https://www.ibm.com/docs/en/filenet-p8-platform/latest?topic=vtpiicd-creating-postgresql-database-table-spaces-content-platform-engine-object-store
100+
- name: OS1DB DB prepare tablespace
101+
kubernetes.core.k8s_exec:
102+
namespace: "{{ cp4ba_postgresql_project }}"
103+
pod: "{{ postgresql_pod.resources[0].metadata.name }}"
104+
command: >
105+
bash -c "
106+
mkdir -p /pgsqldata/os1db_tbs;
107+
chown postgres:postgres /pgsqldata/os1db_tbs;
108+
"
109+
register: command_status
110+
failed_when: command_status.rc != 0 and command_status.stderr is not search('.*File exists.*')
111+
112+
- name: OS1DB DB
113+
kubernetes.core.k8s_exec:
114+
namespace: "{{ cp4ba_postgresql_project }}"
115+
pod: "{{ postgresql_pod.resources[0].metadata.name }}"
116+
command: >
117+
bash -c "
118+
psql postgresql://postgres:$POSTGRES_PASSWORD@localhost:5432 <<-EOF
119+
-- create user os1db
120+
CREATE USER os1db WITH PASSWORD '{{ cp4ba_postgresql_universal_password }}';
121+
122+
-- create tablespace for os1db
123+
CREATE TABLESPACE os1db_tbs OWNER os1db LOCATION '/pgsqldata/os1db_tbs';
124+
GRANT CREATE ON TABLESPACE os1db_tbs TO os1db;
125+
126+
-- create database os1db
127+
CREATE DATABASE os1db OWNER os1db TABLESPACE os1db_tbs TEMPLATE template0 ENCODING UTF8;
128+
129+
-- Connect to your database and create schema
130+
\c os1db;
131+
CREATE SCHEMA IF NOT EXISTS os1db AUTHORIZATION os1db;
132+
GRANT ALL ON SCHEMA os1db TO os1db;
133+
134+
-- create a schema for os1db and set the default
135+
-- connect to the respective database before executing the below commands
136+
SET ROLE os1db;
137+
ALTER DATABASE os1db SET search_path TO os1db;
138+
REVOKE CONNECT ON DATABASE os1db FROM PUBLIC;
139+
EOF"
140+
register: command_status

automation-roles/50-install-cloud-pak/cp4ba/cp4ba-core/tasks/postdeploy/ads.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565

6666
- name: Get groups
6767
ansible.builtin.uri:
68-
url: "https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/usermgmt/v2/groups"
68+
url: "https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/usermgmt/v4/groups"
6969
method: GET
7070
headers:
7171
Authorization: "Bearer {{ zen_token }}"

automation-roles/50-install-cloud-pak/cp4ba/cp4ba-core/tasks/postdeploy/fncm.yml

Lines changed: 50 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
- name: Build OS list
2929
ansible.builtin.set_fact:
30-
os_list: ["CONTENT"]
30+
os_list: ["OS1"]
3131

3232
- name: Add IER to OS list
3333
ansible.builtin.set_fact:
@@ -50,6 +50,14 @@
5050
os_list: "{{ os_list + ['DEVOS1'] }}"
5151
when: _current_cp4ba_cluster.cp4ba.patterns.document_processing.enabled
5252

53+
- name: Setup FNCM ASA storage policy for object stores
54+
ansible.builtin.include_tasks: fncm-asa-storage-policy.yml
55+
with_items: "{{ os_list }}"
56+
57+
- name: Add CONTENT to OS list
58+
ansible.builtin.set_fact:
59+
os_list: "{{ os_list + ['CONTENT'] }}"
60+
5361
- name: Enable DYNAMIC CBR Summary for Simple Search
5462
ansible.builtin.uri:
5563
url: "https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/content-services-graphql/graphql"
@@ -83,10 +91,6 @@
8391
failed_when: "'errors' in graphql_response.content"
8492
with_items: "{{ os_list }}"
8593

86-
- name: Setup FNCM Subscription for ECM Content event
87-
ansible.builtin.include_tasks: fncm-asa-storage-policy.yml
88-
with_items: "{{ os_list }}"
89-
9094
- name: Set usage entry
9195
ansible.builtin.include_role:
9296
name: usage
@@ -125,7 +129,9 @@
125129
126130
- GraphQL endpoint: https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/content-services-graphql/graphql
127131
128-
- CONTENT Desktop: https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/icn/navigator/?desktop=CONTENT
132+
- CONTENT Desktop: https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/icn/navigator/?desktop=CONTENT (Uses Database storage policy)
133+
134+
- OS1 Desktop: https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/icn/navigator/?desktop=OS1 (Uses File system storage policy)
129135
130136
- Task Manager API endpoint: https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/tm/api/v1
131137
@@ -157,7 +163,7 @@
157163
158164
```
159165
160-
## MCP Server configuration for watsonx Orchestrate
166+
## MCP Server configuration for watsonx Orchestrate for OS1 object store
161167
162168
Based on https://github.com/ibm-ecm/ibm-content-services-mcp-server
163169
@@ -171,7 +177,7 @@
171177
172178
--entries SERVER_URL=https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/content-services-graphql/graphql \\
173179
174-
--entries OBJECT_STORE=CONTENT \\
180+
--entries OBJECT_STORE=OS1 \\
175181
176182
--entries ZENIAM_ZEN_URL=https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/v1/preauth/validateAuth \\
177183
@@ -197,4 +203,40 @@
197203
198204
--app-id core-cs-mcp-server-connection
199205
206+
orchestrate toolkits add --kind mcp \\
207+
208+
--name property-extraction-and-classification-cs-mcp-server \\
209+
210+
--description \"property-extraction-and-classification-cs-mcp-server\" \\
211+
212+
--command \"uvx --from git+https://github.com/ibm-ecm/ibm-content-services-mcp-server property-extraction-and-classification-cs-mcp-server\" \\
213+
214+
--tools \"*\" \\
215+
216+
--app-id core-cs-mcp-server-connection
217+
218+
orchestrate toolkits add --kind mcp \\
219+
220+
--name legal-hold-cs-mcp-server \\
221+
222+
--description \"legal-hold-cs-mcp-server\" \\
223+
224+
--command \"uvx --from git+https://github.com/ibm-ecm/ibm-content-services-mcp-server legal-hold-cs-mcp-server\" \\
225+
226+
--tools \"*\" \\
227+
228+
--app-id core-cs-mcp-server-connection
229+
230+
orchestrate toolkits add --kind mcp \\
231+
232+
--name ai-document-insight-cs-mcp-server \\
233+
234+
--description \"ai-document-insight-cs-mcp-server\" \\
235+
236+
--command \"uvx --from git+https://github.com/ibm-ecm/ibm-content-services-mcp-server ai-document-insight-cs-mcp-server\" \\
237+
238+
--tools \"*\" \\
239+
240+
--app-id core-cs-mcp-server-connection
241+
200242
"

automation-roles/50-install-cloud-pak/cp4ba/cp4ba-core/tasks/postdeploy/odm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
- name: Get groups
2929
ansible.builtin.uri:
30-
url: "https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/usermgmt/v2/groups"
30+
url: "https://cpd-{{ cp4ba_project_name }}.{{ apps_endpoint_domain }}/usermgmt/v4/groups"
3131
method: GET
3232
headers:
3333
Authorization: "Bearer {{ zen_token }}"

0 commit comments

Comments
 (0)