Alina Quereilhac [Mon, 23 May 2011 23:26:36 +0000 (01:26 +0200)]
eliminated parameters testbed_guid in experiment controller methods when the guid is present. I might have broken pl :S.
Alina Quereilhac [Mon, 23 May 2011 21:01:50 +0000 (23:01 +0200)]
added tags to boxes. For now only one tag: MOBILE
Alina Quereilhac [Mon, 23 May 2011 17:22:07 +0000 (19:22 +0200)]
added category to attributes
Claudio-Daniel Freire [Mon, 23 May 2011 15:40:07 +0000 (17:40 +0200)]
Routing fixes in ns3: consider point-to-point patterns when figuring out nexthop/interface associations:
192.168.2.2/32 -> iface 10
192.168.3.0/24 -> 192.168.2.2
Claudio-Daniel Freire [Mon, 23 May 2011 15:39:01 +0000 (17:39 +0200)]
Fix routing: only consider gateway addresses for routes_here (ie: the GW must belong to the interface's network, the rest doesn't really matter)
Alina Quereilhac [Mon, 23 May 2011 12:17:47 +0000 (14:17 +0200)]
minor correction
Alina Quereilhac [Mon, 23 May 2011 11:58:52 +0000 (13:58 +0200)]
ns3 testbed receives a "StopTime" parameter to force the simulator to stop at a certain time.
Alina Quereilhac [Sun, 22 May 2011 09:49:02 +0000 (11:49 +0200)]
Added support for ns-3 Wimax module. wimax_ns3.py example not working: SS never registered with BS!
Claudio-Daniel Freire [Fri, 20 May 2011 14:35:31 +0000 (16:35 +0200)]
Synchronization fixes:
- tun_connect retries on binding error (happens regularly during tests and may happen in Real Life (tm) too)
- re-enabled wrongfully disabled ns3-in-pl tests
- added prestart global synchronization step, which solves many cross-testbed synchronization issues
Claudio-Daniel Freire [Fri, 20 May 2011 12:04:18 +0000 (14:04 +0200)]
Ticket #30: Routing in PlanetLab, with a (currently broken) test
TODO:
- dynamically modify routes
- dynamically query routes
- fix some synchronization issues with routes+cross-connections
- parallelize routing table setup
Claudio-Daniel Freire [Thu, 19 May 2011 16:07:00 +0000 (18:07 +0200)]
PL Point-to-point link support (TUNs automatically set their interfaces for P2P, but there's also a way to manually specify it)
It needs support from vsys
Claudio-Daniel Freire [Thu, 19 May 2011 16:05:33 +0000 (18:05 +0200)]
More descriptive exception messages for design errors
Claudio-Daniel Freire [Wed, 18 May 2011 12:05:20 +0000 (14:05 +0200)]
Fix XML generation for attribute-less boxes
Alina Quereilhac [Wed, 18 May 2011 10:29:40 +0000 (12:29 +0200)]
bugfix: graphical info was not being set when reconstructing the testbeds from the xml description in base.py
Claudio-Daniel Freire [Wed, 18 May 2011 09:43:32 +0000 (11:43 +0200)]
Back to 2-node snat test
Claudio-Daniel Freire [Wed, 18 May 2011 09:43:05 +0000 (11:43 +0200)]
Wait for node dependencies to be installed before using them (invoking gcc)
Claudio-Daniel Freire [Wed, 18 May 2011 09:42:47 +0000 (11:42 +0200)]
Fix TUNGETIFF ioctl invocation to use the correct buffer structure
Claudio-Daniel Freire [Tue, 17 May 2011 13:13:33 +0000 (15:13 +0200)]
Cross TUN test
Claudio-Daniel Freire [Tue, 17 May 2011 13:13:20 +0000 (15:13 +0200)]
General cross TUN fixes
Claudio-Daniel Freire [Tue, 17 May 2011 13:12:45 +0000 (15:12 +0200)]
get methods of proxies should pickle data, they need to preserve the data types.
Claudio-Daniel Freire [Tue, 17 May 2011 13:11:36 +0000 (15:11 +0200)]
Fix invisible attribute implementation: they should be both queriable and settable.
Claudio-Daniel Freire [Tue, 17 May 2011 13:09:40 +0000 (15:09 +0200)]
Preserve the traceback when relaying exceptions from within threads
Claudio-Daniel Freire [Mon, 16 May 2011 15:38:35 +0000 (17:38 +0200)]
TunChannel finalization fix
Claudio-Daniel Freire [Mon, 16 May 2011 15:38:24 +0000 (17:38 +0200)]
Missing imports
Claudio-Daniel Freire [Mon, 16 May 2011 15:06:34 +0000 (17:06 +0200)]
Initial u ntested implementation of TunChannel for netns
Claudio-Daniel Freire [Mon, 16 May 2011 14:59:44 +0000 (16:59 +0200)]
Add TUNGETIFF to constants, they're useful
Claudio-Daniel Freire [Mon, 16 May 2011 14:41:00 +0000 (16:41 +0200)]
Forgot to implement with_pi & ethernet_mode (oops)
Claudio-Daniel Freire [Mon, 16 May 2011 14:36:21 +0000 (16:36 +0200)]
Document stock implementation functions
Claudio-Daniel Freire [Mon, 16 May 2011 14:21:32 +0000 (16:21 +0200)]
Add tunchannel_impl, see previous commit
Claudio-Daniel Freire [Mon, 16 May 2011 14:21:10 +0000 (16:21 +0200)]
Refactor a bit more, connect, wait, create and configure functions are also general enough to be put in a shared utility module.
Move that code to tunchannel_impl, to separate it from the core tunchannel stuff (which may be required if that generic implementation isn't applicable for some - ie, for tun_connect in PL).
Claudio-Daniel Freire [Mon, 16 May 2011 14:05:59 +0000 (16:05 +0200)]
Refactor TunChannel implementation in ns3 to make it common to all testbeds:
it's quite generic and reusable.
Claudio-Daniel Freire [Mon, 16 May 2011 13:34:49 +0000 (15:34 +0200)]
Initial untested implementation of ns3 tun-compliant connections (Tunchannel)
Claudio-Daniel Freire [Mon, 16 May 2011 13:34:19 +0000 (15:34 +0200)]
Termination fix on tun_connect
Claudio-Daniel Freire [Mon, 16 May 2011 09:56:36 +0000 (11:56 +0200)]
Refactor tunnelling code to put VPN channel protocol stuff in nepi.util (so that testbeds other than PL can implement their own).
Claudio-Daniel Freire [Fri, 13 May 2011 13:53:46 +0000 (15:53 +0200)]
Lots of cross-connection fixes, TUN synchronization, etc
Redirect most PL tests to our NepiPLC
Add multi-PLC capabilities and tests
NOTE: Some tests are degraded because we don't have ennough nodes to do proper tests yet
Claudio-Daniel Freire [Fri, 13 May 2011 08:36:40 +0000 (10:36 +0200)]
Fix connection resolution order check
Claudio-Daniel Freire [Thu, 12 May 2011 14:44:36 +0000 (16:44 +0200)]
Allow customization of the PLC API to be used for experiments
Claudio-Daniel Freire [Thu, 12 May 2011 14:37:44 +0000 (16:37 +0200)]
Fix for 64-bit PL: shared object compilation must be done with -fPIC
Claudio-Daniel Freire [Thu, 12 May 2011 13:13:15 +0000 (15:13 +0200)]
Fix broken netref commit: do not consider them resolved if there's any exception, don't consider exceptions there as an error either. Premature resolution often results in KeyError exceptions (among possibly others)
Claudio-Daniel Freire [Thu, 12 May 2011 13:12:24 +0000 (15:12 +0200)]
Fix stupid bug: missing ns3 reference in _add_static_route
Claudio-Daniel Freire [Thu, 12 May 2011 13:05:42 +0000 (15:05 +0200)]
Woops... fix broken commit about netrefs
Claudio-Daniel Freire [Thu, 12 May 2011 12:29:25 +0000 (14:29 +0200)]
SNAT test
currently failing due to PL bug :-O
Claudio-Daniel Freire [Thu, 12 May 2011 12:29:03 +0000 (14:29 +0200)]
Capture packets on FD-based tuns, by spawning a tcpdump in the background
Claudio-Daniel Freire [Thu, 12 May 2011 12:28:15 +0000 (14:28 +0200)]
Netrefs: resolve at create time when possible, some NS3 objects require proper create-time values.
Claudio-Daniel Freire [Thu, 12 May 2011 12:27:25 +0000 (14:27 +0200)]
NS3 fix: properly handle default (0.0.0.0/0) and host (x.y.z.w/32) routes.
Claudio-Daniel Freire [Thu, 12 May 2011 07:26:50 +0000 (09:26 +0200)]
Big refactoring of proxy code.
* Decorator-based serverside dispatch code
which is easier to maintain
* Automatic proxy generation using introspection on
abstract interface (Proxy/ExperimentController) and
serverside dispatch code.
* Tried to maintain meaningful tracebacks
* No more repeated code - stuff is only written once,
so changes are easier to apply.
* Changed marshalling for setters to use pickling instead
of adding a fictious (and limited) type parameter.
* Fixed some interface mismatches in the process
Claudio-Daniel Freire [Thu, 12 May 2011 07:05:40 +0000 (09:05 +0200)]
Better credits for big buck bunny
Claudio-Daniel Freire [Wed, 11 May 2011 15:21:28 +0000 (17:21 +0200)]
CC-licensed movie for the example
Claudio-Daniel Freire [Tue, 10 May 2011 13:03:50 +0000 (15:03 +0200)]
Remove debugging output from tun_connect - oops
Claudio-Daniel Freire [Tue, 10 May 2011 12:58:32 +0000 (14:58 +0200)]
Synchronization fix for cross connections: wait for tunnels to be up before starting applications
Claudio-Daniel Freire [Tue, 10 May 2011 10:04:49 +0000 (12:04 +0200)]
Test adaptations for NS3-in-NEPI cross connections:
* don't make all tests use the same home - it's confusing for debugging
* Enable debugging output
* Include some useful traces
Claudio-Daniel Freire [Tue, 10 May 2011 08:58:27 +0000 (10:58 +0200)]
Fix super call, totally wrong
Claudio-Daniel Freire [Tue, 10 May 2011 08:57:53 +0000 (10:57 +0200)]
Minor strace fix (still commented though, so just fix commented code)
Claudio-Daniel Freire [Tue, 10 May 2011 08:56:49 +0000 (10:56 +0200)]
Fix cross-testbed netrefs when using NEPI-in-NEPI setups.
Claudio-Daniel Freire [Tue, 10 May 2011 08:55:39 +0000 (10:55 +0200)]
Add missing IPv6 connectors
Fix cross connections by properly handling linux abstract socket names
Claudio-Daniel Freire [Tue, 10 May 2011 08:54:41 +0000 (10:54 +0200)]
Try connecting to the FD-passing unix socket twice - to alleviate synchronization issues
Claudio-Daniel Freire [Tue, 10 May 2011 08:53:52 +0000 (10:53 +0200)]
Properly handle linux abstract socket names
Claudio-Daniel Freire [Tue, 10 May 2011 08:53:02 +0000 (10:53 +0200)]
Detect alternate NS3 installations (_ns3 module instead of ns3)
Claudio-Daniel Freire [Tue, 10 May 2011 08:52:24 +0000 (10:52 +0200)]
Fixed several typos
Somewhat better error handling
Claudio-Daniel Freire [Fri, 6 May 2011 16:46:41 +0000 (18:46 +0200)]
NS3-in-PL fixes all over the place.
Cross-connection fixes all over the place too.
Still couldn't get cross connections working, but that's specific to FileDescriptorNetDevice
Claudio-Daniel Freire [Fri, 6 May 2011 16:45:32 +0000 (18:45 +0200)]
Create home directory if not found - NS3 needs it indeed
Claudio-Daniel Freire [Fri, 6 May 2011 16:45:07 +0000 (18:45 +0200)]
Remember root directory - it's useful
Claudio-Daniel Freire [Fri, 6 May 2011 16:44:51 +0000 (18:44 +0200)]
Contract attributes cannot be read-only
Claudio-Daniel Freire [Fri, 6 May 2011 16:44:00 +0000 (18:44 +0200)]
Some fixes to TUN/TAP devices
Fixed support for FileDescriptor-based taps.
(still ongoing though)
Claudio-Daniel Freire [Fri, 6 May 2011 16:42:56 +0000 (18:42 +0200)]
Provide better failure messages
Claudio-Daniel Freire [Fri, 6 May 2011 16:42:36 +0000 (18:42 +0200)]
Typos, type, environment, synchronization and other small fixes to Proxies
Claudio-Daniel Freire [Fri, 6 May 2011 15:19:28 +0000 (17:19 +0200)]
Fix typo
Claudio-Daniel Freire [Wed, 4 May 2011 16:39:40 +0000 (18:39 +0200)]
Do not rebuild ns3 if it's already built.
Normally, make and friends already do this natively, but waf seems to get confused because we do ./waf clean
Claudio-Daniel Freire [Wed, 4 May 2011 15:03:01 +0000 (17:03 +0200)]
Ticket #14: cross-connections between NS3 and PlanetLab through file descriptors (that means, NS3 instances running inside PL ATM)
Claudio-Daniel Freire [Wed, 4 May 2011 10:38:03 +0000 (12:38 +0200)]
- TAP interfaces
- TAP tunnelling
- Encrypted tunnels
- UDP-based tunnels
Claudio-Daniel Freire [Wed, 4 May 2011 08:13:34 +0000 (10:13 +0200)]
Cross connections (initial planetlab-side implementation following the tun protocol)
Claudio-Daniel Freire [Wed, 4 May 2011 08:11:55 +0000 (10:11 +0200)]
FIX support for tap and pl-tap modes.
Yey...
Claudio-Daniel Freire [Tue, 3 May 2011 13:26:50 +0000 (15:26 +0200)]
Ticket #29: Nepi-in-Nepi FINISHED
Wooow...
Claudio-Daniel Freire [Tue, 3 May 2011 12:20:14 +0000 (14:20 +0200)]
Testbed netrefs implemented.
Some basic tests added.
Claudio-Daniel Freire [Tue, 3 May 2011 11:06:44 +0000 (13:06 +0200)]
Ticket #29: resolve netrefs for netreffed testbeds and configure them in a middle step, allowing testbed-in-testbed scenarios.
Needs testings.
Claudio-Daniel Freire [Tue, 3 May 2011 11:05:55 +0000 (13:05 +0200)]
Sometimes when controller process cleanup happens concurrently with testbed teardown, exceptions may ensue in shutil.rmtree.
Just catch them and retry, sidestepping the issue. Proper synchronization is not easy, and not worth the amount of work for mere testing.
Claudio-Daniel Freire [Tue, 3 May 2011 10:19:32 +0000 (12:19 +0200)]
Ticket #29: Phasing out AccessConfiguration.
Not fully removed, sadly enough.
ExperimentControllers still need them.
Claudio-Daniel Freire [Mon, 2 May 2011 16:42:51 +0000 (18:42 +0200)]
Ticket #29: introduce some "standard" box attributes to support testbed-in-testbed deployment
Claudio-Daniel Freire [Mon, 2 May 2011 16:42:16 +0000 (18:42 +0200)]
Do not build NS3 examples - not needed
Claudio-Daniel Freire [Mon, 2 May 2011 16:41:57 +0000 (18:41 +0200)]
Disable NS3Dependency test on normal test runs, it takes a long time to run.
Claudio-Daniel Freire [Mon, 2 May 2011 15:24:00 +0000 (17:24 +0200)]
- Merge with head
- Add NS3Dependency object to PlanetLab, which makes possible the instantiation of NS3 TestbedController s.
- Add support for environment modifiers, required by NS3Dependency
- Better error logging (buildlog, installlog) for PlanetLab Dependency objects
Claudio-Daniel Freire [Mon, 2 May 2011 11:29:03 +0000 (13:29 +0200)]
Make integration tests also use the new environment variables
Alina Quereilhac [Mon, 2 May 2011 11:18:36 +0000 (13:18 +0200)]
minor changes to examples
Claudio-Daniel Freire [Mon, 2 May 2011 10:16:41 +0000 (12:16 +0200)]
Just tidying up
Claudio-Daniel Freire [Mon, 2 May 2011 10:13:32 +0000 (12:13 +0200)]
Take PL_SSH_KEY environment so that users may override the default ssh key
Claudio-Daniel Freire [Mon, 2 May 2011 09:33:31 +0000 (11:33 +0200)]
Look for SSH key in the user's home folder as given by environment HOME.
More portable.
Claudio-Daniel Freire [Mon, 2 May 2011 09:29:57 +0000 (11:29 +0200)]
Add NEPI_STRICT_AUTH_MODE, when not enabled, it takes user-configured host SSH keys.
When enabled, it will only use PLC-supplied host keys (more secure)
Claudio-Daniel Freire [Mon, 2 May 2011 08:54:39 +0000 (10:54 +0200)]
Adapt to new signature of TestbedController.set/get
Alina Quereilhac [Mon, 2 May 2011 08:17:07 +0000 (10:17 +0200)]
vlc wireless hybrid experiment example added
Alina Quereilhac [Sun, 1 May 2011 20:36:44 +0000 (22:36 +0200)]
mock cross_connect test added to test/core/integration.py
Alina Quereilhac [Sun, 1 May 2011 18:14:43 +0000 (20:14 +0200)]
testbed.status now accept guid = None to return the testbed status
Alina Quereilhac [Sun, 1 May 2011 18:08:15 +0000 (20:08 +0200)]
small refactoring in testbed_impl.
Alina Quereilhac [Sun, 1 May 2011 17:56:13 +0000 (19:56 +0200)]
testbed_impl.get improved
Alina Quereilhac [Sun, 1 May 2011 17:30:30 +0000 (19:30 +0200)]
replaced box_get_address for get_address and box_get_route for get_route in testbed_impl
Alina Quereilhac [Sun, 1 May 2011 17:24:02 +0000 (19:24 +0200)]
box_get removed and replaced for get in testbed_impl
Alina Quereilhac [Sun, 1 May 2011 10:31:31 +0000 (12:31 +0200)]
added TestbedController status flag
Alina Quereilhac [Sun, 1 May 2011 10:01:10 +0000 (12:01 +0200)]
added is_valid_value as a function for attributes.Attribute
Claudio-Daniel Freire [Fri, 29 Apr 2011 15:24:33 +0000 (17:24 +0200)]
Ticket #29: Implement dependencies to support testbed-in-PL
- Generic dependencies
- (python)path modifiers
- NEPI-in-NEPI dependency class
Claudio-Daniel Freire [Fri, 29 Apr 2011 11:06:47 +0000 (13:06 +0200)]
Async setup of TUNs and APPs, for much quicker deployment.
Made dependency setup also more responsive, with an exponential delay that responds better to no-op (which are common since nodes don't get packages uninstalled at cleanup time).
Claudio-Daniel Freire [Fri, 29 Apr 2011 08:26:53 +0000 (10:26 +0200)]
server_scp can copy multiple files at once.
This shaves a good 10% runtime from tests, and in some situations would mean a huge improvement (say, with long source lists)