Status
Current state: Under Discussion
Discussion thread: here
JIRA: here
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Currently both ReassignPartitionsCommand and LogDirsCommand instantiates AdminClient using bootstrap.servers provided by the user. Since it does not take other ssl-related properties from user, these tools will not be able to talk to broker over SSL.
In order to solve this problem, these tools should allow users to provide property file containing arbitrary configs to be passed to AdminClient.
Public Interfaces
Add optional argument "config-file" to both kafka-reassign-partitions.sh and kafka-log-dirs.sh with the following specification
parser.accepts("config-file", "Property file containing configs to be passed to admin client.") .withRequiredArg .describedAs("Admin client property file") .ofType(classOf[String])
Proposed Changes
When "--config-file" is specified by user, the property file will be used to instantiate the AdminClient used by these tools. This is the same approach used by "--config-file" in kafka.tools.StreamsResetter.
The bootstrap url specified by "--bootstrap-server" option will take precedence over the bootstrap.servers specified in the property file.