Date: Thu, 28 Mar 2024 23:44:38 +0000 (UTC) Message-ID: <1420789876.911.1711669478471@ip-10-30-146-46.us-west-2.compute.internal> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_910_1077096574.1711669478469" ------=_Part_910_1077096574.1711669478469 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Since ONOS is open-source software, anyone is free to checkout the code = and build ONOS from scratch. However, ready-to-run ONOS distribution is als= o available as a compressed tar.gz file, which can be downloaded f= rom the the ONOS web-site.
This screencast will demonstrate how to deploy ONOS on multiple machines= and it will show how easy it is to form a cluster from the individual ONOS= instances using just the tar.gz file.
I will be using iTerm to download, configure and install ONOS on three m= achines at the same time. The machine=E2=80=99s IP addresses will be the fo= llowing: 10.128.11.1, 10.128.11.2 and 10.128.11.3.
First, let=E2=80=99s download the ONOS tar.gz distribution file= . To do that, we will use wget, but you can use curl or your favourite brow= ser. For our demonstration, we will download the latest daily snapshot of O= NOS as follows:
$ wget = http://downloads.onosproject.org/nightly/onos-1.2.0.latest-NIGHTLY.tar.gz= pre>
Once the download has completed, we will untar the package. I will extra= ct it directly under the home directory, but you can chose an alternate loc= ation if you wish.
Once ONOS download has been extracted, we are ready to configure the env=
ironment to run ONOS. To do that we will run the supplied bin/onos-co=
nfig
tool and specify the IP prefix for the cluster network as follo=
ws:
$ bin/o= nos-config OurCluster 10.128.11.*
This will configure ONOS to use the given network for intra-cluster comm= unications.
Having configured ONOS, we are now ready to start it. The recommended wa=
y to start it is to use some form of a Linux watchdog daemon, such as upsta=
rt for example. ONOS comes with etc/onos.conf
configuration fi=
le, which can be used to copy under etc/init folder on Ubuntu to register O=
NOS as an upstart service.
In our demonstration, we will run ONOS directly, using the supplied
$ bin/o= nos-service server 1>/tmp/stdout.log 2>/tmp/stderr.log &
We can monitor the start-up progress by tailing the log file. Also, we c=
an use the provider bin/onos tool to connect to ONOS command console via
To form a cluster from these individual instances is quite easy using th=
e supplied onos-form-cluster
tool.
We simply need to specify the IP addresses of all the cluster nodes and = the tool will create a cluster configuration JSON object and upload it to e= ach instance using its REST API.
$ bin/o= nos-form-cluster 10.128.11.1 10.128.11.2 10.128.11.3
To complete the operation, each instance will restart automatically and = when they all come back up, they will be part of the same ONOS cluster.
We can verify this by connecting to the ONOS command console and typing =
the onos:nodes
command again will reveal that each instance kn=
ows about the others.
To prove this further, let=E2=80=99s use the user interface pointed at t= he first ONOS instance to activate the OpenFlow providers.
Checking via onos:apps
command, we can see that the provide=
rs were activated on all the cluster nodes.
Finally, just for fun, let=E2=80=99s switch the GUI to the topology view= and then let=E2=80=99s start a simple mininet topology whose switches are = configured with only one of the instances as their controller, say the seco= nd one. We can see that the information about the discovered switches was q= uickly propagated through the cluster as the GUI shows all the switches and= the links between them.
I hope that you find this screencast useful in deploying ONOS on your ne= tworks. Have a great day...