Cleanup in the SDN-IP related configuration files:
* The (deployed) Interface addresses configuration file "addresses.json"
from the apps/config application is expected to be found in the
/opt/onos/config directory
* The (deployed) SDN-IP configuration file "sdnip.json" is expected
to be found in the /opt/onos/config directory
* All configuration files (i.e., addresses.json and sdnip.json) should
be stored in the tools/package/config directory before deployment
(i.e., before running onos-config)
* Removed the apps/config/src/main/resources/config.json sample configuration
file, because it was incorrect, and replaced it with "addresses.json"
file in the same directory
* Updated the text in files tools/package/config/README and
apps/sdnip/src/main/resources/config-examples/README
* Minor code cleanup in SdnIpConfigReader.java and NetworkConfigReader.java
Change-Id: I8af75e62a94e4fb701e2c6a09cde93cd8461e255
diff --git a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java
index 2fcd1fe..7262c42 100644
--- a/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java
+++ b/apps/sdnip/src/main/java/org/onlab/onos/sdnip/config/SdnIpConfigReader.java
@@ -37,24 +37,31 @@
*/
public class SdnIpConfigReader implements SdnIpConfigService {
- private static final Logger log = LoggerFactory.getLogger(SdnIpConfigReader.class);
+ private final Logger log = LoggerFactory.getLogger(getClass());
- private static final String DEFAULT_CONFIG_FILE = "config/sdnip.json";
+ // Current working dir seems to be /opt/onos/apache-karaf-3.0.2
+ // TODO: Set the path to /opt/onos/config
+ private static final String CONFIG_DIR = "../config";
+ private static final String DEFAULT_CONFIG_FILE = "sdnip.json";
private String configFileName = DEFAULT_CONFIG_FILE;
+
private Map<String, BgpSpeaker> bgpSpeakers = new ConcurrentHashMap<>();
private Map<IpAddress, BgpPeer> bgpPeers = new ConcurrentHashMap<>();
/**
- * Reads the info contained in the configuration file.
+ * Reads SDN-IP related information contained in the configuration file.
*
- * @param configFilename The name of configuration file for SDN-IP application.
+ * @param configFilename the name of the configuration file for the SDN-IP
+ * application
*/
private void readConfiguration(String configFilename) {
- File gatewaysFile = new File(configFilename);
+ File configFile = new File(CONFIG_DIR, configFilename);
ObjectMapper mapper = new ObjectMapper();
try {
- Configuration config = mapper.readValue(gatewaysFile, Configuration.class);
+ log.info("Loading config: {}", configFile.getAbsolutePath());
+ Configuration config = mapper.readValue(configFile,
+ Configuration.class);
for (BgpSpeaker speaker : config.getBgpSpeakers()) {
bgpSpeakers.put(speaker.name(), speaker);
}
@@ -64,13 +71,11 @@
} catch (FileNotFoundException e) {
log.warn("Configuration file not found: {}", configFileName);
} catch (IOException e) {
- log.error("Error reading JSON file", e);
+ log.error("Error loading configuration", e);
}
}
public void init() {
- log.debug("Config file set to {}", configFileName);
-
readConfiguration(configFileName);
}
diff --git a/apps/sdnip/src/main/resources/config-examples/README b/apps/sdnip/src/main/resources/config-examples/README
index 0444e41..7642a4d 100644
--- a/apps/sdnip/src/main/resources/config-examples/README
+++ b/apps/sdnip/src/main/resources/config-examples/README
@@ -1 +1,5 @@
-ONOS looks for these config files by default in $KARAF_HOME/config/
\ No newline at end of file
+The SDN-IP configuration files should be copied to directory
+ $ONOS_HOME/tools/package/config
+
+After deployment and starting up the ONOS cluster, ONOS looks for these
+configuration files in /opt/onos/config on each cluster member.
diff --git a/apps/sdnip/src/main/resources/config-examples/addresses.json b/apps/sdnip/src/main/resources/config-examples/addresses.json
deleted file mode 100644
index fa00eae..0000000
--- a/apps/sdnip/src/main/resources/config-examples/addresses.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "addresses" : [
- {
- "dpid" : "00:00:00:00:00:00:00:a3",
- "port" : "1",
- "ips" : ["192.168.10.101/24"],
- "mac" : "00:00:00:00:00:01"
- },
- {
- "dpid" : "00:00:00:00:00:00:00:a5",
- "port" : "1",
- "ips" : ["192.168.20.101/24"],
- "mac" : "00:00:00:00:00:01"
- },
- {
- "dpid" : "00:00:00:00:00:00:00:a2",
- "port" : "1",
- "ips" : ["192.168.30.101/24"],
- "mac" : "00:00:00:00:00:01"
- },
- {
- "dpid" : "00:00:00:00:00:00:00:a6",
- "port" : "1",
- "ips" : ["192.168.40.101/24"],
- "mac" : "00:00:00:00:00:01"
- },
- {
- "dpid" : "00:00:00:00:00:00:00:a4",
- "port" : "4",
- "ips" : ["192.168.60.101/24"],
- "mac" : "00:00:00:00:00:01"
- }
- ]
-}