
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
66 lines
1.9 KiB
YAML
66 lines
1.9 KiB
YAML
---
|
|
#
|
|
# Tasks to set undercloud facts
|
|
#
|
|
|
|
|
|
- name: Check that the undercloud.conf exists
|
|
become: true
|
|
stat: path=/home/stack/undercloud.conf
|
|
register: undercloud_conf
|
|
|
|
- name: Undercloud.conf
|
|
become: true
|
|
shell: python /tmp/openstack-config-parser.py undercloud /tmp/out.yml
|
|
when: undercloud_conf.stat.exists
|
|
|
|
- name: Fetch output
|
|
fetch: src=/tmp/out.yml dest=/tmp/out.yml flat=yes
|
|
when: undercloud_conf.stat.exists
|
|
|
|
- name: Load configuration variables
|
|
include_vars: /tmp/out.yml
|
|
when: undercloud_conf.stat.exists
|
|
|
|
- name: Get max_connections on the database
|
|
shell: mysql -e "show variables like 'max_connections';" | grep max_connections | awk '{print $2}'
|
|
register: max_conn
|
|
ignore_errors: true
|
|
|
|
- name: Set max database connections
|
|
set_fact:
|
|
openstack_mysql_max_connections: "{{ max_conn.stdout }}"
|
|
|
|
- name : Get file descriptors for the mysql process
|
|
shell: cat /proc/$(pgrep mysqld_safe)/limits | grep "open files" | awk '{print $4}'
|
|
register: mysql_desc
|
|
|
|
- name: Set file descriptors fact for mysql
|
|
set_fact:
|
|
openstack_mysql_file_descriptors: "{{ mysql_desc.stdout }}"
|
|
|
|
- name : Get rabbitmq file descriptors
|
|
shell: rabbitmqctl status | grep total_limit | awk -F',' '{print $2}' | sed 's/.$//'
|
|
register: rabbitmq_desc
|
|
ignore_errors: true
|
|
|
|
- name: Set rabbitmq file descriptors
|
|
set_fact:
|
|
openstack_rabbitmq_file_descriptors: "{{ rabbitmq_desc.stdout }}"
|
|
|
|
- name: Get Controller Nodes number
|
|
shell: source ~/stackrc; nova list | grep controller | grep ACTIVE | wc -l
|
|
register: controller_count
|
|
|
|
- name : Set Controler number fact
|
|
set_fact:
|
|
osp_controllers_number: "{{ controller_count.stdout }}"
|
|
|
|
- name: Get Compute Nodes number
|
|
shell: source ~/stackrc; nova list | grep compute | grep ACTIVE | wc -l
|
|
register: compute_count
|
|
|
|
- name : Set Commpute number fact
|
|
set_fact:
|
|
osp_computes_number: "{{ compute_count.stdout }}"
|