Skip to content

Commit

Permalink
Merge pull request #44 from ublue-os/tepene/42_async-ansible-tasks
Browse files Browse the repository at this point in the history
fix(ansible): make long running tasks asynchronous to avoid timeouts (#42)
  • Loading branch information
tepene authored May 11, 2024
2 parents b27332d + a3f0aab commit 7f39100
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 5 deletions.
4 changes: 4 additions & 0 deletions anvil/ansible/.ansible-lint
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
# https://ansible-lint.readthedocs.io/profiles/
profile: production

exclude_paths:
- .cache/
- collections/

# Ansible-lint does not fail on warnings from the rules or tags listed below
warn_list:
- galaxy[version-incorrect]
Expand Down
16 changes: 14 additions & 2 deletions anvil/ansible/playbooks/project_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,20 @@
dest: "{{ forge_registry_url }}"
vars:
__regex_search: (?<=/)[^/]+(?=\.git)
register: __podman_image_info
async: 1800
poll: 0
register: __podman_image

- name: Waiting for container build to finish
ansible.builtin.async_status:
jid: "{{ __podman_image.ansible_job_id }}"
register: __job_result
until: __job_result.finished
retries: 1800
delay: 1

- name: INFO | Status from build and push
ansible.builtin.debug:
msg: "{{ __podman_image_info }}"
msg:
- "{{ __job_result.actions | to_nice_yaml(indent=2) }}"
- "{{ __job_result.image | to_nice_yaml(indent=2) }}"
21 changes: 18 additions & 3 deletions anvil/ansible/playbooks/project_clone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,28 @@
ansible.builtin.include_role:
name: debug_forge_vars
tasks:
- name: Clone project
- name: Git clone project
ansible.builtin.git:
repo: "{{ forge_git_repository_url }}"
dest: "{{ forge_git_repository_destination }}"
version: "{{ forge_git_repository_version }}"
register: __git_clone_info
async: 180
poll: 0
register: __git_clone

- name: Waiting for git clone to finish
ansible.builtin.async_status:
jid: "{{ __git_clone.ansible_job_id }}"
register: __job_result
until: __job_result.finished
retries: 180
delay: 1

- name: INFO | Status from git clone
ansible.builtin.debug:
msg: "{{ __git_clone_info }}"
msg:
- "Source: {{ forge_git_repository_url }}"
- "Destination: {{ forge_git_repository_destination }}"
- "Version: {{ forge_git_repository_version }}"
- "Commit revision before the repository was updated: {{ __job_result.before }}"
- "Last commit revision of the repository retrieved during the update: {{ __job_result.after }}"

0 comments on commit 7f39100

Please sign in to comment.