github.com/yasker/longhorn-engine@v0.0.0-20160621014712-6ed6cfca0729/app/add_replica.go (about)

     1  package app
     2  
     3  import (
     4  	"errors"
     5  
     6  	"github.com/Sirupsen/logrus"
     7  	"github.com/codegangsta/cli"
     8  	"github.com/rancher/longhorn/sync"
     9  )
    10  
    11  func AddReplicaCmd() cli.Command {
    12  	return cli.Command{
    13  		Name:      "add-replica",
    14  		ShortName: "add",
    15  		Action: func(c *cli.Context) {
    16  			if err := addReplica(c); err != nil {
    17  				logrus.Fatalf("Error running add replica command: %v", err)
    18  			}
    19  		},
    20  	}
    21  }
    22  
    23  func addReplica(c *cli.Context) error {
    24  	if c.NArg() == 0 {
    25  		return errors.New("replica address is required")
    26  	}
    27  	replica := c.Args()[0]
    28  
    29  	url := c.GlobalString("url")
    30  	task := sync.NewTask(url)
    31  	return task.AddReplica(replica)
    32  }