tree 6ac689d83e2773030391d2e28fc4c9816679a52e
parent 190f8f9d5cdc56b0418788a1ebfa7ab5aebf6915
author Pavlin Radoslavov <pavlin@onlab.us> 1415750607 -0800
committer Pavlin Radoslavov <pavlin@onlab.us> 1415751101 -0800

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
