blob: 73137e1cbad8662731853a5bccd1617e22638e89 [file] [log] [blame]
tomb41d1ac2014-09-24 01:51:24 -07001package org.onlab.onos.cluster;
2
tomee49c372014-09-26 15:14:50 -07003import org.onlab.packet.IpPrefix;
4
tomb41d1ac2014-09-24 01:51:24 -07005/**
6 * Service for administering the cluster node membership.
7 */
8public interface ClusterAdminService {
9
10 /**
tomee49c372014-09-26 15:14:50 -070011 * Adds a new controller node to the cluster.
12 *
13 * @param nodeId controller node identifier
14 * @param ip node IP listen address
15 * @param tcpPort tcp listen port
16 * @return newly added node
17 */
18 ControllerNode addNode(NodeId nodeId, IpPrefix ip, int tcpPort);
19
20 /**
tomb41d1ac2014-09-24 01:51:24 -070021 * Removes the specified node from the cluster node list.
22 *
23 * @param nodeId controller node identifier
24 */
25 void removeNode(NodeId nodeId);
26
27}