[
https://issues.apache.org/jira/browse/KAFKA-18775?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17926627#comment-17926627
]
Kuan Po Tseng commented on KAFKA-18775:
---------------------------------------
Hi [~chia7712] , are you working on this issue? If not, may I take over it?
Thank you!
> MetadataQuorumCommand `add-controller`/`remove-controller` should get
> directory id and endpoint by Admin
> --------------------------------------------------------------------------------------------------------
>
> Key: KAFKA-18775
> URL: https://issues.apache.org/jira/browse/KAFKA-18775
> Project: Kafka
> Issue Type: Sub-task
> Reporter: Chia-Ping Tsai
> Assignee: Chia-Ping Tsai
> Priority: Major
> Labels: need-kip
>
> Currently, users are required to provide controller.properties to the
> MetadataQuorumCommand. This necessitates the MetadataQuorumCommand to parse
> the config to obtain the metadata local path and endpoint for adding or
> removing voters. This approach has several drawbacks:
> 1. Limited Accessibility: The node executing the tool must have direct access
> to the metadata path of the node being added or removed. This restricts the
> ability to use node A to manage node B, as node A may not have access to the
> metadata folder on node B.
> 2. Dependency on Node Configuration: The tool requires access to the
> configuration of the node being managed
> However, the essential information for these operations – the "directory
> UUID" and the "endpoints" – can be obtained through the Admin API.
> 1. The Admin#describeMetadataQuorum method can provide the directory UUID.
> 2. The Admin#describeConfigs method, utilizing the bootstrap.controller
> address, can be used to retrieve the necessary endpoints.
> Based on this observation, I propose a new, simplified approach for
> adding/removing voters using the MetadataQuorumCommand.
> ```
> bin/kafka-metadata-quorum --bootstrap-controller localhost:9092
> add-controller --controller-id <id>
> ```
> This not only simplifies the command line but also enables us to run it on
> different nodes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)