try deferring all startup and registration tasks to handlers; skip if atl_startup_restart is false to match other products

This commit is contained in:
Lee Goolsbee
2024-04-04 11:08:18 -05:00
parent 9668c34b9d
commit b4b05f49f5
3 changed files with 34 additions and 40 deletions

View File

@@ -1,32 +1,4 @@
---
- name: Enable and Start Mesh Product
ansible.builtin.service:
name: "{{ atl_systemd_service_name }}"
enabled: true
state: started
when:
- molecule_yml is not defined
no_log: true
- name: Wait for service to become available
ansible.builtin.wait_for:
port: "{{ mesh_node_port }}"
timeout: 300
delegate_to: localhost
become: false
- name: Trigger the handler to update this existing mesh node
ansible.builtin.assert:
that:
- mesh_nodes_report.json | community.general.json_query(query) | length == 0
changed_when: true
notify: Update Existing Mesh Node
when:
- bitbucket_cluster_available
- mesh_nodes_report.json | community.general.json_query(query) | length == 0
- (mesh_node_id is defined) and (mesh_node_id | length > 0)
vars:
query: "[?name=='{{ mesh_node_name }}']"
# if node.id doesnt exist this is new/clean mesh node and we need to register a new node
- name: If this node is not registered, cleanup any old keys to allow registration of new
@@ -43,13 +15,36 @@
vars:
query: "[?name=='{{ mesh_node_name }}']"
- name: Trigger the handler to update this existing mesh node
ansible.builtin.assert:
that:
- mesh_nodes_report.json | community.general.json_query(query) | length == 0
changed_when: true
notify:
- Enable Product
- Restart Product
- Wait for Mesh to become available
- Update Existing Mesh Node
when:
- atl_startup_restart | bool
- bitbucket_cluster_available
- mesh_nodes_report.json | community.general.json_query(query) | length == 0
- (mesh_node_id is defined) and (mesh_node_id | length > 0)
vars:
query: "[?name=='{{ mesh_node_name }}']"
- name: Trigger the handler to register this new mesh node
ansible.builtin.assert:
that:
- mesh_nodes_report.json | community.general.json_query(query) | length == 0
changed_when: true
notify: Register New Mesh Node
notify:
- Enable Product
- Restart Product
- Wait for Mesh to become available
- Register New Mesh Node
when:
- atl_startup_restart | bool
- bitbucket_cluster_available
- mesh_nodes_report.json | community.general.json_query(query) | length == 0
- (mesh_node_id is not defined) or (mesh_node_id | length == 0)