To all nodes to be decommissioned, recommissioned and put into maintenance, we need a few commands.
These will be added to the existing "scm cli". 3 commands are proposed:
ozone scmcli dnadmin decommission hosta hostb hostc:port ...
Put nodes into maintenance:
osone scmcli dnadmin maintenance hosta hostb hostc:port ... <-endHours>
Take nodes out of maintenance or halt decommission:
ozone scmcli dnadmin recommission hosta hostb hostc:port
These 3 commands will call 3 new protobuf messages and they will be part of the "StorageContainerLocationProtocol":
In additional a new class NodeDecommissionManager will be introduced that will receive these commands and carry out the decommission steps.
In this patch NodeDecommissionManager is only a skeleton implementation to receive the commands as this patch is mainly focused on getting the CLI commands and protobuf messages in place.