- 13 Aug, 2013 1 commit
-
-
Leigh B Stoller authored
-
- 12 Aug, 2013 1 commit
-
-
Jonathon Duerig authored
-
- 09 Aug, 2013 17 commits
-
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
We currrently have a few cases where a slice record exists, but no sliver, and so Renew was failing. Since we store all of the expiration in the slice record, we do not actually need to have an aggregate, so remove the check.
-
Leigh B Stoller authored
-
Leigh B Stoller authored
Usage: setexpiration [-f] [-m <time> | -M] [-e <datetime> | -E] [-i | -I] <slice> Options: -f - Force operation even it makes no sense. -m - Max increment time for a renew. In minutes. Use zero to allow anything. Use "null" to clear. Use "NN days" or "NN hours" also. -M - Clear max increment time for a renew. -e - Termination date; sliver may not be renewed past this date. Use standard date format (YYYY-MM-DD HH:MM:SS) -E - Clear max termination date. -i - Set 'idle ignore'; no idle checks or email. -I - Turn idle checks back on.
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
to normal newnode mode.
-
Leigh B Stoller authored
-
Leigh B Stoller authored
The GPO purchased racks all look the same so we can add the new nodes statically from the XML file that HP sends us. Well, for the UEN rack and other privately purchased racks, we do not have any of that info, and so we have to figure things out ourselves. We could use the standard newnode route without modification, but that is a realy pain, say on a 33 node rack where the nodes land in any order and you have no idea what the corresponding ilo is. So I whacked this script to run from a data file we generate, which contains the two bits of info from the top of the node (ilo passwd and the ilo hostname), and the IPs we want to assign to the node and the corresponding ilo. So after turning all the nodes on and they checkin as usual, we run this script with the -r option, which looks at the dhcpd.lease file to find out what IP is which ILO, and the it asks each ilo via XMLRPC for its hosts daya, which includes the ethernet MACs. I use that to find the corresponding node in the leases file. Now I reorder the new_nodes table so that pc1 is at the bottom and pcNN is at the top. Now go back to the web interface and add all of the nodes. Then run this script again (no -r), which will create all of the management interfaces in the DB, reset the ilo, and then do the normal initilo stuff for each node (boot order, password change, ssh keys, etc). Presto, done.
-
Leigh B Stoller authored
I figure out how to get the switches to do ssh login, so not you can just do "sudo ssh procurve1" instead of telnet.
-
Leigh B Stoller authored
from control node.
-
Leigh B Stoller authored
-
Leigh B Stoller authored
fumbles around in an infinite loop.
-
Leigh B Stoller authored
work fine when the nodes are behaving themselves. 1) geni_update_users: Takes a slice credential and a keys argument. Can only be invoked when the sliver is in the started/geni_ready state. Moves the slice to the geni_updating_users state until all of the nodes have completed the update, at which time the sliver moves back to started/geni_ready. 2) geni_updating_users_cancel: We can assume that some nodes will be whacky and will not perform the update when told to. This cancels the update and moves the sliver back to started/geni_ready. A couple of notes: * The current emulab node update time is about three minutes; the sliver is in this new state for that time and cannot be restarted or stopped. It can of course be deleted. * Should we allow restart while in the updating phase? We could, but then I need more bookkeeping. * Some nodes might not be running the watch dog, or might not even be an emulab image, so the operation will never end, not until canceled. I could add a timeout, but that will require a monitor or adding DB state to store the start time.
-
- 08 Aug, 2013 2 commits
-
-
Leigh B Stoller authored
continual retries that annoy people.
-
Leigh B Stoller authored
-
- 06 Aug, 2013 1 commit
-
-
Kirk Webb authored
Users want to make images derived from standard ones that support blockstores, so let's make that possible.
-
- 31 Jul, 2013 1 commit
-
-
Kirk Webb authored
-
- 30 Jul, 2013 17 commits
-
-
Leigh B Stoller authored
-
Kirk Webb authored
Tweaks to prevent adding vlan 1 to the trunk allowed list. We should only ever do this implicitly if the last vlan in the allowed list is removed.
-
Kirk Webb authored
-
Kirk Webb authored
-
Kirk Webb authored
Things were confused. A more explicit split and treatment is needed. Update for portchannels in getPortState()
-
Kirk Webb authored
It gets called many times for a variety of commands...
-
Kirk Webb authored
-
Kirk Webb authored
-
Kirk Webb authored
* warnings normalized. * Added logic to deal with empty allow list for trunks * Added some missing locking. * Added some comments. Also added a new test in the test harness for trunks. On to testing.
-
Kirk Webb authored
Still have a smill bit of logic to write dealing with adding/removing the last vlan from the allowed list on "equal" trunks, and then it's on to testing.
-
Kirk Webb authored
-
Kirk Webb authored
Based on snmpit_arista and snmpit_hp.
-
Kirk Webb authored
This module wraps the Mellanox XML-gateway API, an "interesting" sort of interface offered up by Mellanox switches running MLNX-OS. This module handles all of the connection setup and XML encoding / decoding. Users of the module pass in arrays of commands to run, and arrays of results are returned. All commands in lists passed to a single call() invocation will be passed along together to be invoked, in order, on the switch. Mixtures of 'get', 'set-*', and 'action' commands are allowed. This check-in also includes a test harness for this module. Sample use: my $gw = MLNX_XMLGateway->new("user:pass@switch.somehost.org"); my @cmds = ( ["get", "/some/REST/path"], ["set-create", "/some/REST/path/to/create"], ["set-modify", "/some/REST/path/to/modify=newvalue"], ["action", "/some/REST/action/path", {var => value, ...}] ); $results = eval { $gw->call(\@cmds) }; if ($@) { die "error: $@"; } foreach my $res (@$results) { # path, type, value print "@$res\n"; }
-
Kirk Webb authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-