blob: 7c9a163a2ff3b748b32bebb549d73e3eb8fe542b [file] [log] [blame]
tom9710fb42014-09-29 11:35:28 -07001package org.onlab.onos.cli;
2
3import org.apache.karaf.shell.commands.Argument;
4import org.apache.karaf.shell.commands.Command;
5import org.onlab.onos.cluster.ClusterAdminService;
6import org.onlab.onos.cluster.NodeId;
7import org.onlab.packet.IpPrefix;
8
9/**
10 * Adds a new controller cluster node.
11 */
12@Command(scope = "onos", name = "add-node",
13 description = "Adds a new controller cluster node")
14public class NodeAddCommand extends AbstractShellCommand {
15
16 @Argument(index = 0, name = "nodeId", description = "Node ID",
17 required = true, multiValued = false)
18 String nodeId = null;
19
20 @Argument(index = 1, name = "ip", description = "Node IP address",
21 required = true, multiValued = false)
22 String ip = null;
23
24 @Argument(index = 2, name = "tcpPort", description = "Node TCP listen port",
25 required = false, multiValued = false)
26 int tcpPort = 9876;
27
28 @Override
29 protected void execute() {
30 ClusterAdminService service = get(ClusterAdminService.class);
31 service.addNode(new NodeId(nodeId), IpPrefix.valueOf(ip), tcpPort);
32 }
33
34}