Commit 34c3e4eb authored by Leigh Stoller's avatar Leigh Stoller

Update my notes on creating images.

parent 19a52d71
......@@ -25,18 +25,47 @@ they better be booting on the control node at the remote site!
The rest of the config variables are set according to the particulars
of the site, as told to us by the local site admin.
After you "duplicate" this experiment for a new site, be sure to make
a copy of the private variables file, change the path in the NS file,
and change all the passwords in the file. I just generated random
strings by piping some bytes from /dev/random into md5 and taking a
substring.
For each site, we need to create a directory with three files in it:
Swap the experiment in.
ips.txt - The ip addresses for the control/ilo interfaces
ilo.xml - The XML file of ilo info from HP
config.txt - Some extra config variables.
Once the VMs are ready, we have to take the snapshots. But first we
have to clean them up as mentioned above. This process is actually a
lot more involved then I alluded to, but its all automated. First ssh
(as root) into the inner ops VM from outer boss:
Take a look at the boss:~stoller/genirack/bbn directory for examples.
The config.txt file is a bunch of passwords, which are random strings
I generated by piping some bytes from /dev/random into md5 and taking
a substring. The ip file is specific to the site of course, and the
XML file comes from HP via email.
Utah Emulab is going to function as a secondary for each rack's boss
named. So we need to a secondary record to our named config file,
in both the internal and external views.
# Secondary for foo.net
zone "foo.net" {
type slave;
# IP of rack boss
masters { XXX.XXX.XXX.XXX; };
file "slave/foo.net.db";
};
Utah Emulab is also the DNS server for the control node IPs. So in
/etc/namedb/instageni.net.db we need two entries. For example
gpolab.control-nodes IN A 192.1.242.130
gpolab-ilo.control-nodes IN A 192.1.242.131
Then run named_setup to get named restarted on boss.
Swap the experiment in.
Once the VMs are ready, copy the directory mentioned above over to the
inner boss as /usr/testbed/etc/genirack. Do NOT put this stuff on the
inner ops!
Now we convert the VMs for boot in the target environment, which means
cleaning up some stuff and changing a bunch of things. First ssh (as
root) into the inner ops VM from outer boss:
ops> cd /usr/testbed/obj/testbed/install
ops> sudo perl emulab-install -i ops/genirack ops
......@@ -93,17 +122,25 @@ Note, DO NOT CHANGE THESE ON THE ROOT DISK! The clone is mounted on
* /mnt/etc/hostname; the hostname of course
* /mnt/etc/hosts: IP Hostname of course
* Set the root password; we do not want it the same on each control
node, although note that ssh root login is not allowed.
node, although note that ssh root login is not allowed. Be sure
to write it down sompelace.
sudo chroot /mnt passwd root
* Generate fresh ssh host heys:
sudo chroot /mnt ssh-keygen -t rsa1 -b 1024 -f /etc/ssh/ssh_host_key -N ''
sudo chroot /mnt ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
sudo chroot /mnt ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
* Create the initial admin account for the whoever said they are the
local admin. This requires an ssh version 2 pub key. Copy that file
to /mnt/tmp, and then:
sudo chroot /mnt /usr/local/bin/mkadmin.pl stoller /tmp/key.pub
sudo chroot /mnt /usr/local/bin/mkadmin.pl XXXX /tmp/key.pub
Now we want to take an imagezip of the mirror disk. This will give us
an ndz file that we can imageunzip onto the control node disk (this is
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment