Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Enhancement to Kafka configuration retrieval from mas install #1433

@rene-oromtz

Description

@rene-oromtz

Feature and motivation

Currently if using existing Kafka instance the installer is expecting the file to be with the following name format:
kafka-<MAS_INSTANCE_ID>-system.yaml

If the name of the existing file does not exist, the installer gets terminated and whole process needs to be rerun:

21) Configure Kafka
Maximo IoT 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] n
Select Local configuration directory /mascli
Searching for system kafka configuration file in /mascli/kafka-cpstmas-system.yaml ...
Fatal Error: Kafka configuration file does not exist: '/mascli/kafka-cpstmas-system.yaml'.  In order to continue, provide an existing Kafka configuration file or choose one of the supported Kafka providers to be installed

Possible enhancement is to allow user to specify the name of the kafka configuration file, similar as when the user provide the license file.

Instead of asking for the local configuration directory e.g. /mascli, installer can ask for the file name e.g /mascli/kafka-maskafka-amq-streams.yml

Usage example

This can be used in case user created Kafka instance manually or even with Kafka ansible role.
In this case, in my cluster I created the Kafka cluster with Kafka role provided by Maximo, since I specified MAS_CONFIG_DIR, the role created a file in /mascli directory (my specified MAS_CONFIG_DIR).

However, the file was named: kafka-maskafka-amq-streams.yml (I'm guessing with format kafka-<KAFKA_CLUSTER_NAME>-<KAFKA_NAMESPACE>) so when I tried to run the mas install I faced the error above.

Another option could be to modify kafka role to name the file: kafka-<MAS_INSTANCE_ID>-system.yaml but I believe allowing customer to provide the file name instead should provide more control over the file name.

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions