openstack-ansible-galera_se.../tests/test-functional.yml

85 lines
2.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 testing
hosts: galera_test_hosts
user: root
gather_facts: true
vars:
galera_root_password: secrete
galera_root_user: root
pre_tasks:
- debug:
msg: "===== Running Function Tests ====="
tasks:
- name: Create DB for service on 10.100.100.101
mysql_db:
login_user: "{{ galera_root_user }}"
login_password: "{{ galera_root_password }}"
login_host: "10.100.100.101"
name: "OSA-test"
state: "present"
tags:
- neutron-db-setup
when: ansible_ssh_host == '10.100.100.101'
- name: Grant access to the DB on 10.100.100.102
mysql_user:
login_user: "{{ galera_root_user }}"
login_password: "{{ galera_root_password }}"
login_host: "10.100.100.102"
name: "osa-tester"
password: "tester-secrete"
host: "{{ item }}"
state: "present"
priv: "OSA-test.*:ALL"
with_items:
- "localhost"
- "%"
tags:
- neutron-db-setup
when: ansible_ssh_host == '10.100.100.102'
- name: check cluster state incoming addresses
command: |
mysql -h {{ ansible_ssh_host }} \
-p"{{ galera_root_password }}" \
-e "show status like 'wsrep_incoming_addresses';" \
--silent \
--skip-column-names
register: wsrep_incoming_addresses
- name: check cluster state
command: |
mysql -h {{ ansible_ssh_host }} \
-p"{{ galera_root_password }}" \
-e "show status like 'wsrep_local_state_comment';" \
--silent \
--skip-column-names
register: wsrep_local_state_comment
- name: check cluster state
command: |
mysql -h {{ ansible_ssh_host }} \
-p"{{ galera_root_password }}" \
-e "show status like 'wsrep_evs_state';" \
--silent \
--skip-column-names
register: wsrep_evs_state
- name: Check contents
assert:
that:
- "'Synced' in wsrep_local_state_comment.stdout"
- "'OPERATIONAL' in wsrep_evs_state.stdout"
- "'10.100.100.101' in wsrep_incoming_addresses.stdout"
- "'10.100.100.102' in wsrep_incoming_addresses.stdout"
- "'10.100.100.103' in wsrep_incoming_addresses.stdout"