Skip to content

[patch] Add support for aibroker 9.1.x #1559

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

Closed
wants to merge 57 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
0cca3a2
[patch] add Task minio in mas-install pipeline
Apr 17, 2025
795771e
[patch] add ansible-devops collection with role minio
Apr 17, 2025
3be61c4
[patch] add Task mariadb in mas-install pipeline
Apr 18, 2025
1388148
[patch] add Task minio and mariadb in generate-tekton-tasks.yml
Apr 18, 2025
a7f9c64
change mariadb instance name
Apr 18, 2025
b5e4777
edit params for minio and mariabd
Apr 20, 2025
587e75a
edit Task minio
Apr 21, 2025
e1c440e
Include aibroker params in mariadb Task
Apr 21, 2025
da8b6d1
Refactor params passing in Task minio and mariadb
Apr 21, 2025
42f63b9
Add conditions(when to deploy Task) for Task minio and mariadb
Apr 22, 2025
2fa2397
Remove change from app.py
Apr 22, 2025
ea297cd
edit app.py
Apr 22, 2025
c01cde3
edit app.py
Apr 22, 2025
b4da2da
Edit app.py for fix pre-commit failed
Apr 23, 2025
77f4db8
edit env-vars for minio task
Apr 24, 2025
b4b557a
[minor] remove ansible-devops tar file
Apr 24, 2025
4981312
Merge branch 'master' into aibroker-b75
Bhautik-Vala Apr 24, 2025
6ceb145
[minor] pass artifactory related params to kmodel
Apr 25, 2025
95128d4
[minor] change ansible devops collection
Apr 28, 2025
f4b8014
[minor] add new ansible collection for testing minio without route
Apr 28, 2025
c9df52b
[minor] change ansible-devops collection
May 1, 2025
5d331f2
Merge branch 'master' into aibroker-b75
May 1, 2025
1974c60
[minor] change ansible collection
May 1, 2025
8b1dcc0
[minor] change ansible collection
May 1, 2025
7cfa5da
[minor] change ansible collection
May 2, 2025
2484b7f
[minor] change ansible collection
May 2, 2025
cbc0c43
[patch] change collection of ansible
May 4, 2025
0efc255
[patch] change ansible collection
May 5, 2025
b11c3a4
[patch] Add support for aibroker 9.1.x
May 5, 2025
b18a075
[patch] fix aibroker-tenant role
May 6, 2025
0cfb232
[patch] fix the order of task for aibroker
May 6, 2025
62fb7be
[patch] fix typo in tasks
May 6, 2025
86fc3a3
[patch] fix name for task aibroker-tenant
May 6, 2025
6653001
[patch] add env var MAS_APP_ID in aibroker
May 6, 2025
86af9e7
[patch] change ansible collection
May 6, 2025
4869850
[patch] change ansible collection
May 6, 2025
2bdfc1b
[patch] change ansible collection
May 6, 2025
b2308c3
[patch] change ansible collection
May 6, 2025
3a46db9
[patch] change ansible collection
May 7, 2025
2aa5878
[patch] use workspace config for aibroker and aibroker tenant Task
May 7, 2025
087280d
[patch]Add workspace shared-configs to aibroker and aibroker-tenant Task
May 7, 2025
9574909
[patch] add optional flag with configs workspace
May 8, 2025
bcd3128
[patch] add new line in tasks aibroker and aibroker-tenant
May 8, 2025
17a6cd6
[patch] configure db2 for aibroker
May 8, 2025
7a1afea
[patch] add var for db2_aibroker
May 8, 2025
ea473ed
[patch]add aibroker in catalog table
May 8, 2025
c79d2f0
[patch] change ansible collection
May 8, 2025
26a9680
[patch] add mas_icr_cp in aibroker and aibroker-tenant
May 8, 2025
f32aa1d
[patch]Add db2 after mariadb
May 9, 2025
7903a65
[patch] change ansible collection
May 9, 2025
b6c7e95
[patch] change ansible collection
May 9, 2025
79795c7
[patch] change ansible collection
May 9, 2025
eaf54f1
[patch] add MAS_AIBROKER_SAAS to aibroker related tasks
May 10, 2025
3f8e923
[patch] Add support for stand-alone aibroker installation
May 11, 2025
5ab2e32
[patch] Add aibroker related condition for grafana
May 11, 2025
05200fa
[patch] Add support for AIBroker FVT
May 14, 2025
83ac207
[patch] Add support for AIBroker FVT
May 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added image/cli/install/ibm-mas_devops.tar.gz
Binary file not shown.
Binary file added image/cli/install/mas_devops.tar.gz
Binary file not shown.
43 changes: 43 additions & 0 deletions image/cli/masfvt/fvt-aibroker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
- hosts: localhost
any_errors_fatal: true
vars:
# Image Pull Policy
image_pull_policy: "{{ lookup('env', 'IMAGE_PULL_POLICY') }}"
# MAS Details
mas_app_channel_aibroker: "{{ lookup('env', 'MAS_APP_CHANNEL_AIBROKER') }}"
mas_instance_id: "{{ lookup('env', 'MAS_INSTANCE_ID') }}"
mas_workspace_id: "{{ lookup('env', 'MAS_WORKSPACE_ID') }}"
# FVT Configuration
fvt_image_registry: "{{ lookup('env', 'FVT_IMAGE_REGISTRY') }}"
fvt_artifactory_username: "{{ lookup('env', 'FVT_ARTIFACTORY_USERNAME') }}"
fvt_artifactory_token: "{{ lookup('env', 'FVT_ARTIFACTORY_TOKEN') }}"
fvt_digest_ctf: "{{ lookup('env', 'FVT_DIGEST_CTF') }}"
fvt_digest_aibroker: "{{ lookup('env', 'FVT_DIGEST_AIBROKER') }}"
ivt_digest_core: "{{ lookup('env', 'IVT_DIGEST_CORE') }}"
# Pipeline Run Info
devops_build_number: "{{ lookup('env', 'DEVOPS_BUILD_NUMBER') | default('0', True) }}"
pipelinerun_name: "{{ lookup('env', 'PIPELINERUN_NAME') | default('mas-fvt-aibroker', True) }}-{{ devops_build_number }}"
pipelinerun_namespace: "{{ lookup('env', 'PIPELINERUN_NAMESPACE') | default('mas-' ~ mas_instance_id ~ '-pipelines', True) }}"
tasks:
- name: "Debug"
debug:
msg:
- "pipelinerun_name .................. {{ pipelinerun_name }}"
- "pipelinerun_namespace ............. {{ pipelinerun_namespace }}"
- ""
- "mas_app_channel_aibroker ........... {{ mas_app_channel_aibroker }}"
- "mas_instance_id ................... {{ mas_instance_id }}"
- "mas_workspace_id .................. {{ mas_workspace_id }}"
- ""
- "fvt_image_registry ................ {{ fvt_image_registry }}"
- "fvt_artifactory_username .......... {{ fvt_artifactory_username }}"
- "fvt_artifactory_token ............. {{ fvt_artifactory_token }}"
- "fvt_digest_ctf .................... {{ fvt_digest_ctf }}"
- "fvt_digest_aibroker ................ {{ fvt_digest_aibroker }}"
- "ivt_digest_core ................... {{ ivt_digest_core }}"

- name: "Start fvt-aibroker pipeline"
kubernetes.core.k8s:
apply: true
template: templates/mas-fvt-aibroker.yml.j2
49 changes: 49 additions & 0 deletions image/cli/masfvt/templates/mas-fvt-aibroker.yml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
name: "{{ pipelinerun_name }}"
namespace: "{{ pipelinerun_namespace }}"
labels:
tekton.dev/pipeline: mas-fvt-aibroker
spec:
pipelineRef:
name: mas-fvt-aibroker

serviceAccountName: pipeline
timeouts:
pipeline: "8h"

params:
# Pull Policy
- name: image_pull_policy
value: "{{ image_pull_policy }}"
# MAS Info
- name: mas_app_channel_aibroker
value: "{{ mas_app_channel_aibroker }}"
- name: mas_instance_id
value: "{{ mas_instance_id }}"
- name: mas_workspace_id
value: "{{ mas_workspace_id }}"
# Registry
- name: fvt_image_registry
value: "{{ fvt_image_registry }}"
- name: fvt_artifactory_username
value: "{{ fvt_artifactory_username }}"
- name: fvt_artifactory_token
value: "{{ fvt_artifactory_token }}"
# Digests
- name: fvt_digest_aibroker
value: "{{ fvt_digest_aibroker }}"
- name: ivt_digest_core
value: "{{ ivt_digest_core }}"

workspaces:
# The generated configuration files
- name: shared-configs
persistentVolumeClaim:
claimName: config-pvc
# PodTemplates configurations
- name: shared-pod-templates
secret:
secretName: pipeline-pod-templates
1 change: 1 addition & 0 deletions python/src/mas/cli/install/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ def processCatalogChoice(self) -> list:
"Optimizer": "mas_optimizer_version",
"Predict": "mas_predict_version",
"Inspection": "mas_visualinspection_version",
"Aibroker": "mas_aibroker_version",
}
else:
applications = {
Expand Down
50 changes: 50 additions & 0 deletions python/src/mas/cli/install/argParser.py
Original file line number Diff line number Diff line change
Expand Up @@ -514,6 +514,56 @@ def isValidFile(parser, arg) -> str:
required=False,
help="Customize Manage database encryption keys"
)
aibrokerArgGroup.add_argument(
"--minio-root-user",
dest="minio_root_user",
required=False,
help="Root user for minio"
)
aibrokerArgGroup.add_argument(
"--minio-root-password",
dest="minio_root_password",
required=False,
help="Password for minio rootuser"
)
aibrokerArgGroup.add_argument(
"--mariadb-user",
dest="mariadb_user",
required=False,
help="Mariadb user name"
)
aibrokerArgGroup.add_argument(
"--mariadb-password",
dest="mariadb_password",
required=False,
help="Password for mariadb user"
)
aibrokerArgGroup.add_argument(
"--tenant-entitlement-type",
dest="tenant_entitlement_type",
required=False,
help="Type of aibroker tenant"
)
aibrokerArgGroup.add_argument(
"--tenant-entitlement-start-date",
dest="tenant_entitlement_start_date",
required=False,
help="Start date for Aibroker tenant"
)
aibrokerArgGroup.add_argument(
"--tenant-entitlement-end-date",
dest="tenant_entitlement_end_date",
required=False,
help="End date for Aibroker tenant"
)
aibrokerArgGroup.add_argument(
"--aibroker-stand-alone",
dest="aibroker_stand_alone",
required=False,
help="Install stand-alone aibroker without MAS",
action="store_const",
const="true"
)

# Arcgis
# -----------------------------------------------------------------------------
Expand Down
8 changes: 8 additions & 0 deletions python/src/mas/cli/install/params.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,14 @@
"mas_aibroker_db_secret_name",
"mas_aibroker_db_secret_key",
"mas_aibroker_db_secret_value",
"mariadb_user",
"mariadb_password",
"minio_root_user",
"minio_root_password",
"tenant_entitlement_type",
"tenant_entitlement_start_date",
"tenant_entitlement_end_date",
"aibroker_stand_alone",
# Special chars
"mas_special_characters"
]
9 changes: 9 additions & 0 deletions python/src/mas/cli/install/settings/manageSettings.py
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,9 @@ def aibrokerSettings(self) -> None:
self.printH2("Maximo AI Broker Settings - Storage, WatsonX, MariaDB details")
self.printDescription(["Customise AI Broker details"])
self.promptForString("Storage provider", "mas_aibroker_storage_provider")
if self.getParam("mas_aibroker_storage_provider") == "minio":
self.promptForString("minio root username", "minio_root_user")
self.promptForString("minio root password", "minio_root_password")
self.promptForString("Storage access key", "mas_aibroker_storage_accesskey")
self.promptForString("Storage secret key", "mas_aibroker_storage_secretkey")
self.promptForString("Storage host", "mas_aibroker_storage_host")
Expand All @@ -289,9 +292,15 @@ def aibrokerSettings(self) -> None:
self.promptForString("Watsonxai machine learning url", "mas_aibroker_watsonxai_url")
self.promptForString("Watsonxai project id", "mas_aibroker_watsonxai_project_id")

self.promptForString("Mariadb username", "mariadb_user")
self.promptForString("Mariadb password", "mariadb_password")

self.promptForString("Database host", "mas_aibroker_db_host")
self.promptForString("Database port", "mas_aibroker_db_port")
self.promptForString("Database user", "mas_aibroker_db_user")
self.promptForString("Database name", "mas_aibroker_db_database")
self.promptForString("Database Secretname", "mas_aibroker_db_secret_name")
self.promptForString("Database password", "mas_aibroker_db_secret_value")
self.promptForString("Tenant entitlement type", "tenant_entitlement_type")
self.promptForString("Tenant start date", "tenant_entitlement_start_date")
self.promptForString("Tenant end date", "tenant_entitlement_end_date")
8 changes: 8 additions & 0 deletions python/src/mas/cli/install/summarizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,14 @@ def aibrokerSummary(self) -> None:
self.printParamSummary(" + Database name", "mas_aibroker_db_database")
self.printParamSummary(" + Database Secretname", "mas_aibroker_db_secret_name")
self.printParamSummary(" + Database password", "mas_aibroker_db_secret_value")
if self.getParam("mas_aibroker_storage_provider") == "minio":
self.printParamSummary(" + minio root username", "minio_root_user")
self.printParamSummary(" + minio root password", "minio_root_password")
self.printParamSummary(" + Mariadb username", "mariadb_user")
self.printParamSummary(" + Mariadb password", "mariadb_password")
self.printParamSummary(" + Tenant entitlement type", "tenant_entitlement_type")
self.printParamSummary(" + Tenant start date", "tenant_entitlement_start_date")
self.printParamSummary(" + Tenant end date", "tenant_entitlement_end_date")
else:
self.printSummary("AI Broker", "Do Not Install")

Expand Down
1 change: 1 addition & 0 deletions tekton/generate-tekton-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
- fvt-monitor
- fvt-optimizer
- fvt-predict
- fvt-aibroker
- fvt-sls
- fvt-visualinspection
- fvt-launcher
Expand Down
4 changes: 4 additions & 0 deletions tekton/generate-tekton-tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,12 @@
src: "{{ task_src_dir }}/aibroker/{{ item }}.yml.j2"
dest: "{{ task_target_dir }}/{{ item }}.yaml"
with_items:
- minio
- mariadb
- aibroker
- kmodels
- odh
- aibroker-tenant

# 4. Generate Tasks (FVT)
# -------------------------------------------------------------------------
Expand Down Expand Up @@ -103,6 +106,7 @@
- launchfvt-monitor
- launchfvt-optimizer
- launchfvt-predict
- launchfvt-aibroker
- launchfvt-visualinspection
- launchfvt-upgrade-post
- launchfvt-upgrade-pre
Expand Down
36 changes: 36 additions & 0 deletions tekton/src/params/install-aibroker.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,39 @@
type: string
description: database secret value for IBM Maximo AI Broker
default: ""
- name: minio_root_user
type: string
description: root user for minio
default: ""
- name: minio_root_password
type: string
description: password for minio root user
default: ""
- name: mariadb_user
type: string
description: user for mariadb
default: ""
- name: mariadb_password
type: string
description: password for mariadb user
default: ""
- name: tenant_entitlement_type
type: string
description: type of tenant
default: ""
- name: tenant_entitlement_start_date
type: string
description: define start date for tenant
default: ""
- name: tenant_entitlement_end_date
type: string
description: define end date for tenant
default: ""
- name: db2_action_aibroker
type: string
description: install dedicated db2 for aibroker
default: "install"
- name: aibroker_stand_alone
type: string
description: install aibroker stand-alone without MAS
default: "false"
Loading
Loading