commit | 6e7b40264b8d8838901e1df5466565e672fbaada | [log] [tgz] |
---|---|---|
author | Zack Williams <zdw@artisancomputer.com> | Mon Jun 20 10:45:32 2016 -0700 |
committer | Zack Williams <zdw@artisancomputer.com> | Mon Jun 20 10:45:32 2016 -0700 |
tree | 932f1bbcc6d3127bc8f431cd7eb6c4b7b8fd8e29 | |
parent | 7d6747d2ced72bbfcd3d6a39642dc750ca8f6adb [diff] | |
parent | ef85125615a18e501169a428be10fcd51b9b7875 [diff] |
Merge remote-tracking branch 'refs/remotes/origin/master'
This repository contains Ansible playbooks for installing and configuring an OpenStack Kilo cluster for use with XOS. This is how we build clusters for OpenCloud, and is the method of installing a CORD development POD as well.
All of the OpenStack controller services are installed in VMs on a single "head node" and connected by an isolated private network. Juju is used to install and configure the OpenStack services.
The CORD POD install procedure uses the "head node" of the cluster as the control machine for the install. As mentioned above, install Ansible on the head node and check out this repository.
The playbooks assume that a bridge called mgmtbr on the head node is connected to the management network. Note that also there must be a DHCP server on the management network that:
If you need to set up dnsmasq
to do this, take a look at this example configuration. Then follow these steps:
bootstrap.sh
script to install Ansible and set up keys for login via localhost
$ ansible -i cord-hosts head -m ping $ ansible -i cord-hosts compute -m ping
ansible-playbook -i cord-hosts cord-setup.yml
juju status --format=tabular
. It should take about 30 minutes to install and configure all the OpenStack services.admin-openrc.sh
credentials in the home directory to interact with OpenStack. You can SSH to any VM using ssh ubuntu@<vm-name>
This will bring up various OpenStack services, including Neutron with the VTN plugin. It will also create two VMs called xos and onos-cord and prep them. Configuring and running XOS and ONOS in these VMs is beyond the scope of this README.
NOTE: The install process only brings up a single nova-compute node. To bring up more nodes as compute nodes, perform these steps on the head node:
$ juju add-machine ssh:<user>@<compute-host> $ juju add-unit nova-compute --to <juju-machine-id>
Refer to the Juju documentation for more information.
Setting up a single-node CORD environment is simple.
wget https://raw.githubusercontent.com/open-cloud/openstack-cluster-setup/master/scripts/single-node-pod.sh
bash single-node-pod.sh [-t] [-e]
-t
option will start XOS, bring up a vSG, install a test client, and run a simple E2E test.-e
option will add the ExampleService to XOS (and test it if -t
is also specified).As mentioned above, be patient! With a fast Internet connection, the entire process will take at least one hour to complete.
The install will bring up various OpenStack services, including Neutron with the VTN plugin. It will also create two VMs called xos and onos-cord and prep them. It creates a single nova-compute node running inside a VM.
It should be possible to use this method on any server running Ubuntu 14.04, as long as it has sufficient CPU cores and disk space. A server with at least 12 cores and 48GB RAM is recommended.
Once the prerequisites are satisfied, here are the basic steps for installing a new OpenCloud cluster named 'foo':
$ ansible-playbook -i foo-hosts foo-setup.yaml
$ juju add-machine ssh:ubuntu@compute-node
$ ansible-playbook -i foo-hosts foo-compute.yaml