Files
kolla-ansible/ansible/roles/horizon/tasks/policy_item.yml
Martin Chlumsky 9d0ccad15a Fix empty match while setting supported_policy_files
When supported_policy_files gets set under python 3.7 [1], the regex '(.*)'
matches twice, once for the policy file name and once more for the empty string
that follows the policy file name. This is new behavior under python
3.7. [2]

This leads to the replacement string being written out twice resulting
in something like this: "nova_policy.yamlnova_".

This patch changes the regex to '(.+)' ensuring there is no match success
against the empty string.

[1]:
- set_fact:
    supported_policy_files: "{{ supported_policy_format_list | map('regex_replace', '(.*)', '{{ project_name }}_\\1') | list }}"

[2]: https://docs.python.org/3/library/re.html#re.sub

Change-Id: Ie5278832e293364c66d53ddb07dff9c5409f0cc6
Closes-Bug: 1851249
2019-11-04 13:17:39 -05:00

23 lines
635 B
YAML

---
# Update policy file name
- set_fact:
supported_policy_files: "{{ supported_policy_format_list | map('regex_replace', '(.+)', '{{ project_name }}_\\1') | list }}"
- name: Check if policies shall be overwritten
local_action: stat path="{{ fullpath }}"
run_once: True
register: overwritten_files
with_first_found:
- files: "{{ supported_policy_files }}"
paths:
- "{{ node_custom_config }}/horizon/"
skip: true
loop_control:
loop_var: fullpath
- set_fact:
custom_policy: "{{ custom_policy }} + [ '{{ overwritten_files.results.0.stat.path }}' ]"
when:
- overwritten_files.results