168b11398a
* launch/README: More clarity on Jenkins slave example, and additional levels of cut-n-pasteability on the DNS record creation example. Also switch from requiring root to expecting to be run from a normal account with sudo access and membership in the puppet group. * launch/launch-node.py: Default to assuming the certname is the same as the node FQDN, if it isn't overridden via command-line option. Change-Id: I9c987055b18e084983f2459fe01598837e1ebcc6 Reviewed-on: https://review.openstack.org/20645 Reviewed-by: Monty Taylor <mordred@inaugust.com> Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Approved: Clark Boylan <clark.boylan@gmail.com> Tested-by: Jenkins
66 lines
2.6 KiB
Plaintext
66 lines
2.6 KiB
Plaintext
Note that these instructions assume you're working from this
|
|
directory on an updated local clone of the repository, and that
|
|
your account is a member of the puppet group for access to the
|
|
puppet keys::
|
|
|
|
sudo adduser YOURUSER puppet
|
|
|
|
(Remember to log out and back into your shell if you add yourself
|
|
to a group.)
|
|
|
|
To launch a node in the OpenStack CI account (production servers)::
|
|
|
|
export FQDN=servername.openstack.org
|
|
. ~root/ci-launch/openstackci-rs-nova.sh
|
|
sudo puppet cert generate $FQDN
|
|
./launch-node.py $FQDN
|
|
|
|
To launch a node in the OpenStack Jenkins account (slave nodes)::
|
|
|
|
export FQDN=slavename.slave.openstack.org
|
|
export CERT=slavetype.slave.openstack.org
|
|
export IMAGE='Ubuntu 12.10 (Quantal Quetzal)'
|
|
export RAM=2048
|
|
. ~root/ci-launch/openstackjenkins-rs-nova.sh
|
|
sudo puppet cert generate $CERT
|
|
./launch-node.py $FQDN --cert $CERT.pem --image "$IMAGE" --ram $RAM
|
|
|
|
If you are launching a replacement server, you may skip the generate
|
|
step and specify the name of an existing puppet cert (as long as the
|
|
private key is on this host).
|
|
|
|
The server name and cert names may be different (as in the Jenkins
|
|
slave example), but launch-node.py will assume they are the same
|
|
unless specified.
|
|
|
|
Manually add the hostname to DNS (the launch script does not do so
|
|
automatically). Note that this example assumes you've already
|
|
exported a relevant FQDN and sourced the appropriate API credentials
|
|
above.
|
|
|
|
DNS
|
|
===
|
|
|
|
There are no scripts to handle DNS at the moment due to a lack of
|
|
library support for the new Rackspace Cloud DNS (with IPv6). To
|
|
manually update DNS, you will need the hostname, v4 and v6 addresses
|
|
of the host, as well as the UUID (these can all be found by running
|
|
the ''nova list'' command). The environment variables used in the
|
|
URL should be satisfied by sourcing the "openstackci-rs-nova.sh"
|
|
script (or jenkins, as appropriate).
|
|
|
|
. ~root/rackdns-venv/bin/activate
|
|
|
|
TEMPFILE=$(tempfile)
|
|
nova list | grep "| $FQDN " | sed 's/^| \([0-9a-f-]\+\) .* public=\([0-9a-f:]\+\), \([0-9\.]\+\);.*/export UUID="\1"\nexport IPV6="\2"\nexport IPV4="\3"/' > $TEMPFILE
|
|
cat $TEMPFILE
|
|
. $TEMPFILE
|
|
rm $TEMPFILE
|
|
|
|
rackdns rdns-create --name $FQDN --data "$IPV6" --server-href https://$os_region_name.servers.api.rackspacecloud.com/v2/$OS_TENANT_NAME/servers/"$UUID" --ttl 300
|
|
rackdns rdns-create --name $FQDN --data "$IPV4" --server-href https://$os_region_name.servers.api.rackspacecloud.com/v2/$OS_TENANT_NAME/servers/"$UUID" --ttl 300
|
|
|
|
. ~root/ci-launch/openstack-rs-nova.sh
|
|
rackdns record-create --name $FQDN --type AAAA --data "$IPV6" --ttl 300 openstack.org
|
|
rackdns record-create --name $FQDN --type A --data "$IPV4" --ttl 300 openstack.org
|