accept.go 930 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package node
  2. import (
  3. "fmt"
  4. "github.com/docker/docker/api/client"
  5. "github.com/docker/docker/cli"
  6. "github.com/docker/engine-api/types/swarm"
  7. "github.com/spf13/cobra"
  8. "github.com/spf13/pflag"
  9. )
  10. func newAcceptCommand(dockerCli *client.DockerCli) *cobra.Command {
  11. var flags *pflag.FlagSet
  12. cmd := &cobra.Command{
  13. Use: "accept NODE [NODE...]",
  14. Short: "Accept a node in the swarm",
  15. Args: cli.RequiresMinArgs(1),
  16. RunE: func(cmd *cobra.Command, args []string) error {
  17. return runAccept(dockerCli, flags, args)
  18. },
  19. }
  20. flags = cmd.Flags()
  21. return cmd
  22. }
  23. func runAccept(dockerCli *client.DockerCli, flags *pflag.FlagSet, args []string) error {
  24. for _, id := range args {
  25. if err := runUpdate(dockerCli, id, func(node *swarm.Node) {
  26. node.Spec.Membership = swarm.NodeMembershipAccepted
  27. }); err != nil {
  28. return err
  29. }
  30. fmt.Fprintf(dockerCli.Out(), "Node %s accepted in the swarm.\n", id)
  31. }
  32. return nil
  33. }