196 Commits

Author SHA1 Message Date
Thomas Vachuska
5905f2cc6e Preparing to deprecate onos-karaf and onos-setup-karaf commands.
Change-Id: Ie8bf9ad161733478608d82c11d59c4b5412d6689
2016-10-24 16:36:00 +00:00
Luca Prete
8d4e8bccdf Vagrant-Ansible scripts for tutorial vm
Change-Id: I0481fa9c7df897812a765973440b6b1b2bf669f8
2016-10-23 10:11:12 +00:00
Brian O'Connor
436ff317af Adding branch-compare command and renaming clean-branches.py to branch-clean
Change-Id: I8fdb27749893fefbe27bba02437b36e7860701b4
2016-10-11 16:20:30 -07:00
Thomas Vachuska
525651fdc0 Fixing onos-create-app to bomb if mvn command fails for some reason.
Change-Id: I770a2efee9557371caff7066bf71306d375c3fdf
2016-10-06 06:54:43 +00:00
Yuta HIGUCHI
7d8b3b1f6c Pass clean option to onos-setup-karaf
Change-Id: If74914d5c0a4ed0694cf4926fa7deae7927783c8
2016-09-12 13:09:47 -07:00
Jon Hall
2548559590 Add HA.py
A set of mininet based HA tests based on onos.py
Currently includes the following tests:
    - a control network partitioning test
    - A dynamic cluster scaling test

Change-Id: I9a8e1019dcc51666fee1d933afd66ff390592525
2016-09-12 17:56:20 +00:00
Bob Lantz
2ca9a35df9 Added README
Change-Id: I9bb92f93a88e113928a35196ac83954b9e069e5c
2016-09-07 23:07:11 +00:00
jaegonkim
1f5fbe5405 adding '--noproxy localhost' option in the curl for using localhost where OS has proxy setting
Change-Id: Ia9de0cd18a3a41ab64de6c0babce9ab25f925859
2016-08-31 16:53:21 +00:00
Bob Lantz
894eab5711 Add examples/ dir, README, and multicluster.py
multicluster.py creates two ONOS "clusters" (1 node by
default, though larger are possible), each of which
is responsible for a separate segment of the data network.

Change-Id: I233c9884b565bd6a28fa1a05e990e86207c88347
2016-08-30 17:34:32 +00:00
Bob Lantz
503a402e89 Multiple ONOSCluster support for ONOSCLI
Previously we were only passing the first ONOSCluster
into MininetFacade, but lo and behold it supports as
many networks as you like! So we pass them all in the
case where we have multiple ONOSClusters.

Change-Id: If848886b958aa47d3e4834c44adc98fffd90453c
2016-08-29 18:08:37 -07:00
Bob Lantz
8e576256fb Enable --custom files to import ONOSCLI
Since --custom files are execed, subsequently importing them
actually creates duplicate classes. This wouldn't be a problem
except that we depend on isinstance(). As a workaround, we allow
the class name to match if isinstance() fails, assuming it will
be a class that is compatible with ONOSCluster or ONOSNode.

Example: env PYTHONPATH=. mn --custom onos.py,mytest.py

where mytest.py imports onos

Change-Id: Ib4cda82fbdd612420de1e113ab768e2f137d5213
2016-08-29 17:56:11 -07:00
Bob Lantz
5763516eb6 Add portOffset for multiple ONOSCluster port forwarding
With multiple ONOS clusters, we want to make sure that the
forwarded port numbers don't collide. We add a portOffset
which is automatically incremented appropriately as more
ONOSClusters are created. It can also be specified explicitly.

Change-Id: I62977c3d4141668d9f541067db1a20ec0035489b
2016-08-30 00:55:39 +00:00
zhangyuanyou
57c7c31e57 Fix the disabled download url of karaf.
Change-Id: I4eec3ad4365ec2a67ee8301ae56b9469dfb7a5fe
2016-08-19 16:23:30 +00:00
Jon Hall
a43d0334aa Add check for node status to onos.py startup
Change-Id: I8e6b103ef46a5bc5877507a7adef3eb6117adf64
2016-08-16 22:32:34 +00:00
Jon Hall
9b238aef36 Pass alertActions cli option to ONOSNode class in onos.py
Change-Id: I534cc0e22ac11018e6c5ec6f73a2f7259392b9e0
2016-08-16 22:30:35 +00:00
Thomas Vachuska
3f79e2a100 Adding cdvue tool to allow developers to run it without building the binaries themselves.
Change-Id: I1582b1ca9d55a9a7debe50d49b1588b9c9a63fb6
2016-08-08 23:36:59 +00:00
Thomas Vachuska
830b8a1817 Searching the local archetype repo before the remote one; temporary fix.
Change-Id: I177d8def0c3738f572b147eb1ff704f624ecafa6
2016-08-05 16:50:57 +00:00
Yuta HIGUCHI
7f2c6f9b25 Use karaf/OSGi bundle data path for persistence
Change-Id: If5a4eb1fb63ca3455200c29e9981c7a0f2dd044e
2016-08-04 00:37:37 +00:00
Thomas Vachuska
cc0b7d6605 Adding support for topology recipes and cleaning up topologies.
Cleaned-up a few STC scenarios.

Change-Id: I4ffa61953d8cf289406fa572ab7603d996e26a85
2016-07-13 13:16:06 -07:00
Yuta HIGUCHI
b4bf7c8965 Emit warning when buck artifact is the latest
Change-Id: If01b47f2aaebf5cf2cf3977ad05e1453c4a2ef57
2016-07-11 12:49:58 +00:00
Bob Lantz
a2ccaa5672 unpackONOS: check for failure when extracting tar archive
Change-Id: Iad44ac863449afdbf21d8766479af569f9ba9b6e
2016-06-30 20:58:13 +00:00
Bob Lantz
930138e306 Enable global port forwarding in root namespace
This should fix the problem seen in VirtualBox where you
may have some random interface which is host-only which needs
to have port forwarding set up on it.

Change-Id: Iacdbb129d52529783bdab1c3d768131f6eaf0364
2016-06-30 01:16:53 +00:00
Carmelo Cascone
977ae3f42d Varius updates to BMv2 mininet scripts
Most notably:
- Added support for onos.py's ONOSCluster controller (it works with
	"mn --custom onos.py,bmv2.py --switch onosbmv2 ...")
- Randomly select an open port for the Thrift RPC server

Change-Id: Ifa974741dc4a3693777f01866b1f6203d0e7e75e
2016-06-29 20:53:05 +00:00
Carmelo Cascone
785fada2fb Added Bmv2 demo scripts (mininet and netcfg)
Change-Id: I7471a9ebe55f74dbe8c63faef9a8685c48621862
2016-06-28 23:01:35 +00:00
Bob Lantz
55562ea677 Unpack/install all nodes before startup
Madan suggested that this might help vs. the pipelined
startup we were doing before, so let's try it.

We will unpack/install all nodes before we start up,
so that we can start the whole cluster at about the same
instant.

Note that this is probably closer to what we'd see in hardware.

The disadvantage is that we don't get a "clean" environment
with each invocation of start().

Change-Id: I0a45984f50e1ef25a7d8a836e46978fdbdff0bd0
2016-06-17 18:21:08 -07:00
Bob Lantz
c3de5152b3 Correctly print message if arping isn't installed
Change-Id: Ia8e6a305bebb51556974b72c83d86b472b6918e5
2016-06-17 17:14:46 -07:00
Bob Lantz
92d8e0510f Use ip route to determine default intf for port forwarding
We were using eth0 by default before, but this doesn't work if
your default interface isn't eth0.

Fixes port forwarding on Ubuntu 16.04.

Change-Id: I55baed7fd8952a9f6cab364e20e31a0632ddda6d
2016-06-17 23:34:51 +00:00
Bob Lantz
9ba19dce8f Use netstat for waitListening; client -h h1 "apps -a"
And fix do_log()

Change-Id: I04402fda9c409fa4cb41ae20cf1c551369b7669d
2016-06-17 14:13:44 -07:00
Thomas Vachuska
c35621013e Dropping jdvue from the main repo as it has been moved to its own.
Change-Id: I82bbbc213c875a9dba4e5b4c4edaafdd04cb77ea
2016-06-16 10:29:18 +00:00
Bob Lantz
c96e25824a add arp cmd; always return lists from checkLog
The arp CLI command sends gratuitous ARPs from all hosts - this
makes it easier for ONOS to discover hosts.

Previously checkLog returned None, None if the log file didn't
exist; now we return an empty list, to avoid breaking when we
take the len() of errors or warnings (which was happening before)
and to avoid having to check for None, None, which didn't seem to
add a lot of value to justify its complexity.

Change-Id: I84847fcf70525c82ac037d8a84cf40d21ab2a106
2016-06-13 21:40:25 -07:00
Bob Lantz
6438242617 Add status/error checks during ONOS startup
We check for:
- process exits
- log ERRORs
- log WARNings
- low memory

Also added a "status" CLI command to check for exits
and errors.

Change-Id: I6e65fe49619e338f1827fc616ca52a82de7ba470
2016-06-13 22:43:32 +00:00
Jon Hall
ee85e2f832 Update ONOS_INSTANCES when updating OCI
Change-Id: I416901175ba8662a07afe58ff2eb835cd51be242
2016-06-07 17:48:46 +00:00
alshabib
20a070bed7 allow applications to be installed by URL from REST API
Change-Id: I6c28d91e1bbc6e77eefba00b8f106fe22edc475b
2016-06-07 08:44:59 +00:00
Bob Lantz
569bbec710 Unset empty vars; pass IPs to onos-gen-partitions
We really don't need the OCx variables, but for now at
least we are unsetting the ones that are incorrect and
calling onos-gen-partitions with the explicit IP
addresses.

Change-Id: I8bd3d69bee4857e00070288b586255455c9c8adf
2016-06-06 15:28:12 +00:00
Madan Jampani
597282af90 Clean up references to the deprecated p0 storage partition
Change-Id: Ifdab952d2bef30104f57aff3cab342df99a20571
2016-06-04 21:16:00 +00:00
Charles Chan
4ba6b55ba3 Fix onos-setup-karaf IP parsing
Change-Id: If996c10396aecf39ab6d950178d1f6724976cdc2
2016-06-02 16:24:32 +00:00
Bob Lantz
4b51d5c32e Various minor fixes and improvements
- enable parameters for onos cli commands (e.g. onos:apps -a)
- don't depend on onos1's name
- reduce dependencies on unnecessary variables
- enable running if karaf isn't installed elsewhere
- make NAT an option

Change-Id: I3e8abd51aa8d3f5c7afab1c6b86e50707de20ef6
2016-05-31 22:26:58 +00:00
Ayaka Koshibe
98c3165710 use dialect-agnostic regexes in onos scripts
Change-Id: Ifd828fd2bc130598d796ac4d786c77ba31365d8e
2016-05-31 16:32:19 +00:00
alshabib
bdb7b37b00 adding a mininet vagrant box
Change-Id: I0c89c35a9e6768b3c3640c0895d405901e38799e
2016-05-26 22:23:38 +00:00
alshabib
4997cd7c9c Vagrant box for development use.
vagrant up onosdev sets up a vm with three lxc instances
which should be used with the lxc cell.

Change-Id: I18b5cc5366efc61f05063798b498559eb49a8eff
2016-05-26 22:22:42 +00:00
Bob Lantz
1451d7241b Run onos as ONOS_USER rather than root (!)
Change-Id: Ibe87b89a71d12665eb932b40a843c691c4cfa584
2016-05-17 14:44:14 -07:00
Bob Lantz
bb37d87ac7 Add port forwarding using iptables
By default, we now forward the following ports from
port on eth0 to port+N on onosN:

8101 (KarafPort)
8181 (GUIPort) (also REST)
6643 (OpenFlowPort)

Note: this will not work if your default interface is
called something other than eth0.

Also: added null topology so we can use onos.py to control
an external/hardware network.

Bugs: it seems that iptables isn't cleaned up completely -
Mininet's NAT element may be to blame.

Change-Id: I2197194100a77ebfddd0d38ad5194ad7569ceba3
2016-05-17 17:14:57 +00:00
Thomas Vachuska
fdeda92107 Clearing cell environment before borrowing and after returning cell.
Change-Id: Ia8da10406a25e9687cef5d7f8e31e9ceb11d8af9
2016-05-16 11:37:00 -07:00
Thomas Vachuska
5420ba371a Adding ability to balance load between different cell servers.
Adding ability to specify structure/size of the cell.

Change-Id: I5e87c99fe8812ba0a974d7815ab8ddc64193a608
2016-05-16 16:31:18 +00:00
Bob Lantz
1125848f95 Fix ipBase option misspelling
It's arguable that maybe might want to support 'ipbase' as well
since it's used in --ipbase and it's easier to type. However,
ipBase is the spelling used in Mininet, so we should be
consistent.

Change-Id: I2f61df0d2d09abf652c5f06ef9c734a55159a7de
2016-05-11 19:09:34 -07:00
Bob Lantz
087b5d93f2 onos.py: ONOS cluster and control network modeling in Mininet
This is intended to facilitate ONOS development and testing when
you require an ONOS cluster and a modeled control network. More
information is available in the file comments/module docstring.

Change-Id: I8a7338b61bd21eb82ea4e27adbf3cea15be312ee
2016-05-12 22:03:48 +00:00
Brian O'Connor
1314f8c818 Revert "Updating bin/karaf to fix ^D"
This change blocks ^C which is need to quit from log:tail

This reverts commit a84637c702a45e8e70f05f0437217f15930a7135.

Change-Id: Ifb0c2f67bb8719ca898ec1f9c7ad2d7f002db90a
2016-05-12 16:14:15 +00:00
Brian O'Connor
a84637c702 Updating bin/karaf to fix ^D
Karaf's ConsoleImpl does the wrong thing with ^D; the underlying
ConsoleReader already knows what to do.

Change-Id: I2276c34e4219894fb394b560cce5ff8a2503e95a
2016-05-10 19:16:53 -07:00
Jon Hall
7dc59d65fb Fix cell command for when -u is set in bash
Change-Id: Id51da2f92ff8b708fddfcffd0683736b9a74f6d3
2016-05-10 22:07:23 +00:00
Thomas Vachuska
f07ec2186a Reverting changes to onos-cell & cell
Change-Id: Ieb35fe2d51c1981f1d560bdfe072d5ccc6a26f90
2016-05-10 19:18:08 +00:00