CORD-506 Apply existing service dependency when VM is detected
Change-Id: Ib0872c823347bfb6091d6c5f872657f10b7b1083
diff --git a/src/main/java/org/onosproject/cordvtn/api/CordVtnConfig.java b/src/main/java/org/onosproject/cordvtn/api/CordVtnConfig.java
index 2c48ba3..9f3a279 100644
--- a/src/main/java/org/onosproject/cordvtn/api/CordVtnConfig.java
+++ b/src/main/java/org/onosproject/cordvtn/api/CordVtnConfig.java
@@ -25,6 +25,7 @@
import org.onosproject.core.ApplicationId;
import org.onosproject.net.DeviceId;
import org.onosproject.net.config.Config;
+import org.onosproject.xosclient.api.XosAccess;
import org.slf4j.Logger;
import java.util.Map;
@@ -59,10 +60,12 @@
public static final String SSH_KEY_FILE = "sshKeyFile";
public static final String OPENSTACK = "openstack";
- public static final String OPENSTACK_ENDPOINT = "endpoint";
- public static final String OPENSTACK_TENANT = "tenant";
- public static final String OPENSTACK_USER = "user";
- public static final String OPENSTACK_PASSWORD = "password";
+ public static final String XOS = "xos";
+
+ public static final String ENDPOINT = "endpoint";
+ public static final String TENANT = "tenant";
+ public static final String USER = "user";
+ public static final String PASSWORD = "password";
/**
* Returns the set of nodes read from network config.
@@ -183,6 +186,28 @@
}
/**
+ * Returns XOS access information.
+ *
+ * @return XOS access, or null
+ */
+ public XosAccess xosAccess() {
+ JsonNode jsonNode = object.get(XOS);
+ if (jsonNode == null) {
+ log.error("Failed to get XOS configurations");
+ return null;
+ }
+
+ try {
+ return new XosAccess(getConfig(jsonNode, ENDPOINT),
+ getConfig(jsonNode, USER),
+ getConfig(jsonNode, PASSWORD));
+ } catch (NullPointerException e) {
+ log.error("Failed to get XOS access");
+ return null;
+ }
+ }
+
+ /**
* Returns OpenStack API access information.
*
* @return openstack config
@@ -196,10 +221,10 @@
try {
return new OpenStackConfig(
- jsonNode.path(OPENSTACK_ENDPOINT).asText(),
- jsonNode.path(OPENSTACK_TENANT).asText(),
- jsonNode.path(OPENSTACK_USER).asText(),
- jsonNode.path(OPENSTACK_PASSWORD).asText());
+ jsonNode.path(ENDPOINT).asText(),
+ jsonNode.path(TENANT).asText(),
+ jsonNode.path(USER).asText(),
+ jsonNode.path(PASSWORD).asText());
} catch (IllegalArgumentException | NullPointerException e) {
log.error("Failed to get OpenStack configurations");
return null;