Fix Jinja2's default filter usage

The default() filter provided by Jinja2 treats the special class
Undefined differently from False-y Python values. By default, default()
will only return its first argument if the prior expression evaluates to
Undefined. The second boolean parameter asks the function to also accept
Python False-y values as undefined and return the default value.

In our case, when we retrieve the variable "container_cli" from the file
'undercloud.conf' or from the inventory, it may not be present and the
default function does not work since the variable "container_cli" is
Undefined or set to an empty string.

Change-Id: Id44338a3b6ecea16c3a0bf7eb1e7c0b431e69f95
Implements: blueprint validation-framework
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
(cherry picked from commit 23de9d37cd)
This commit is contained in:
Gael Chamoulaud 2019-04-19 09:59:36 +02:00
parent 9d08e89949
commit ebe7ad288d
6 changed files with 9 additions and 8 deletions

View File

@ -6,8 +6,8 @@
- name: Get the open_files_limit value
become: true
shell: >-
"{{ container_cli }}" exec -u root
$("{{ container_cli }}" ps -q --filter "name=mysql|galera-bundle" | head -1)
"{{ container_cli|default('podman', true) }}" exec -u root
$("{{ container_cli|default('podman', true) }}" ps -q --filter "name=mysql|galera-bundle" | head -1)
/bin/bash -c 'ulimit -n'
changed_when: False
register: mysqld_open_files_limit

View File

@ -14,7 +14,7 @@
- name: Run neutron-sanity-check
command: >
{{ container_cli.value|default('podman') }}
{{ container_cli.value|default('podman', true) }}
exec -u root neutron_ovs_agent
/bin/bash -c 'neutron-sanity-check --config-file {{ item }}'
with_items: "{{ configs }}"

View File

@ -6,8 +6,9 @@
- name: Get file_descriptors total_limit
become: true
register: actual_fd_limit
shell: >
"{{ container_cli }}" exec $("{{ container_cli }}" ps -q --filter "name=rabbitmq" | head -1)
shell: >-
"{{ container_cli|default('podman', true) }}"
exec $("{{ container_cli|default'(podman', true) }}" ps -q --filter "name=rabbitmq" | head -1)
rabbitmqctl eval 'proplists:get_value(max_fds, erlang:system_info(check_io)).'
changed_when: false

View File

@ -16,7 +16,7 @@
become: true
shell: |
set -o pipefail
{{ container_cli.value|default('podman') }} exec heat_api_cron crontab -l -u heat |grep -v '^#'
{{ container_cli.value|default('podman', true) }} exec heat_api_cron crontab -l -u heat |grep -v '^#'
register: cron_result
changed_when: False

View File

@ -14,7 +14,7 @@
register: container_cli
- name: Collect the number of running processes per OpenStack service
command: "{{ container_cli.value|default('podman') }} exec {{ item.container }} pgrep -f -c {{ item.proc }}"
command: "{{ container_cli.value|default('podman', true) }} exec {{ item.container }} pgrep -f -c {{ item.proc }}"
become: true
ignore_errors: yes
register: "process_count"

View File

@ -16,7 +16,7 @@
become: true
shell: |
set -o pipefail
{{ container_cli.value|default('podman') }} exec keystone_cron crontab -l -u keystone |grep -v '^#'
{{ container_cli.value|default('podman', true) }} exec keystone_cron crontab -l -u keystone |grep -v '^#'
register: cron_result
changed_when: False