Updated tests and role for Xenial support

These changes allow the role to be tested on Xenial hosts
while also ensuring that the tests are testing everything
within the container as expected.

Overview:
  * Included in this PR is a manual-test.rc. This has been
    added to  allow developers to run tests locally without
    having to invoke tox. This RC file was lifed from the
    os_keystone role.
  * The git package was added to the install list. This is
    needed on the target when the role is running with developer
    mode enabled.
  * Connection settings within the container create prep playbook
    were removed. A``connection: local`` setting forces all
    commands to be executed against the host regardless of a
    delegated task.
  * A task has been added to the horizon role to when SSL is
    enabled. This task ensures that that ca certificates are
    updated. Without this change, when running on Xenial,
    tempest will fail due to the following error:
      [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
    By updating the ca certificats on tempest is able to verify
    the certificate and pass the tests. NOTE: This fix came from
    the puppet-OpenStack community where they ran into the same
    problems in Xenial as discussed here: [0]

[0] - https://irclogs.ubuntu.com/2016/05/18/%23ubuntu-server.html#t13:37

Change-Id: I1e6808c49a8faaba5b2748918be5d6b5a59fd3d1
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
Kevin Carter 2016-07-11 23:39:20 -05:00
parent 30f0d599f7
commit cc71003acb
No known key found for this signature in database
GPG Key ID: 69FEFFC5E2D9273F
6 changed files with 33 additions and 4 deletions

22
manual-test.rc Normal file
View File

@ -0,0 +1,22 @@
export VIRTUAL_ENV=$(pwd)
export ANSIBLE_HOST_KEY_CHECKING=False
export ANSIBLE_SSH_CONTROL_PATH=/tmp/%%h-%%r
# TODO (odyssey4me) These are only here as they are non-standard folder
# names for Ansible 1.9.x. We are using the standard folder names for
# Ansible v2.x. We can remove this when we move to Ansible 2.x.
export ANSIBLE_ACTION_PLUGINS=${HOME}/.ansible/plugins/action
export ANSIBLE_CALLBACK_PLUGINS=${HOME}/.ansible/plugins/callback
export ANSIBLE_FILTER_PLUGINS=${HOME}/.ansible/plugins/filter
export ANSIBLE_LOOKUP_PLUGINS=${HOME}/.ansible/plugins/lookup
# This is required as the default is the current path or a path specified
# in ansible.cfg
export ANSIBLE_LIBRARY=${HOME}/.ansible/plugins/library
# This is required as the default is '/etc/ansible/roles' or a path
# specified in ansible.cfg
export ANSIBLE_ROLES_PATH=${HOME}/.ansible/roles:$(pwd)/..
echo "Run manual functional tests by executing the following:"
echo "# ./.tox/functional/bin/ansible-playbook -i tests/inventory tests/test.yml -e \"rolename=$(pwd)\""

View File

@ -23,6 +23,7 @@ galaxy_info:
- name: Ubuntu - name: Ubuntu
versions: versions:
- trusty - trusty
- xenial
categories: categories:
- cloud - cloud
- python - python

View File

@ -40,6 +40,12 @@
- include: horizon_ssl_user_provided.yml - include: horizon_ssl_user_provided.yml
when: not horizon_external_ssl|bool when: not horizon_external_ssl|bool
- name: Update the ca certificates
command: "update-ca-certificates -f"
when: not horizon_external_ssl|bool
tags:
- horizon-ssl
- include: horizon_service_setup.yml - include: horizon_service_setup.yml
- include: horizon_apache.yml - include: horizon_apache.yml

View File

@ -15,7 +15,6 @@
- name: Create test containers - name: Create test containers
hosts: all_containers hosts: all_containers
connection: local
gather_facts: false gather_facts: false
pre_tasks: pre_tasks:
- name: Destroy test containers - name: Destroy test containers

View File

@ -61,8 +61,8 @@ memcached_servers: 127.0.0.1
openrc_os_auth_url: "http://127.0.0.1:5000/v3" openrc_os_auth_url: "http://127.0.0.1:5000/v3"
openrc_os_domain_name: "Default" openrc_os_domain_name: "Default"
openrc_os_password: "{{ keystone_auth_admin_password }}" openrc_os_password: "{{ keystone_auth_admin_password }}"
tempest_dashboard_login_url: "https://10.100.100.4/auth/login/" tempest_dashboard_login_url: "https://{{ ansible_hostname }}/auth/login/"
tempest_dashboard_url: "https://10.100.100.4/" tempest_dashboard_url: "https://{{ ansible_hostname }}/"
tempest_developer_mode: True tempest_developer_mode: True
tempest_git_install_branch: master tempest_git_install_branch: master
tempest_venv_tag: "{{ tempest_git_install_branch }}" tempest_venv_tag: "{{ tempest_git_install_branch }}"

View File

@ -20,6 +20,7 @@ horizon_apt_packages:
- apache2 - apache2
- apache2-utils - apache2-utils
- cron # required by the Ansible cron module - cron # required by the Ansible cron module
- git
- libapache2-mod-wsgi - libapache2-mod-wsgi
- libssl-dev - libssl-dev
- libxslt1.1 - libxslt1.1