- 19 Jul, 2011 12 commits
-
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
- 27 May, 2011 1 commit
-
-
Mike Hibler authored
Primarily, so we can let frisbee upload to boss work through our firewall without opening a gaping hole. YOU MUST RECONFIGURE YOUR TREE before installing.
-
- 17 May, 2011 1 commit
-
-
Mike Hibler authored
This is specifically intended for elabinelab right now where configurations with an "inner control network" need a multicast router for inner frisbee to work. There is (an undocumented) NEEDMROUTED defs variable that controls whether the machinery is triggered or not. It is not documented because, though in theory this would work for a real boss setup, it has not been tested and each install would probably need a custom mrouted.conf file. For an inner elab, this variable is automatically set in defs-elabinelab if there is an inner control network. The result is that the mrouted port will be installed, it will be enabled in rc.conf, and a stub mrouted.conf file is created (to force mrouted to ignore the real control network).
-
- 10 May, 2011 1 commit
-
-
Leigh B Stoller authored
libraries from snmpit_test directory, See previous commit.
-
- 31 Mar, 2011 1 commit
-
-
Leigh B Stoller authored
-
- 28 Mar, 2011 1 commit
-
-
Leigh B Stoller authored
current and maintained DBI::mysql module. A couple of things make this a little more work then you might think. Mysql exports a slightly different API then DBI, both at the DB *and* the statement level. The former required some restructuring of emdbi.pm, partly cause we want external sites to continue using Mysql for a while longer. So, emdbi suppports both interfaces, via the configure variable TBUSEDBI. I also took the opportunity to also scrap the existing fork() detection code and redo it in an easier to understand manner. Actually, I had no idea what the previous code was trying to do, so it was easier to just get rid of it, rather then try to make it work for the DBI API. There are also API differences in the "statement" class, but fortunately this can be hidden by wrapping the statement class with a wrapper that adds the routines we need to avoid making silly changes to 1000s of queries. They are all trivial little things since mostly its a matter of naming (numrows --> rows). I also changed the library we use on ops (db/libtbdb.pm.in) to use DBI, but in this case I just switched it over. Seemed like overkill to worry about supporting both APIs on ops. If it works it works, and so far it does. Lastly, the following modules still use Mysql directly. They all need to be changed, but none of these are on the critical path to swapin and swapout, so they can change later. db/dumperrorlog.proxy.in db/showgraph.in db/sitevarscheck.in bgmon/find-asymmetric db/pelab_opspush.proxy.in slothd/sdisrunning.in utils/export_tables.in utils/setbuildinfo.in pelab/bgmon/libpelabdb.pm pelab/dbmonitor/libtbdb.pm
-
- 10 Feb, 2011 1 commit
-
-
Mike Hibler authored
Be sure to configure the mfrisbeed startup script. Make *-install self-loader fixup work even if patch already applied.
-
- 18 Jan, 2011 1 commit
-
-
Mike Hibler authored
No more frisbeelauncher or assorted subboss frisbee stuff.
-
- 11 Jan, 2011 1 commit
-
-
Mike Hibler authored
Repeating myself since not everything got committed last time... In the lastest version of SelfLoader they fixed the taint problem. It is literally one line of code (plus updating version string) so I just made a patch. Also, fixup boss/ops-install to apply the patch and change the default to use the SelfLoader again.
-
- 22 Dec, 2010 1 commit
-
-
Mike Hibler authored
-
- 24 Nov, 2010 1 commit
-
-
Mike Hibler authored
There are a couple of new packet types in the frisbee protocol which are exchanged via TCP with the master server: GETREQUEST and GETREPLY. The client passes to the master server an opaque imageid and a couple of options and gets back the addr/port to use to actually download the image. The implementation of the master server is fragile and is more of a test framework, Grant is working on a more robust master server. I am mostly doing a backend that communicates with the Emulab DB to do its authentication and making the client changes. The client now uses the -S option to specify the IP address of the master server and the -F option to specify an imageid. If no error is returned, the image is downloaded using the returned addr/port. If -Q is used in place of -F, then the client makes a "status only" call getting back info about whether the named image is accessible to the client and whether a server is currently running. On the server side, the new master server (mserver.c) has an Emulab configuration "backend" that supports host-based authentication. The IP address of the caller is mapped to a node_id/pid/gid/eid combo that is used to determine access. On a request, the specified imageid is treated either as a pathname (if it starts with '/') or an image identifier of the form "<pid>/<imagename>". If it is a pathname, we check to make sure that pathname (after running through "realpath") is contained in one of the directories accessible to that node in its current experiment context; i.e., /share, /proj/<pid>, /groups/<pid>/<gid>, or /users/<swapper-uid>. If it is an image identifier, the DB is queried to ensure that access is allowed to that image; i.e., it must be "global" or in the appropriate project/group. The master server forks a frisbeed for each valid request, if one is not already running. The multicast address selection is still based on the emulab_indicies.frisbee_index field, but the address/port/server info is no longer stored in the frisbee_blobs table (frisbee_pid, load_address, load_busy are not set). Note that this is not yet integrated in the os_load path. Further work is required to replace frisbeelauncher.
-
- 28 Oct, 2010 2 commits
-
-
Ryan Jackson authored
Use the new event scheduler by default for any users/groups/experiments configured for it using EmulabFeatures. Added '-N' option to eventsys.proxy to have it use the new scheduler (if it exists) instead of the old one. Added test for NewEventScheduler feature to eventsys_control so that it will pass the '-N' option to eventsys.proxy for experiments/users/groups using the feature. These changes will go away when the new event scheduler replaces the old one.
-
Mike Hibler authored
-
- 21 Oct, 2010 1 commit
-
-
Mike Hibler authored
Fix from Mike Ryan. We got away without this because the GNUmakefile will run configure on those files when we did a make.
-
- 20 Oct, 2010 1 commit
-
-
Mike Hibler authored
(eventual) support for NFS servers without race conditions! This means no NFS between nodes and ops/fs. There are still NFS mounts of ops on boss however. Added new defs-* variable NOSHAREDFS, which when set non-zero will disable the export of NFS filesystems to nodes. Involved lots of little changes: * /users, /proj, and /share filesystems are not exported to nodes. * Returned mount info now includes an FSTYPE key which will be set to "LOCAL" if NOSHAREDFS is in effect (by default it is set to "NFS-RACY"; more on this later). In the case where it is set to LOCAL, the other mount lines no longer contain REMOTE=foo settings. Because of this change, THE TMCD VERSION NUMBER HAS BEEN BUMPED TO 32. * The client rc.mounts script will now create local versions of /users/*, /proj/<pid>, and /share when FSTYPE=LOCAL. It first runs mkextrafs to create a large partition for these, since someday we will likely want to pre-populate these with a non-trivial amount of data. Right now, the only thing that is put in the user's homedir is the standard dotfiles for the OS and the Emulab authorized_keys file (so you can login). * Linktest had to be modified to fetch the various results files (via loghole) rather than just assuming they were in /proj. And also changed to invoke tevc with the local copy of the event key so it won't try to read it over NFS. * create_image was modified to ssh to the node and run the imagezip command, capturing the output of ssh. This is controlled via the "-s" option which defaults to on for a NOSHAREDFS system, but can also be used on a normal system. * elabinelab's can be configured with/without a shared FS via the CONFIG_SHAREDFS attribute (note polarity change) which defaults to 1. Another new defs-* variable, NFSRACY, will some day allow you to specify (by setting to 0) that your NFS server does NOT have the nefarious mountd race condition when changing /etc/exports. Currently, this defaults to 1 since all versions of FreeBSD supported as an "fs" node have this "feature." Rumor has it that FreeBSD 8 does not have this problem nor, presumably, would a Linux NFS server. The only use of this variable right now is to set the FSTYPE returned by the tmcd "mounts" call, which in turn is used by one client script, rc.topomap (via a libsetup function) to determine whether it should try copying the topo file multiple times. Random: add python2.6 to list of python's checked for in configure. Random: resync defs-example-privatecnet with defs-example. Random: did a little code-pissin here and there.
-
- 15 Oct, 2010 2 commits
-
-
Mike Hibler authored
-
Mike Hibler authored
This is a fer-now hack. Perl 5.10 has issues with bogus taint check triggers that appear quite often when using the SelfLoader. Now if you put: SELFLOADER_DATA="" In your defs-* file, it will disable the uses that cause problems. Yes, the configure script should figure out if this is needed for you, but... another time.
-
- 28 Sep, 2010 1 commit
-
-
Ryan Jackson authored
-
- 17 Sep, 2010 1 commit
-
-
Ryan Jackson authored
Includes hack to "fix" upstart dependency problems: A) eth* interfaces are probed by ifupdown serially instead of in parallel. B) Legacy initscript support waits for the the control net probe to finish (with either success or failure) before running legacy initscripts.
-
- 22 Jul, 2010 1 commit
-
-
Tarun Prabhu authored
Updated extensions for correct namespaces. Modified makefiles to install different versions of the schemas in different directories. Modified the configure script to do the same thing. xsdgen has been modified as well, although it doesn't seem to have made it to this commit list.
-
- 18 Jun, 2010 1 commit
-
-
Ryan Jackson authored
-
- 03 Jun, 2010 1 commit
-
-
Leigh B Stoller authored
-
- 28 Apr, 2010 1 commit
-
-
Kevin Atkinson authored
exp. visualization code.
-
- 16 Apr, 2010 2 commits
-
-
Kevin Atkinson authored
pages from the /proj directory, without having to set the exec. bit on /proj/PID. Will also be used to handle authorization in the future.
-
Mike Hibler authored
-
- 15 Apr, 2010 1 commit
-
-
Mike Hibler authored
-
- 01 Apr, 2010 1 commit
-
-
Tom Mitchell authored
-
- 30 Mar, 2010 1 commit
-
-
Tom Mitchell authored
Added GENI_AM_SUPPORT to configure. protogeni-cm.pl honors GENI_AM_SUPPORT by invoking GeniAM.pm functions instead of GeniCM.pm functions. Only GetVersion is implemented.
-
- 20 Mar, 2010 1 commit
-
-
Kevin Atkinson authored
-