openstack-ansible/doc/source/install-guide/installation.rst
Alexandra 46b662dacb [DOCS] Moving the draft install guide to the install-guide folder
This patch removes the old install guide. It is still accessible
in the Mitaka section.

Change-Id: I47ce62523edd14a1bb20deba3f40e1e0b2df223c
Implements: blueprint osa-install-guide-overhaul
2016-08-31 13:44:55 +01:00

7.0 KiB

Installation

The installation process requires running three main playbooks:

  • The setup-hosts.yml Ansible foundation playbook prepares the target hosts for infrastructure and OpenStack services, builds and restarts containers on target hosts, and installs common components into containers on target hosts.
  • The setup-infrastructure.yml Ansible infrastructure playbook installs infrastructure services: memcached, the repository server, Galera, RabbitMQ, and Rsyslog.
  • The setup-openstack.yml OpenStack playbook installs OpenStack services, including the Identity service (keystone), Image service (glance), Block Storage (cinder), Compute service (nova), OpenStack Networking (neutron), Orchestration (heat), Dashboard (horizon), Telemetry service (ceilometer and aodh), Object Storage service (swift), and OpenStack Bare Metal provisioning (ironic).

Checking the integrity of your configuration files

Before running any playbook, check the integrity of your configuration files.

  1. Ensure all files edited in /etc/ are Ansible YAML compliant. Guidelines can be found here: http://docs.ansible.com/ansible/YAMLSyntax.html

  2. Check the integrity of your YAML files.

    Note

    To check your lint online, we recommend: http://www.yamllint.com/.

  3. Run your command with syntax-check:

    # openstack-ansible setup-infrastructure.yml --syntax-check
  4. Recheck that all indentation is correct. This is important as the syntax of the configuration files can be correct while not being meaningful for OpenStack-Ansible.

Run playbooks

  1. Change to the /opt/openstack-ansible/playbooks directory.

  2. Run the host setup playbook:

    # openstack-ansible setup-hosts.yml

    Confirm satisfactory completion with zero items unreachable or failed:

    PLAY RECAP ********************************************************************
    ...
    deployment_host                :  ok=18   changed=11   unreachable=0    failed=0
  3. Run the infrastructure setup playbook:

    # openstack-ansible setup-infrastructure.yml

    Confirm satisfactory completion with zero items unreachable or failed:

    PLAY RECAP ********************************************************************
    ...
    deployment_host                : ok=27   changed=0    unreachable=0    failed=0
  4. Run the following command to verify the database cluster:

    # ansible galera_container -m shell -a "mysql \
    -h localhost -e 'show status like \"%wsrep_cluster_%\";'"

    Example output:

    node3_galera_container-3ea2cbd3 | success | rc=0 >>
    Variable_name             Value
    wsrep_cluster_conf_id     17
    wsrep_cluster_size        3
    wsrep_cluster_state_uuid  338b06b0-2948-11e4-9d06-bef42f6c52f1
    wsrep_cluster_status      Primary
    
    node2_galera_container-49a47d25 | success | rc=0 >>
    Variable_name             Value
    wsrep_cluster_conf_id     17
    wsrep_cluster_size        3
    wsrep_cluster_state_uuid  338b06b0-2948-11e4-9d06-bef42f6c52f1
    wsrep_cluster_status      Primary
    
    node4_galera_container-76275635 | success | rc=0 >>
    Variable_name             Value
    wsrep_cluster_conf_id     17
    wsrep_cluster_size        3
    wsrep_cluster_state_uuid  338b06b0-2948-11e4-9d06-bef42f6c52f1
    wsrep_cluster_status      Primary

    The wsrep_cluster_size field indicates the number of nodes in the cluster and the wsrep_cluster_status field indicates primary.

  5. Run the OpenStack setup playbook:

    # openstack-ansible setup-openstack.yml

    Confirm satisfactory completion with zero items unreachable or failed.

Utility container

The utility container provides a space where miscellaneous tools and software are installed. Tools and objects are placed in a utility container if they do not require a dedicated container or if it is impractical to create a new container for a single tool or object. Utility containers are also used when tools cannot be installed directly onto a host.

For example, the tempest playbooks are installed on the utility container since tempest testing does not need a container of its own.

Verifying OpenStack operation

The utility container provides a CLI environment for additional configuration and testing.

  1. Determine the utility container name:

    # lxc-ls | grep utility
    infra1_utility_container-161a4084
  2. Access the utility container:

    # lxc-attach -n infra1_utility_container-161a4084
  3. Source the admin tenant credentials:

    # source /root/openrc
  4. Run an OpenStack command that uses one or more APIs. For example:

    # openstack user list
    +----------------------------------+--------------------+
    | ID                               | Name               |
    +----------------------------------+--------------------+
    | 08fe5eeeae314d578bba0e47e7884f3a | alt_demo           |
    | 0aa10040555e47c09a30d2240e474467 | dispersion         |
    | 10d028f9e47b4d1c868410c977abc3df | glance             |
    | 249f9ad93c024f739a17ca30a96ff8ee | demo               |
    | 39c07b47ee8a47bc9f9214dca4435461 | swift              |
    | 3e88edbf46534173bc4fd8895fa4c364 | cinder             |
    | 41bef7daf95a4e72af0986ec0583c5f4 | neutron            |
    | 4f89276ee4304a3d825d07b5de0f4306 | admin              |
    | 943a97a249894e72887aae9976ca8a5e | nova               |
    | ab4f0be01dd04170965677e53833e3c3 | stack_domain_admin |
    | ac74be67a0564722b847f54357c10b29 | heat               |
    | b6b1d5e76bc543cda645fa8e778dff01 | ceilometer         |
    | dc001a09283a404191ff48eb41f0ffc4 | aodh               |
    | e59e4379730b41209f036bbeac51b181 | keystone           |
    +----------------------------------+--------------------+

Verifying the Dashboard (horizon)

  1. With a web browser, access the Dashboard using the external load balancer IP address defined by the external_lb_vip_address option in the /etc/openstack_deploy/openstack_user_config.yml file. The dashboard uses HTTPS on port 443.
  2. Authenticate using the username admin and password defined by the keystone_auth_admin_password option in the /etc/openstack_deploy/user_variables.yml file.