Use a list instead of a dict for filtered_services

Swift should mirror other roles and use a list instead of a dictionary
for it's filtered_services.

This patch makes that change.

Change-Id: Ie6bf282a36ed63d73996447a88c3c5f6056465a7
This commit is contained in:
Andy McCrae 2017-07-25 14:58:20 +01:00
parent 1e7f5220a4
commit d860153400
5 changed files with 29 additions and 27 deletions

View File

@ -15,11 +15,11 @@
- name: Restart swift services
service:
name: "{{ item.value.program_name }}"
name: "{{ item.program_name }}"
enabled: yes
state: "restarted"
daemon_reload: "{{ (ansible_service_mgr == 'systemd') | ternary('yes', omit) }}"
with_dict: "{{ filtered_swift_services }}"
with_items: "{{ filtered_swift_services }}"
- name: Restart rsyslog
service:

View File

@ -15,50 +15,50 @@
- name: Create TEMP run dir
file:
path: "/var/run/{{ item.value.program_name }}"
path: "/var/run/{{ item.program_name }}"
state: directory
owner: "{{ swift_system_user_name }}"
group: "{{ swift_system_group_name }}"
mode: "02755"
with_dict: "{{ filtered_swift_services }}"
with_items: "{{ filtered_swift_services }}"
- name: Create TEMP lock dir
file:
path: "/var/lock/{{ item.value.program_name }}"
path: "/var/lock/{{ item.program_name }}"
state: directory
owner: "{{ swift_system_user_name }}"
group: "{{ swift_system_group_name }}"
mode: "02755"
with_dict: "{{ filtered_swift_services }}"
with_items: "{{ filtered_swift_services }}"
# TODO(mgariepy):
# Remove this in Pike as it only needed to handle upgrades
# from Newton->Newton and Newton->Ocata
- name: Cleanup old tmpfiles.d entry
file:
path: "/etc/tmpfiles.d/{{ item.value.program_name }}.conf"
path: "/etc/tmpfiles.d/{{ item.program_name }}.conf"
state: absent
with_dict: "{{ filtered_swift_services }}"
with_items: "{{ filtered_swift_services }}"
- name: Create tmpfiles.d entry
template:
src: "swift-systemd-tmpfiles.j2"
dest: "/etc/tmpfiles.d/openstack-{{ item.value.program_name }}.conf"
dest: "/etc/tmpfiles.d/openstack-{{ item.program_name }}.conf"
mode: "0644"
owner: "root"
group: "root"
with_dict: "{{ filtered_swift_services }}"
with_items: "{{ filtered_swift_services }}"
- name: Place the systemd init script
config_template:
src: "swift-systemd-init.j2"
dest: "/etc/systemd/system/{{ item.value.program_name }}.service"
dest: "/etc/systemd/system/{{ item.program_name }}.service"
mode: "0644"
owner: "root"
group: "root"
config_overrides: "{{ item.value.init_config_overrides }}"
config_overrides: "{{ item.init_config_overrides }}"
config_type: "ini"
with_dict: "{{ filtered_swift_services }}"
with_items: "{{ filtered_swift_services }}"
notify:
- Restart swift services

View File

@ -18,10 +18,10 @@ Environment=PYPY_GC_MIN={{ swift_pypy_gc_min }}
Environment=PYPY_GC_MAX={{ swift_pypy_gc_max }}
{% endif %}
{% endif %}
{% if item.value.program_override is defined %}
ExecStart={{ item.value.program_override }} {{ item.value.program_config_options|default('') }}
{% if item.program_override is defined %}
ExecStart={{ item.program_override }} {{ item.program_config_options|default('') }}
{% else %}
ExecStart={{ swift_bin }}/{{ item.value.program_binary | default(item.value.program_name) }} {{ item.value.program_config_options|default('') }}
ExecStart={{ swift_bin }}/{{ item.program_binary | default(item.program_name) }} {{ item.program_config_options|default('') }}
{% endif %}
# Give a reasonable amount of time for the server to start up/shut down

View File

@ -1,4 +1,4 @@
# {{ ansible_managed }}
D /var/lock/{{ item.value.program_binary | default(item.value.program_name) }} 2755 {{ swift_system_user_name }} {{ swift_system_group_name }}
D /var/run/{{ item.value.program_binary | default(item.value.program_name) }} 2755 {{ swift_system_user_name }} {{ swift_system_group_name }}
D /var/lock/{{ item.program_binary | default(item.program_name) }} 2755 {{ swift_system_user_name }} {{ swift_system_group_name }}
D /var/run/{{ item.program_binary | default(item.program_name) }} 2755 {{ swift_system_user_name }} {{ swift_system_group_name }}

View File

@ -13,12 +13,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
filtered_swift_services: >
{%- set services = swift_services.copy() %}
{%- for key,value in swift_services.items() %}
{%- if value.group not in group_names or
(not value.service_en | default(True) | bool) %}
{%- set _ = services.pop(key) %}
{%- endif %}
{%- endfor %}
{{- services -}}
filtered_swift_services: |-
{% set services = [] %}
{% for key,value in swift_services.items() %}
{% if (value['group'] in group_names) and
(('service_en' not in value) or
('service_en' in value and value['service_en'])) %}
{% set _ = value.update({'service_key': key}) %}
{% set _ = services.append(value) %}
{% endif %}
{% endfor %}
{{ services }}