Add sahara vars and playbook

Add sahara role vars and playbook to the central testing repository.

This allows us to utilize the generic "rabbitmq/database" setup plays
and to not require any additional variables that aren't already
configured.

Finally, we can use the testing structure around tempest to ensure the
appropriate services are tested.

Change-Id: I1c582502c3360fd6c20443faeca84de3900465d1
This commit is contained in:
Andy McCrae 2016-10-03 13:43:13 +01:00
parent a5d53d0934
commit fc027b34ca
2 changed files with 60 additions and 0 deletions

31
test-install-sahara.yml Normal file
View File

@ -0,0 +1,31 @@
---
# Copyright 2015, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Playbook for installing Ironic
hosts: sahara_all
remote_user: root
gather_facts: true
pre_tasks:
- include: ensure-rabbitmq.yml
vhost_name: "{{ sahara_rabbitmq_vhost }}"
user_name: "{{ sahara_rabbitmq_userid }}"
user_password: "{{ sahara_rabbitmq_password }}"
- include: create-grant-db.yml
db_name: "{{ sahara_galera_database }}"
db_password: "{{ sahara_container_mysql_password }}"
roles:
- role: "{{ sahara_rolename | default('os_sahara') }}"
vars_files:
- test-vars.yml

View File

@ -37,6 +37,7 @@ test_nova_console_group: "{{ ((groups['nova_console'] is defined) and (groups['n
test_neutron_agent_group: "{{ ((groups['neutron_agent'] is defined) and (groups['neutron_agent'] | length > 0)) | ternary('neutron_agent', 'all_containers') }}"
test_swift_proxy_group: "{{ ((groups['swift_proxy'] is defined) and (groups['swift_proxy'] | length > 0)) | ternary('swift_proxy', 'all_containers') }}"
test_ironic_api_group: "{{ ((groups['ironic_api'] is defined) and (groups['ironic_api'] | length > 0)) | ternary('ironic_api', 'all_containers') }}"
test_sahara_group: "{{ ((groups['sahara_all'] is defined) and (groups['sahara_all'] | length > 0)) | ternary('sahara_all', 'all_containers') }}"
test_galera_host: "{{ hostvars[groups[test_galera_group][0]]['ansible_host'] }}"
test_rabbitmq_host: "{{ hostvars[groups[test_rabbitmq_group][0]]['ansible_host'] }}"
test_memcached_host: "{{ hostvars[groups[test_memcached_group][0]]['ansible_host'] }}"
@ -48,6 +49,7 @@ test_nova_console_host: "{{ hostvars[groups[test_nova_console_group][0]]['ansibl
test_neutron_agent_host: "{{ hostvars[groups[test_neutron_agent_group][0]]['ansible_host'] }}"
test_swift_proxy_host: "{{ hostvars[groups[test_swift_proxy_group][0]]['ansible_host'] }}"
test_ironic_api_host: "{{ hostvars[groups[test_ironic_api_group][0]]['ansible_host'] }}"
test_sahara_host: "{{ hostvars[groups[test_sahara_group][0]]['ansible_host'] }}"
## LXC container default bind mounts
lxc_container_default_bind_mounts:
@ -286,6 +288,31 @@ ironic_standalone: False
ironic_swift_temp_url_secret_key: secrete
ironic_keystone_auth_plugin: password
# Sahara vars
sahara_venv_tag: "testing"
sahara_developer_mode: true
sahara_git_install_branch: master
sahara_requirements_git_install_branch: master
sahara_service_password: "secrete"
sahara_galera_address: "{{ test_galera_host }}"
sahara_galera_database: sahara
sahara_galera_user: sahara
sahara_service_port: 8386
sahara_service_publicuri: "http://{{ test_sahara_host }}:{{ sahara_service_port }}"
sahara_service_publicurl: "{{ sahara_service_publicuri }}/v1.1/%(tenant_id)s"
sahara_service_internaluri: "http://{{ test_sahara_host }}:{{ sahara_service_port }}"
sahara_service_internalurl: "{{ sahara_service_internaluri }}/v1.1/%(tenant_id)s"
sahara_service_adminuri: "http://{{ test_sahara_host }}:{{ sahara_service_port }}"
sahara_service_adminurl: "{{ sahara_service_adminuri }}/v1.1/%(tenant_id)s"
sahara_container_mysql_password: "SuperSecrete"
sahara_rabbitmq_servers: "{{ rabbitmq_servers }}"
sahara_rabbitmq_port: "{{ rabbitmq_port }}"
sahara_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}"
sahara_rabbitmq_password: "secrete"
sahara_rabbitmq_userid: sahara
sahara_rabbitmq_vhost: /sahara
sahara_bin: "/openstack/venvs/sahara-{{ sahara_venv_tag }}/bin"
# Tempest specific settings
tempest_developer_mode: True
tempest_git_install_branch: master
@ -305,6 +332,8 @@ tempest_service_available_horizon: "{{ ((groups['horizon_all'] is defined) and (
tempest_service_available_neutron: "{{ ((groups['neutron_all'] is defined) and (groups['neutron_all'] | length > 0)) }}"
tempest_service_available_nova: "{{ ((groups['nova_all'] is defined) and (groups['nova_all'] | length > 0)) }}"
tempest_service_available_swift: "{{ ((groups['swift_all'] is defined) and (groups['swift_all'] | length > 0)) }}"
tempest_service_available_zaqar: "{{ ((groups['zaqar_all'] is defined) and (groups['zaqar_all'] | length > 0)) }}"
tempest_service_available_sahara: "{{ ((groups['sahara_all'] is defined) and (groups['sahara_all'] | length > 0)) }}"
# openrc settings
openrc_os_password: "{{ keystone_auth_admin_password }}"