lantz
d072e531c2
Merge pull request #837 from theojepsen/master
...
intf.rename() also renames the intf name in the host
2018-10-11 15:51:48 -07:00
Bob Lantz
8139d7d1b4
Better IP address selection for controllers
...
Previously we looked for 'eth0', but linux has renamed interfaces.
Instead of looking by name, we now look for an interface which
is the appropriate gateway to a remote server address.
fixes #831
2018-10-11 15:46:57 -07:00
Theo
273b14b771
intf.rename() also renames the intf name in the host
2018-10-11 09:31:26 +02:00
Bob Lantz
bfda33544a
code check
2018-08-28 18:48:50 -07:00
Bob Lantz
1f4525ed0a
Test for Node()/Host() pty leakage
2018-08-28 18:48:45 -07:00
Bob Lantz
1969669f51
pass code check
2018-08-23 13:06:16 -07:00
Bob Lantz
c639f342e5
2.3.0d4
2018-08-23 11:43:45 -07:00
Bob Lantz
6e887d0788
Close pty to avoid leak
2018-08-23 11:43:43 -07:00
Bob Lantz
092863f113
2.3.0d3
2018-08-15 23:13:20 -07:00
Bob Lantz
5100a38fcd
pmonitor() fixes
...
pmonitor() is hard to get right, but this seems like
a reasonable improvement:
1. non-blocking I/O so we can drain buffer with impunity
2. drain buffer after poll
3. unregister fd on POLLHUP
Note we may have a unicode splitting problem since we're
decoding chunks of bytes, but that is a problem for another
day I think.
2018-08-02 12:45:35 -07:00
Bob Lantz
3bcecd8e08
Fix popen() to work properly with shell=True
2018-08-02 06:56:18 -07:00
Bob Lantz
486676d617
2.3.0d2
2018-07-26 14:04:08 -07:00
lantz
9e5280b4d1
Python 3 Compatibility (Merge pull request #817 from lantz/py3-compat)
...
Changes for compatibility with Python 3.
The approach is to make as few changes as possible to maintain compatibility with both Python 2 and Python 3.
We use whatever python is installed, and also support a PYTHON environment variable for installing another version.
For simplicity, we provide mininet.util.pexpect which works out of the box with Python 3 utf-8 strings.
Thanks to @cuihantao for looking at this as well and also for changes to MiniEdit.
Closes #794
2018-07-26 14:03:34 -07:00
Bob Lantz
b70eed69d3
Fix typo (50s -> 50ms)
2018-07-26 13:52:15 -07:00
Bob Lantz
d96b35694a
Use appropriate python version
2018-07-26 13:40:12 -07:00
Bob Lantz
c7deeae11c
Add sanity check for python mn version
2018-07-26 13:40:12 -07:00
Bob Lantz
323989953b
Try to fix pylint errors ;-p
2018-07-26 13:40:12 -07:00
Bob Lantz
17f9756e5c
sudo interferes with travis python 3 environment
2018-07-26 13:40:12 -07:00
Bob Lantz
71f3931f2f
Remove redundancies in miniedit; pass code check
2018-07-26 13:40:12 -07:00
Bob Lantz
1e9ca5f7fc
Fix missing quote in .travis.yml
2018-07-26 13:40:12 -07:00
Bob Lantz
8933c996cb
Add python-tk/python3-tk
2018-07-26 13:40:06 -07:00
Bob Lantz
afa83cd5ae
Restore python 2 compatibility
2018-07-26 13:40:03 -07:00
Hantao Cui
3e81ea7455
miniedit.py changes for Python 3
2018-07-26 13:39:49 -07:00
Bob Lantz
8102704726
Pass code check (14.04)
2018-07-25 21:30:05 -07:00
Bob Lantz
f4490069ca
Add PYTHON and python2/python3 support
...
Perhaps we should have an option for py2/p3, but for
now we detect the default python version and it can
also be specified via the PYTHON env var.
2018-07-25 19:44:46 -07:00
Bob Lantz
2ac4f92af3
Add PYTHON variable for python2/python3 make install
2018-07-25 19:44:46 -07:00
Bob Lantz
f98154a323
Decode subprocess output for python3
2018-07-25 19:44:46 -07:00
Bob Lantz
7b48460e9e
Change pexpect hackery to use a custom class
...
So the original pexpect is unperturbed
2018-07-25 19:44:46 -07:00
Bob Lantz
3a0ef258d1
grep cgroup /proc/mounts in mountCgroup
2018-07-25 19:44:45 -07:00
Bob Lantz
0d9a6796df
Add Python 2.7 and Python 3.6
2018-07-25 19:44:45 -07:00
Bob Lantz
08a59783f4
Decode readline() and call cleanup() for python 3
...
Python 3.6 crashes if there are leftover processes, even
if they shut down later...
2018-07-25 19:44:45 -07:00
Bob Lantz
e37afe996b
First crack at Python 3 compatibility
...
Mostly we just use mininet.util.pexpect so that we can use
unicode strings without changing calls to pexpect.spawn()
2018-07-25 19:44:45 -07:00
Bob Lantz
6a387faa04
Fix whitespace error
2018-07-25 19:44:45 -07:00
Bob Lantz
1a134cb4d2
80 columns
2018-07-25 19:44:45 -07:00
Bob Lantz
af4921adc5
Minor changes for Python 3
...
items() vs. iteritems() and decode() bytes in monitorFiles
Probably not strictly correct if bytes are split - we still
need to deal with this properly.
2018-07-25 19:44:45 -07:00
Bob Lantz
f94ee8ec97
Redesign pmonitor()
...
This is tricky to get right, but I think it is correct
to drain the buffers like this.
2018-07-25 19:44:45 -07:00
Bob Lantz
356b024d6b
Wrap reads in pmonitor() for python3
2018-07-25 19:44:45 -07:00
Bob Lantz
2283bb01e6
Python3 compat and add timeout for connect
2018-07-25 19:44:45 -07:00
Bob Lantz
3eef584c6b
Python 3 compatibility
...
And some Ubuntu 18 compat:
- ifconfig's output has changed
- relaxing timing as it seems first ping is slower
2018-07-25 19:44:45 -07:00
Bob Lantz
2e00a7de97
Python 3 compatibility
2018-07-25 19:44:45 -07:00
Bob Lantz
e28348f6cd
Indent error.
2018-07-25 19:44:44 -07:00
Bob Lantz
4b744d1fb0
Fix dynamic Python items() in deleteIntfs()
2018-07-25 19:44:44 -07:00
Bob Lantz
2822998cad
A couple of missed py3 items: execfile, iteritems
2018-07-25 19:44:44 -07:00
Bob Lantz
853815500d
Create util.pexpect which is compatible with Python 3 strings
...
Unfortunately pexpect isn't compatible with Python 3 strings
unless you specify unicode encoding, which isn't the default.
With this helper code, you can import pexpect from mininet.util
and get default pexpect.spawn() behavior that works with Python 3
strings.
2018-07-25 19:44:44 -07:00
Bob Lantz
1a2925923f
translate() -> replace() for Python 3 compatibility
...
str.translate() works differently in Python 3
2018-07-25 19:44:44 -07:00
Bob Lantz
cac884a85e
Wait for Node() shell to exit on Python 3
...
I'm not a fan of this, but Python 3's subprocess module
complains otherwise.
For now we're only doing this on Python 3. We should probably
quantify the slowdown however.
2018-07-25 19:44:44 -07:00
Bob Lantz
f314a6626a
Missed one instance of basestring
2018-07-25 19:44:44 -07:00
Bob Lantz
bf83f4f343
Don't bother checking for negative delay/jitter
...
It's kind of pointless. However technically the argument should
be a number and not a string - it's always in ms.
2018-07-25 19:44:44 -07:00
Bob Lantz
1ef12e450a
Apparently Python 3 types aren't ordered
2018-07-25 19:44:44 -07:00
Bob Lantz
56fc6c3955
Close popen stdout and stderr
...
They should get cleaned up anyway, but Python 3 gives
us an error message. This silences it.
2018-07-25 19:44:44 -07:00