Files
openstack-ansible-os_designate/tests/test-install-designate.yml
Matt Thompson c29b2d8d03 Remove bind9 and add functional tests
This commit moves the installation of bind9 to the tests, leaving the
installation/configuration of the desired DNS server to the deployer.
We can eventually use a role to handle the installation/configuration
of bind, but some further research will need to be done to isolate
the best role.

Additionally, this commit adds some very basic tests that validate the
Designate API.  Next steps involve using designate-tempest-plugin to
handle this.

NOTE: No relnote is being added for the removal of bind9 as no valid
      configuration was being dropped for bind9, meaning we had a
      non-functional DNS server as far as designate was concerned.

Change-Id: I5a21e32f8ad885afd5b4a04d2ef348cd65d0999b
2016-04-21 17:35:47 +01:00

116 lines
3.9 KiB
YAML

---
# Copyright 2016, 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 deploying designate
hosts: designate_all
user: root
gather_facts: true
pre_tasks:
- name: Ensure rabbitmq vhost
rabbitmq_vhost:
name: "{{ designate_rabbitmq_vhost }}"
state: "present"
delegate_to: "10.100.100.101"
when: inventory_hostname == groups['designate_all'][0]
- name: Ensure rabbitmq user
rabbitmq_user:
user: "{{ designate_rabbitmq_userid }}"
password: "{{ designate_rabbitmq_password }}"
vhost: "{{ designate_rabbitmq_vhost }}"
configure_priv: ".*"
read_priv: ".*"
write_priv: ".*"
state: "present"
delegate_to: "10.100.100.101"
when: inventory_hostname == groups['designate_all'][0]
- name: Create DB for service
mysql_db:
login_user: "{{ galera_root_user }}"
login_password: "{{ galera_root_password }}"
login_host: "localhost"
name: "{{ designate_galera_database }}"
state: "present"
delegate_to: "10.100.100.101"
when: inventory_hostname == groups['designate_all'][0]
- name: Grant access to the DB for the service
mysql_user:
login_user: "{{ galera_root_user }}"
login_password: "{{ galera_root_password }}"
login_host: "localhost"
name: "{{ designate_galera_user }}"
password: "{{ designate_container_mysql_password }}"
host: "{{ item }}"
state: "present"
priv: "{{ designate_galera_database }}.*:ALL"
with_items:
- "localhost"
- "%"
delegate_to: "10.100.100.101"
when: inventory_hostname == groups['designate_all'][0]
- name: Create pool_manager DB for service
mysql_db:
login_user: "{{ galera_root_user }}"
login_password: "{{ galera_root_password }}"
login_host: "{{ designate_galera_address }}"
name: "{{ designate_pool_manager_galera_database }}"
state: "present"
delegate_to: "10.100.100.101"
- name: Grant access to the pool_manager DB for the service
mysql_user:
login_user: "{{ galera_root_user }}"
login_password: "{{ galera_root_password }}"
login_host: "{{ designate_galera_address }}"
name: "{{ designate_pool_manager_galera_user }}"
password: "{{ designate_pool_manager_container_mysql_password }}"
host: "{{ item }}"
state: "present"
priv: "{{ designate_pool_manager_galera_database }}.*:ALL"
with_items:
- "localhost"
- "%"
delegate_to: "10.100.100.101"
- name: Install bind9
apt:
package: bind9
state: present
- name: Drop bind configuration
copy:
src: named.conf.options
dest: /etc/bind/named.conf.options
- name: Restart bind9
service:
name: bind9
state: restarted
roles:
- role: "{{ rolename | basename }}"
vars_files:
- test-vars.yml
- name: Import pools
hosts: designate_all[0]
user: root
gather_facts: true
tasks:
- name: Copy sample pools.yaml file
copy:
src: pools.yaml.sample
dest: /etc/designate/pools.yaml
- name: Import sample pools.yaml file
shell: |
. /root/openrc
{{ designate_venv_bin }}/designate-manage pool update --file /etc/designate/pools.yaml
vars_files:
- test-vars.yml