cfc8423bfd
Previously the 'distro' install method was implemented as the default for CentOS and SUSE, however, some remnants were left behind, making the configuration confusing and causing some issues due to the gpg verification on RedHat trying to use the RabbitMQ gpg check. Rather than try and keep the many confusing installation methods for these distributions, we simply remove the other options and all the config entries related to it. As part of this, we need to clean up the functional tests which previously implemented checks based on the 'file' install type which is no longer used by any distribution. Change-Id: I28199ce149f6893d688d11177ec950b17dbf0886
92 lines
3.0 KiB
YAML
92 lines
3.0 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: Run functional tests
|
|
hosts: rabbitmq_all
|
|
any_errors_fatal: true
|
|
user: root
|
|
gather_facts: true
|
|
become: true
|
|
tasks:
|
|
- name: Check rabbitmq is running
|
|
command: "pgrep -f rabbit"
|
|
delegate_to: "{{ item }}"
|
|
when: ansible_host == item
|
|
with_items:
|
|
- 10.1.0.2
|
|
- 10.1.0.3
|
|
- 10.1.0.4
|
|
|
|
- name: Open rabbitmq.config
|
|
slurp:
|
|
src: "/etc/rabbitmq/rabbitmq.config"
|
|
register: rabbitmq_config
|
|
|
|
- name: Open enabled_plugins
|
|
slurp:
|
|
src: "/etc/rabbitmq/enabled_plugins"
|
|
register: enabled_plugins
|
|
|
|
- name: Read rabbitmq_ssl_cert
|
|
stat:
|
|
path: "{{ rabbitmq_ssl_cert }}"
|
|
register: rabbitmq_ssl_cert_stat
|
|
|
|
- name: Read rabbitmq_ssl_key
|
|
stat:
|
|
path: "{{ rabbitmq_ssl_key }}"
|
|
register: rabbitmq_ssl_key_stat
|
|
|
|
- name: Read rabbit files
|
|
set_fact:
|
|
enabled_plugins_contents: "{{ enabled_plugins.content | b64decode }}"
|
|
rabbitmq_config_contents: "{{ rabbitmq_config.content | b64decode }}"
|
|
rabbitmq_ssl_cert_checksum: "{{ rabbitmq_ssl_cert_stat.stat.checksum }}"
|
|
rabbitmq_ssl_key_checksum: "{{ rabbitmq_ssl_key_stat.stat.checksum }}"
|
|
|
|
- name: Check files contents
|
|
assert:
|
|
that:
|
|
- "'rabbitmq_management' in enabled_plugins_contents"
|
|
|
|
- name: Get status of rabbitmq
|
|
command: rabbitmqctl status
|
|
register: rabbitmqctl_status
|
|
changed_when: false
|
|
|
|
- name: Print rabbitmqctl status
|
|
debug:
|
|
var: rabbitmqctl_status
|
|
|
|
- name: Ensure SSL cert/key checksums are identical across cluster
|
|
assert:
|
|
that:
|
|
- hostvars['container1']['rabbitmq_ssl_cert_checksum'] == hostvars['container2']['rabbitmq_ssl_cert_checksum'] == hostvars['container3']['rabbitmq_ssl_cert_checksum']
|
|
- hostvars['container1']['rabbitmq_ssl_key_checksum'] == hostvars['container2']['rabbitmq_ssl_key_checksum'] == hostvars['container3']['rabbitmq_ssl_key_checksum']
|
|
|
|
- name: Get the policy list
|
|
command: rabbitmqctl -q list_policies
|
|
register: rabbitmq_policies_output
|
|
changed_when: false
|
|
|
|
- name: Show the policies
|
|
debug:
|
|
var: rabbitmq_policies.stdout
|
|
|
|
# Expected policy: "/ HA all ^(?!amq\\.).* {"ha-mode":"all"} 0"
|
|
- name: Validate that the expected policies are present
|
|
assert:
|
|
that: rabbitmq_policies_output.stdout | search("amq")
|