The following has been tested on ICONA version 1.9.0 and 1.9.2
ICONA is part of onos-sample-apps. In addition to the core ONOS system and applications, the ONOS project has created sample applications (“ONOS Sample Apps”) which provide additional features and can also serve as instructional code or as something that you can extend and modify into a full-featured application.
ONOS sample apps repo :
git clone https://gerrit.onosproject.org/onos-app-samples
cd /opt/onos-app-samples/icona mvn compile #compile and check potential errors mvn install #install .oar files find -name *.oar #find the oar files generated
Copy the *.oar files generated on your local machine and go to ONOS GUI>Applications>Upload and upload them.
NB: You might need to restart ONOS before doing that.
In karaf CLI:
apps -s | grep icona
157 org.onosproject.icona.domainmgr 1.9.0.SNAPSHOT Inter Cluster Onos Network App 158 org.onosproject.icona.domainprovider 1.9.0.SNAPSHOT Inter Cluster Onos Network App/provider
app activate org.onosproject.icona.domainmgr app activate org.onosproject.icona.domainprovider
TODO : Explain why you should prefer one protocol to another
BGP-LS is a plugin used as a provider on ONOS.
Enable BPG-LS plugin:
app activate org.onosproject.bgp
Check BGP configuration:
curl -u "onos:password" -X GET http://192.168.103.143:8181/onos/v1/applications/org.onosproject.bgp
For Inter-Cluster Communications, ICONA uses LLDP (Link Layer Discovery Protocol). It announces every Inter-Cluster Link to all of its cluster by adding the following metrics :
Each cluster shares info about End Point (EP) regarding link delay, brandwidth, …
ICONA is composed of two parted:
ONOS cluster are not just a concept. They are implemented and means joining two controllers together.
To create a cluster of two machines
/opt/onos/onos-form-cluster $IP1 $IP2