A number of functions in node.py look like this:
return self.intf( intf ).<other stuff>
Previously, self.intf(...) in Node would expect a string name for an
interface and return None if an object was passed in instead of a
string name.
Now, be more permissive and assume that objects passed in are for Intf
objects. This makes all such functions in node.py handle more flexible
input args, either name or actual Intf object.
An alternative and equally valid approach would be to raise an Exception
whenever a non-string, non-falsy value was passed in to Node.intf(), and
to modify the code in at least one place - examples/sshd.py - to pass
the interface name, rather than the interface object.
Also fix input args for examples/scratchnetuser.py - the interface name
was being passed in as the prefix len, which makes no sense.
Two benefits:
- One place to change if in the future, a more granular method of
root access is used (like the BigSwitch patch).
- Makes this reusable by stuff like examples/baresshd.py that use
the low-level Mininet API.
'mount' shows something slightly different in Ubuntu 12.10:
cgroup on /sys/fs/cgroup type tmpfs (rw,uid=0,gid=0,mode=0755)
Note the lack of a plural on first word cgroup, which has changed.
Still mounted at /sys/fs/cgroup, so check for both possibilities
when instantiated CPU-limited hosts.
There are a bunch of these remaining, but I don't think the right course is
to 'fix' all of them to make pep8 happy, but instead to either change
the test in pep8 to consider that a continuation line may itself
be continued halfway, OR, to change the code in these lines to be more
readable by removing the need for all those nested continuations.
Personally, I find multiply-broken lines (aka nested continuations) really
hard to read.