- 14 Aug, 2017 1 commit
-
-
Leigh B Stoller authored
interfaces table for auto creating interfaces, in case I need to back them out in a hurry.
-
- 11 Aug, 2017 1 commit
-
-
Leigh B Stoller authored
interfaces. Also add a couple of generic interface types (40G and 100G).
-
- 27 Jul, 2017 2 commits
-
-
Leigh B Stoller authored
with something other then their row index. Something unique in fact.
-
Leigh B Stoller authored
1. Add display_start and display_end datetime fields for scheduling when an announcement should be shown/retired. 2. Add priority integer for ordering messages, default is 3.
-
- 26 Jul, 2017 2 commits
-
-
Leigh B Stoller authored
1. Add a unique uuid for a shared lookup token with the web UI. 2. Add pid_idx for targeting announcements to projects (issue #258).
-
Mike Hibler authored
Provide automated setup of an ssh keypair enabling root to login without a password between nodes. The biggest challenge here is to get the private key onto nodes in such a way that a non-root user on those nodes cannot obtain it. Otherwise that user would be able to ssh as root to any node. This precludes simple distribution of the private key using tmcd/tmcc as any user can do a tmcc (tmcd authentication is based on the node, not the user). This version does a post-imaging "push" of the private key from boss using ssh. The key is pushed from tbswap after nodes are imaged but before the event system, and thus any user startup scripts, are started. We actually use "pssh" (really "pscp") to scale a bit better, so YOU MUST HAVE THE PSSH PACKAGE INSTALLED. So be sure to do a: pkg install -r Emulab pssh on your boss node. See the new utils/pushrootkeys.in script for more. The public key is distributed via the "tmcc localization" command which was already designed to handle adding multiple public keys to root's authorized_keys file on a node. This approach should be backward compatible with old images. I BUMPED THE VERSION NUMBER OF TMCD so that newer clients can also get back (via rc.localize) a list of keys and the names of the files they should be stashed in. This is used to allow us to pass along the SSL and SSH versions of the public key so that they can be placed in /root/.ssl/<node>.pub and /root/.ssh/id_rsa.pub respectively. Note that this step is not necessary for inter-node ssh to work. Also passed along is an indication of whether the returned key is encrypted. This might be used in Round 2 if we securely implant a shared secret on every node at imaging time and then use that to encrypt the ssh private key such that we can return it via rc.localize. But the client side script currently does not implement any decryption, so the client side would need to be changed again in this future. The per experiment root keypair mechanism has been exposed to the user via old school NS experiments right now by adding a node "rootkey" method. To export the private key to "nodeA" and the public key to "nodeB" do: $nodeA rootkey private 1 $nodeB rootkey public 1 This enables an asymmetric relationship such that "nodeA" can ssh into "nodeB" as root but not vice-versa. For a symmetric relationship you would do: $nodeA rootkey private 1 $nodeB rootkey private 1 $nodeA rootkey public 1 $nodeB rootkey public 1 These user specifications will be overridden by hardwired Emulab restrictions. The current restrictions are that we do *not* distribute a root pubkey to tainted nodes (as it opens a path to root on a node where no one should be root) or any keys to firewall nodes, virtnode hosts, delay nodes, subbosses, storagehosts, etc. which are not really part of the user topology. For more on how we got here and what might happen in Round 2, see: #302
-
- 13 Jul, 2017 1 commit
-
-
Leigh B Stoller authored
Add new table experiment_keys to hold RSA priv/pub key pair and an SSH public key derived from the private key. Initialized when experiment is first created, I have not done anything to set the keys for existing experiments yet. But for testing, you can do this: use lib "/usr/testbed/lib"; use Experiment; my $experiment = Experiment->Lookup("testbed", "layers"); $experiment->GenerateKeys();
-
- 06 Jul, 2017 1 commit
-
-
Leigh B Stoller authored
-
- 20 Jun, 2017 1 commit
-
-
Leigh B Stoller authored
-
- 12 Jun, 2017 1 commit
-
-
Leigh B Stoller authored
the unsigned int.
-
- 06 Jun, 2017 2 commits
-
-
Leigh B Stoller authored
-
Leigh B Stoller authored
needs admin approval. I can figure this out from the data, but easier if we just set a flag.
-
- 05 Jun, 2017 1 commit
-
-
Leigh B Stoller authored
-
- 30 May, 2017 1 commit
-
-
Leigh B Stoller authored
In the beginning, the number and size of experiments was small, and so storing the entire slice/sliver status blob as json in the web task was fine, even though we had to lock tables to prevent races between the event updates and the local polling. But lately the size of those json blobs is getting huge and the lock is bogging things down, including not being able to keep up with the number of events coming from all the clusters, we get really far behind. So I have moved the status blobs out of the per-instance web task and into new tables, once per slice and one per node (sliver). This keeps the blobs very small and thus the lock time very small. So now we can keep up with the event stream. If we grow big enough that this problem comes big enough, we can switch to innodb for the per-sliver table and do row locking instead of table locking, but I do not think that will happen
-
- 16 May, 2017 1 commit
-
-
Leigh B Stoller authored
experiments created in that project. For now, we are going to set this on the Cloudlab project to prevent 500 users from being created on those experiments, since thats where most people coming from the trusted signer live.
-
- 04 May, 2017 1 commit
-
-
Gary Wong authored
-
- 02 May, 2017 1 commit
-
-
Leigh B Stoller authored
1. Okay, 10-15 seconds for me, which is the same as forever. 2. Do not sort in PHP, sort in javascript, let the client burn those cycles instead of poor overworked boss. 3. Store global lastused/usecount in the apt_profiles table so that we do not have to compute it every time for profile. 4. Compute the user's lastused/usecount for each profile in a single query and create local array. Cuts out 100s of queries.
-
- 19 Apr, 2017 1 commit
-
-
Leigh B Stoller authored
If we assign a unique constant random value to every user, and spit that out in the initial ga() stuff at the beginning of each page load, google can combine interactions from the same user across different devices. Say, like work vs home computer.
-
- 17 Apr, 2017 1 commit
-
-
Leigh B Stoller authored
have been machine converted from rspecs to geni-lib scripts.
-
- 22 Mar, 2017 1 commit
-
-
Gary Wong authored
-
- 17 Mar, 2017 1 commit
-
-
Leigh B Stoller authored
push hook URL.
-
- 07 Mar, 2017 2 commits
-
-
Leigh B Stoller authored
-
Leigh B Stoller authored
image server to delete versions.
-
- 03 Mar, 2017 1 commit
-
-
Leigh B Stoller authored
+---------+---------+---------+---------+--------+---------------+--------+ | pid | gid | pid_idx | gid_idx | policy | auxdata | count | +---------+---------+---------+---------+--------+---------------+--------+ | testbed | * | 10345 | 0 | type | d430 | 10 | which says to apply the policy to all subgroups, using the current count for the project.
-
- 27 Feb, 2017 1 commit
-
-
Leigh B Stoller authored
-
- 22 Feb, 2017 1 commit
-
-
Leigh B Stoller authored
from being deleted. If a profile cannot be deleted, then the images it references cannot be deleted either.
-
- 10 Feb, 2017 2 commits
-
-
Mike Hibler authored
-
Leigh B Stoller authored
-
- 06 Feb, 2017 1 commit
-
-
Leigh B Stoller authored
-
- 27 Jan, 2017 1 commit
-
-
Leigh B Stoller authored
-
- 19 Jan, 2017 2 commits
-
-
Mike Hibler authored
-
Mike Hibler authored
We will populate this with the info we currently hardwire in the rc.d/3.mfrisbeed.sh startup script. Will pass to the subboss via a new tmcd call or using the mothballed subboss XMLRPC interface.
-
- 09 Jan, 2017 2 commits
-
-
Leigh B Stoller authored
-
Leigh B Stoller authored
-
- 06 Jan, 2017 2 commits
-
-
Leigh B Stoller authored
-
Leigh B Stoller authored
of these now, time to start managing them properly (we have lots of stale ones in the DB).
-
- 04 Jan, 2017 3 commits
-
-
Leigh B Stoller authored
-
Leigh B Stoller authored
interfaces table that tells snmpit not to mess with the port.
-
Leigh B Stoller authored
ports that do not support our oldish set of speed/duplex settings.
-
- 27 Dec, 2016 1 commit
-
-
Leigh B Stoller authored
1. We do not need to save the param definitions; we have the script. 2. We do want to save the refspec in the history, even though we have the hash. Easier to see what is going on.
-