18e45a99dd
Replace launch-node.py with launch-node-ansible.py. Update it to delete the inventory cache correctly. Also, update the docs to list Bionic by default rather than Trusty. Change-Id: Iadda897b7e71dc12c8db4ced120894054169bbb8
71 lines
2.3 KiB
Plaintext
71 lines
2.3 KiB
Plaintext
Create Server
|
|
=============
|
|
|
|
Note that these instructions assume you're working from this
|
|
directory on an updated local clone of the repository on the
|
|
puppetmaster, and that your account is a member of the admin
|
|
and puppet groups for access to their respective keys::
|
|
|
|
sudo adduser $(whoami) admin
|
|
sudo adduser $(whoami) puppet
|
|
|
|
(Remember to log out and back into your shell if you add yourself
|
|
to a group.)
|
|
|
|
Launching a node currently requires a different version of ansible
|
|
than what is generally used on the puppetmaster. Set up a
|
|
virtualenv::
|
|
|
|
virtualenv -p python2 ~/launch-env/
|
|
. ~/launch-env/bin/activate
|
|
pip install ansible==2.1.1.0 shade
|
|
|
|
To launch a node in the OpenStack CI account (production servers)::
|
|
|
|
. ~/launch-env/bin/activate
|
|
export OS_CLOUD=openstackci-rax
|
|
export OS_REGION_NAME=DFW
|
|
export FLAVOR="8 GB Performance"
|
|
export FQDN=servername01.openstack.org
|
|
cd /opt/system-config/launch/
|
|
./launch-node.py $FQDN --flavor "$FLAVOR" \
|
|
--cloud=$OS_CLOUD --region=$OS_REGION_NAME
|
|
|
|
To launch a node in the OpenStack Jenkins account (slave nodes)::
|
|
|
|
. ~/launch-env/bin/activate
|
|
export OS_CLOUD=openstackjenkins-rax
|
|
export OS_REGION_NAME=DFW
|
|
export FQDN=slavename01.slave.openstack.org
|
|
openstack image list
|
|
export IMAGE='Ubuntu 18.04 LTS (Bionic Beaver) (PVHVM)'
|
|
openstack flavor list
|
|
export FLAVOR="8 GB Performance"
|
|
./launch-node.py $FQDN --image "$IMAGE" --flavor "$FLAVOR" \
|
|
--cloud=$OS_CLOUD --region=$OS_REGION_NAME
|
|
|
|
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.
|
|
|
|
In order for Ansible to be able to send out the Puppet updates,
|
|
you also need the puppetmaster to accept the root SSH key for the
|
|
new server. So as root on the puppetmaster:
|
|
|
|
ssh root@$FQDN
|
|
|
|
Verify the fingerprint of the new server and type "yes" to accept.
|
|
Then you can log out.
|
|
|
|
Add DNS Records
|
|
===============
|
|
|
|
There are no scripts to automatically handle DNS at the moment due to
|
|
a lack of library support for the new Rackspace Cloud DNS (with IPv6).
|
|
However, the launch-node script will print the commands needed to be
|
|
run to configure DNS for a newly launched server. To see the commands
|
|
for an existing server, run:
|
|
|
|
./dns.py $FQDN
|