This application performs,
There are two ways for the bootstrap,
{ "apps" : { "org.onosproject.openstacknode" : { "openstacknode" : { "nodes" : [ { "hostname" : "compute-01", "ovsdbIp" : "192.168.56.112", "ovsdbPort" : "6640", "bridgeId" : "of:0000000000000001", "openstackNodeType" : "COMPUTENODE" }, { "hostname" : "compute-02", "ovsdbIp" : "192.168.56.106", "ovsdbPort" : "6640", "bridgeId" : "of:0000000000000002", "openstackNodeType" : "COMPUTENODE" }, { "hostname" : "network", "ovsdbIp" : "192.168.56.108", "ovsdbPort" : "6640", "bridgeId" : "of:0000000000000003", "openstackNodeType" : "GATEWAYNODE", "gatewayExternalInterfaceName" : "eth1", "gatewayExternalInterfaceMac" : "00:00:00:00:00:10" } ] } } } } |
public interface OpenstackNodeService { public enum OpenstackNodeType { /** * Compute or Gateway Node. */ COMPUTENODE, GATEWAYNODE } /** * Adds a new node to the service. * * @param node openstack node */ void addNode(OpenstackNode node); /** * Deletes a node from the service. * * @param node openstack node */ void deleteNode(OpenstackNode node); /** * Returns nodes known to the service for designated openstacktype. * * @param openstackNodeType openstack node type * @return list of nodes */ List<OpenstackNode> getNodes(OpenstackNodeType openstackNodeType); /** * Returns the NodeState for a given node. * * @param node openstack node * @return true if the NodeState for a given node is COMPLETE, false otherwise */ boolean isComplete(OpenstackNode node); } |
Note that OpenstackNode application is independent from SONA Application which means that you can activate the application only when you just need initialization.
Or you can activate OpenstackNode app everytime you activate SONA so that you can check the node status actively.
For this release (Falcon), SONA is implemented with first option.