![Joe Talerico](/assets/img/avatar_default.png)
Currently our gather playbook assumes all configuration files will be in /etc. This assumption isn't true with container deployments. Currently the configuration files are located in /var/lib/config-data/<service>/etc/<service>/. The Gather script needs to support both container and non-container deployments. This patchset updates the config parser python script to check if a service is in the running containers list and then determine it's appropriate path, grab all of multiple config files in that path, then parse and drop them off for ansible to use. This method automagically supports all possible mixes of containerized uncontainerized services and will always grab the correct config even if that changes build to build or run to run. It's also easily extensible for many possible config locations or different container types by adding another condition or additional search paths. Change-Id: I95a3059c7fc263733ac64aa894c6dbf11e2a909f Closes-bug: #1701264
26 lines
1008 B
YAML
26 lines
1008 B
YAML
---
|
|
#
|
|
# Tasks to set rabbitmq facts for controllers
|
|
#
|
|
- name : Get rabbitmq file descriptors
|
|
shell: rabbitmqctl status | grep file_descriptors | awk -F',' '{print $3}' | sed 's/.$//'
|
|
register: rabbitmq_desc
|
|
ignore_errors: true
|
|
when: hostvars[inventory_hostname]['containers'] is not defined
|
|
|
|
- name : Get rabbitmq file descriptors - containers
|
|
shell: docker exec rabbitmq rabbitmqctl status | grep total_limit | awk -F',' '{print $2}'| sed 's/.$//'
|
|
register: rabbitmq_desc_container
|
|
ignore_errors: true
|
|
when: hostvars[inventory_hostname]['containers'] is defined
|
|
|
|
- name: Set rabbitmq file descriptors
|
|
set_fact:
|
|
openstack_rabbitmq_file_descriptors: "{{ rabbitmq_desc.stdout }}"
|
|
when: hostvars[inventory_hostname]['containers'] is not defined
|
|
|
|
- name: Set rabbitmq file descriptors - containers
|
|
set_fact:
|
|
openstack_rabbitmq_file_descriptors: "{{ rabbitmq_desc_container.stdout }}"
|
|
when: hostvars[inventory_hostname]['containers'] is defined
|