E.g. $ sudo -E python attmpls.py --cluster-size 3
Also, added option (--netcfg) to auto set netcfg at Mininet startup, and
added command to bring onos instances up/down to Mininet CLI.
Change-Id: Id02917fd5181af496b7d954da0ef3d5f2cbb970d
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
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
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
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
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
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
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
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
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
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
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
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
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