Treat omitted host_apps.enabled as true (#36)
Sync runner checkout / sync (push) Successful in 6s
Sync runner checkout / sync (push) Successful in 6s
Closes #35. ## Summary - `#33` used Jinja `rejectattr('enabled', 'equalto', false)` to skip stopped apps. That filter **requires** the key, so every `host_apps` row that omits `enabled` (the documented default) crashed deploy on all webservers before git/compose. - Filter with `item.enabled | default(true)` instead, in `app-deploy` and `web-static`. `print_forge` (`enabled: false`) still skipped. `url_shortening_service` and every other omitted-key row deploy again. ## Test plan - [ ] `ansible-playbook playbooks/deploy-apps.yml --syntax-check` - [ ] Redeploy `url_shortening_service` beta: `deploy.sh --app url_shortening_service --env beta --ref <sha>` - [ ] Confirm `print_forge` is still not started (no compose up on 8007/8019) Reviewed-on: #36
This commit was merged in pull request #36.
This commit is contained in:
@@ -6,9 +6,20 @@
|
||||
ansible.builtin.set_fact:
|
||||
_node_names: "{{ app_catalog | dict2items | selectattr('value.type', 'equalto', 'node-static') | map(attribute='key') | list }}"
|
||||
|
||||
# rejectattr('enabled', …) raises when the key is omitted. Omit = enabled (#35).
|
||||
- name: web-static | reset static apps
|
||||
ansible.builtin.set_fact:
|
||||
_static_apps: []
|
||||
|
||||
- name: web-static | this host's static apps
|
||||
ansible.builtin.set_fact:
|
||||
_static_apps: "{{ host_apps | default([]) | rejectattr('enabled', 'equalto', false) | selectattr('name', 'in', _node_names) | list }}"
|
||||
_static_apps: "{{ _static_apps + [item] }}"
|
||||
loop: "{{ host_apps | default([]) }}"
|
||||
when:
|
||||
- item.name in _node_names
|
||||
- item.enabled | default(true)
|
||||
loop_control:
|
||||
label: "{{ item.name }}/{{ item.env }}"
|
||||
|
||||
- name: web-static | configure and run
|
||||
when: _static_apps | length > 0
|
||||
|
||||
Reference in New Issue
Block a user