tripleo_container_manage: set empty default to systemd registers

If the tasks are skipped the variables are empty and should be default
to an empty list; which will return empty services when figuring out
what services need a restart.

Change-Id: I852066179c86b97a7f775a7babb4e44e89a0d9a3
This commit is contained in:
Emilien Macchi 2020-04-17 10:37:02 -04:00
parent 5beb4bf8bd
commit 4a89d96a08
3 changed files with 12 additions and 7 deletions

View File

@ -420,11 +420,12 @@ class FilterModule(object):
part of the list already.
"""
return_list = []
for i in data['results']:
loop_var = i.get('ansible_loop_var', 'item')
for k, v in i[loop_var].items():
if ('changed' in i and i['changed']) or k in extra:
return_list.append(k)
if 'results' in data:
for i in data['results']:
loop_var = i.get('ansible_loop_var', 'item')
for k, v in i[loop_var].items():
if ('changed' in i and i['changed']) or k in extra:
return_list.append(k)
return return_list
def dict_to_list(self, data):

View File

@ -77,8 +77,8 @@
- name: Create fact for container_systemd_changes
set_fact:
container_systemd_changes: >-
{{ ((systemd_file|get_changed_async_task_names) + (systemd_healthcheck|get_changed_async_task_names) +
(systemd_timer|get_changed_async_task_names)|default([])|unique) }}
{{ ((systemd_file|default([])|get_changed_async_task_names) + (systemd_healthcheck|default([])|get_changed_async_task_names) +
(systemd_timer|default([])|get_changed_async_task_names)|unique) }}
- name: "Force systemd daemon reload if a systemd file changed"
systemd:

View File

@ -952,3 +952,7 @@ class TestHelperFilters(tests_base.TestCase):
]
result = self.filters.dict_to_list(data=dict)
self.assertEqual(result, expected_list)
def test_get_changed_async_task_names_empty(self):
result = self.filters.get_changed_async_task_names(data=[])
self.assertEqual(result, [])