blob: 997de08ec207324a960af7e6a63cfaa3f8c4b122 [file] [log] [blame]
tomb41d1ac2014-09-24 01:51:24 -07001package org.onlab.onos.cluster;
2
Pavlin Radoslavov444b5192014-10-28 10:45:19 -07003import org.onlab.packet.IpAddress;
tomee49c372014-09-26 15:14:50 -07004
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 */
Pavlin Radoslavov444b5192014-10-28 10:45:19 -070018 ControllerNode addNode(NodeId nodeId, IpAddress ip, int tcpPort);
tomee49c372014-09-26 15:14:50 -070019
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}