[patch] MAXMIS-5210: Add Kafka requirement for Manage Civil Infrastructure component#2224
Open
bhavsar909 wants to merge 52 commits intomasterfrom
Open
[patch] MAXMIS-5210: Add Kafka requirement for Manage Civil Infrastructure component#2224bhavsar909 wants to merge 52 commits intomasterfrom
bhavsar909 wants to merge 52 commits intomasterfrom
Conversation
added 30 commits
March 18, 2026 14:27
…tructure component.
added 9 commits
April 21, 2026 14:05
…l Infrastructure component.
bmoferrall
previously approved these changes
Apr 28, 2026
whitfiea
requested changes
Apr 29, 2026
Member
whitfiea
left a comment
There was a problem hiding this comment.
Is this a hard requirement for civil to have Kafka? If I didn't want to use the kafka imageprocessor then this would still say Kafka is required
Author
yes, It is hard requirement for 9.2 |
added 6 commits
May 6, 2026 12:25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add Kafka configuration requirement for Maximo Manage Civil Infrastructure component, extending the existing IoT Kafka validation logic to also support Civil Infrastructure installations.
Changes Made
Core Logic Updates
python/src/mas/cli/install/app.py: Enhanced Kafka validation logic
Added detection for Civil Infrastructure component (civil= in mas_appws_components)
Extended Kafka requirement check to trigger for both IoT and Civil Infrastructure
Improved error messages to provide context-specific guidance:
Combined message when both IoT and Civil are enabled
IoT-specific message when only IoT requires Kafka
Civil-specific message when only Civil Infrastructure requires Kafka
Configuration Settings
python/src/mas/cli/install/settings/kafkaSettings.py: Updated Kafka configuration prompts
Added installManage attribute to type hints
Modified configKafka() method to detect Civil Infrastructure component
Dynamic description generation based on which components require Kafka
Updated user-facing messages to reflect both IoT and Civil Infrastructure requirements
Pipeline Updates
tekton/src/pipelines/taskdefs/dependencies/kafka.yml.j2: Updated pipeline documentation
Clarified comment to reflect that Kafka is required for IoT OR Manage with Civil Infrastructure
Test Results
Tested using cli from cmd as follows:
`
[ibmmas/cli:20.2.0-pre.cikar]mascli$ mas install --dev-mode
IBM Maximo Application Suite Admin CLI v20.2.0-pre.cikar
Powered by https://github.com/ibm-mas/ansible-devops/ and https://tekton.dev/
Already connected to OCP Cluster:
https://console-openshift-console.apps.civilinf-raj-qb1.cp.fyre.ibm.com
Proceed with this cluster? [y/n] y
There are two flavours of the interactive install to choose from: Simplified and Advanced. The simplified option will present fewer dialogs, but you lose the ability to configure the following aspects of the installation:
Show advanced installation options? [y/n] n
IBM Maximo Operator Catalog Selection
Select catalog source v9-civil-amd64
Select channel 9.2.x-dev
Configure Storage Class Usage
Maximo Application Suite and it's dependencies require storage classes that support ReadWriteOnce (RWO) and ReadWriteMany (RWX) access modes:
Storage provider auto-detected: NFS Client
Use the auto-detected storage classes? [y/n] y
By default the MAS instance will be configured to use a cluster-shared License, this provides a shared pool of AppPoints available to all MAS instances on the cluster.
License file /home/mas-config/entitlement.lic
SLS channel 3.x-dev
Contact e-mail address xxx@xxx.com
Contact first name xxx
Contact last name xxxx
IBM entitlement key ********************************************************************************************************************************************************************************************************************************
Artifactory username civil.maximo@de.ibm.com
Artifactory token **********************************************************************************************************************************************************************************************************************************
Instance ID restrictions:
Instance ID civil
Workspace ID restrictions:
Workspace ID civil
Workspace display name restrictions:
Workspace name main
Maximo Application Suite can be installed in a non-production mode for internal development and testing, this setting cannot be changed after installation:
Operational Mode 1
Application Selection
Install IoT? [y/n] n
Install Monitor? [y/n] n
Install Manage? [y/n] y
Custom channel for manage9.2.x-dev-civil-rbac
Install Assist? [y/n] n
Install Optimizer? [y/n] n
Install Visual Inspection? [y/n] y
Custom channel for visualinspection9.2.x-dev
Install Real Estate and Facilities? [y/n] n
Install AI Service? [y/n] n
Configure Maximo Manage
Customize your Manage installation, refer to the product documentation for more information
10.1) Maximo Manage Components
The default configuration will install Manage with Health enabled, alternatively choose exactly what industry solutions and add-ons will be configured
Select components to enable? [y/n] y
10.2) Maximo Manage Settings - Customization
Provide a customization archive to be used in the Manage build process
Include customization archive? [y/n] n
10.3) Maximo Manage Settings - Other
Configure MongoDb
The installer can setup mongoce in your OpenShift cluster (available only for amd64) or you may choose to configure MAS to use an existing mongodb
Create MongoDb cluster using MongoDb Community Edition Operator? [y/n] y
Configure Databases
The installer can setup one or more IBM Db2 instances in your OpenShift cluster for the use of applications that require a JDBC datasource (IoT, Manage, Monitor, & Predict, Real Estate and Facilities) or you may choose to configure MAS to use an existing database
12.1) Database Configuration for Maximo Manage
Maximo Manage can be configured to share the system Db2 instance or use it's own dedicated database:
Create Manage dedicated Db2 instance using the IBM Db2 Universal Operator? [y/n] y
Maximo Manage Civil Infrastructure requires a shared system-scope Kafka instance
Supported Kafka providers: Strimzi, Red Hat AMQ Streams, IBM Cloud Event Streams and AWS MSK
You may also choose to configure MAS to use an existing Kafka instance by providing a pre-existing configuration file
Create system Kafka instance using one of the supported providers? [y/n] y
Strimzi: Cluster Version
The version of the Strimzi operator available on your cluster will determine the supported versions of Kafka that can be deployed.
Kafka version 3.9.0
Install Grafana? [y/n] y
Additional Configuration
Additional resource definitions can be applied to the OpenShift Cluster during the MAS configuration step
The primary purpose of this is to apply configuration for Maximo Application Suite itself, but you can use this to deploy ANY additional resource into your cluster
Use additional configurations? [y/n] n
Non-Interactive Install Command
Save and re-use the following script to re-run this install without needing to answer the interactive prompts again
export IBM_ENTITLEMENT_KEY=x
export ARTIFACTORY_USERNAME=x
export ARTIFACTORY_TOKEN=x
mas install --mas-catalog-version v9-civil-amd64 --ibm-entitlement-key $IBM_ENTITLEMENT_KEY
--mas-channel 9.2.x-dev --mas-instance-id civil --mas-workspace-id civil --mas-workspace-name "main"
--servicemesh "false"
--storage-class-rwo "nfs-client" --storage-class-rwx "nfs-client"
--storage-pipeline "nfs-client" --storage-accessmode "ReadWriteMany"
--sls-channel "3.x-dev" --license-file "/home/mas-config/entitlement.lic"
--contact-email "xxx@xxx.com" --contact-firstname "xxx" --contact-lastname "xxxx"
--mongodb-namespace "mongoce"
--manage-channel "9.2.x-dev-civil-rbac"
--visualinspection-channel "9.2.x-dev"
--manage-jdbc "workspace-application"
--manage-components "base=latest,civil=latest"
--manage-server-bundle-size "dev"
--db2-manage
--db2-channel "v110509.0"
--db2-namespace "db2u"
--db2-type "db2wh"
--db2-cpu-requests "4000m"
--db2-cpu-limits "6000m"
--db2-memory-requests "8Gi"
--db2-memory-limits "12Gi"
--db2-backup-storage "50Gi"
--db2-data-storage "50Gi"
--db2-logs-storage "10Gi"
--db2-meta-storage "10Gi"
--db2-temp-storage "10Gi"
--kafka-provider "strimzi"
--kafka-version "3.9.0"
--artifactory-username $ARTIFACTORY_USERNAME --artifactory-token $ARTIFACTORY_TOKEN
--dev-mode
--accept-license --no-confirm
Connected to:
16.1) Pipeline Configuration
Service Account ......................... Default
Image Pull Policy ....................... Default
Skip Pre-Install Healthcheck ............ No
16.2) OpenShift Container Platform
Worker Node Architecture ................ amd64
Storage Class Provider .................. nfs
ReadWriteOnce Storage Class ............. nfs-client
ReadWriteMany Storage Class ............. nfs-client
Certificate Manager ..................... redhat
Cluster Ingress Certificate Secret ...... Default
Single Node OpenShift ................... No
16.3) IBM Data Reporter Operator (DRO) Configuration
Contact e-mail .......................... xxx@xxx.com
First name .............................. xxx
Last name ............................... xxxx
Install Namespace ....................... Default
16.4) IBM Suite License Service
Namespace ............................... Default
Subscription Channel .................... 3.x-dev
IBM Open Registry ....................... docker-na-public.artifactory.swg-devops.com/wiotp-docker-local/cpopen
License File ............................ /home/mas-config/entitlement.lic
16.5) IBM Maximo Application Suite
Instance ID ............................. civil
Workspace ID ............................ civil
Workspace Name .......................... main
Operational Mode ........................ Production
Install Mode ............................ Connected Install
Network Routing Mode .................... Default
Use Service Mesh ........................ false
Configure Suite to run in IPV6 .......... Default
Manual Certificates ..................... Not Configured
Enable Guided Tour ...................... Default
Catalog Version ......................... v9-civil-amd64
Subscription Channel .................... 9.2.x-dev
IBM Entitled Registry ................... docker-na-public.artifactory.swg-devops.com/wiotp-docker-local
IBM Open Registry ....................... docker-na-public.artifactory.swg-devops.com/wiotp-docker-local/cpopen
Enable feature adoption metrics ......... Default
Enable deployment progression metrics ... Default
Enable usability metrics ................ Default
Trust Default Cert Authorities .......... true
Additional Config ....................... Not Configured
Pod Templates ........................... Not Configured
16.6) IBM Maximo Application Suite Applications
IoT ..................................... Do Not Install
Monitor ................................. Do Not Install
Manage .................................. 9.2.x-dev-civil-rbac
Loc Srv Esri (arcgis) ................... Do Not Install
Predict ................................. Do Not Install
Optimizer ............................... Do Not Install
Assist .................................. Do Not Install
Visual Inspection ....................... 9.2.x-dev
Facilities .............................. Do Not Install
16.7) MongoDb
Type .................................... MongoCE Operator
Install Namespace ....................... mongoce
16.8) IBM Db2 Univeral Operator Configuration
System Instance ......................... Do Not Install
Dedicated Manage Instance ............... Install
Install Namespace ....................... db2u
Subscription Channel .................... v110509.0
CPU Request ............................. 4000m
CPU Limit ............................... 6000m
Memory Request .......................... 8Gi
Memory Limit ........................... 12Gi
Meta Storage ............................ 10Gi
Data Storage ............................ 50Gi
Backup Storage .......................... 50Gi
Temp Storage ............................ 10Gi
Transaction Logs Storage ................ 10Gi
Node Affinity ........................... None
Node Tolerations ........................ None
16.9) Cloud Object Storage
Type .................................... None
16.10) Kafka
Provider ................................ strimzi
Version ................................. 3.9.0
Install Namespace ....................... Default
16.11) Grafana
Install Grafana ......................... Install
Grafana namespace ....................... Default
Grafana storage size .................... Default
16.12) Slack Integration
Slack Channel ........................... Not Configured
Please carefully review your choices above, correcting mistakes now is much easier than after the install has begun
Proceed with these settings? [y/n] y
✅️ OpenShift Pipelines Operator is installed and ready to use
✅️ Namespace is ready (mas-civil-pipelines)
✅️ MAS CLI image deployment test completed
✅️ Latest Tekton definitions are installed (v20.2.0-pre.cikar)
✅️ PipelineRun for civil install submitted
View progress:
https://console-openshift-console.apps.civilinf-raj-qb1.cp.fyre.ibm.com/k8s/ns/mas-civil-pipelines/tekton.dev~v1beta1~PipelineRun/civil-install-260428-0610
[ibmmas/cli:20.2.0-pre.cikar]mascli$
`
Pipeline run from cluster: