1
0
Fork 0

Set credentials on Remover

master
Philip O'Toole 10 months ago
parent 800d79c82e
commit d45e1b0e6e

@ -24,6 +24,7 @@ type Remover struct {
timeout time.Duration timeout time.Duration
control Control control Control
client *Client client *Client
creds *Credentials
log *log.Logger log *log.Logger
} }
@ -38,6 +39,11 @@ func NewRemover(client *Client, timeout time.Duration, control Control) *Remover
} }
} }
// SetCredentials sets the credentials for the Remover.
func (r *Remover) SetCredentials(creds *Credentials) {
r.creds = creds
}
// Do executes the node-removal operation. // Do executes the node-removal operation.
func (r *Remover) Do(id string, confirm bool) error { func (r *Remover) Do(id string, confirm bool) error {
rn := &command.RemoveNodeRequest{ rn := &command.RemoveNodeRequest{
@ -53,7 +59,7 @@ func (r *Remover) Do(id string, confirm bool) error {
} }
r.log.Printf("removing node %s from cluster via leader at %s", id, laddr) r.log.Printf("removing node %s from cluster via leader at %s", id, laddr)
if innerErr = r.client.RemoveNode(rn, laddr, nil, r.timeout); innerErr != nil { if innerErr = r.client.RemoveNode(rn, laddr, r.creds, r.timeout); innerErr != nil {
r.log.Printf("failed to remove node %s from cluster via leader at %s: %s", id, laddr, innerErr) r.log.Printf("failed to remove node %s from cluster via leader at %s: %s", id, laddr, innerErr)
return innerErr return innerErr
} }

@ -195,6 +195,7 @@ func main() {
if cfg.RaftClusterRemoveOnShutdown { if cfg.RaftClusterRemoveOnShutdown {
remover := cluster.NewRemover(clstrClient, 5*time.Second, str) remover := cluster.NewRemover(clstrClient, 5*time.Second, str)
remover.SetCredentials(credentialsFor(credStr, cfg.JoinAs))
log.Printf("initiating removal of this node from cluster before shutdown") log.Printf("initiating removal of this node from cluster before shutdown")
if err := remover.Do(cfg.NodeID, true); err != nil { if err := remover.Do(cfg.NodeID, true); err != nil {
log.Fatalf("failed to remove this node from cluster before shutdown: %s", err.Error()) log.Fatalf("failed to remove this node from cluster before shutdown: %s", err.Error())

Loading…
Cancel
Save