From 2dbfffafd05cc922553e9f7359301c7f6fc3a372 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Tue, 29 Sep 2026 09:48:21 -0700 Subject: [PATCH] lock, add files which handle checking, creating, and then removing a temporary lock file. --- tasks/general/tests/lock_check.yml | 16 ++++++++++++++++ tasks/general/tests/lock_create.yml | 22 ++++++++++++++++++++++ tasks/general/tests/lock_remove.yml | 18 ++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 tasks/general/tests/lock_check.yml create mode 100644 tasks/general/tests/lock_create.yml create mode 100644 tasks/general/tests/lock_remove.yml diff --git a/tasks/general/tests/lock_check.yml b/tasks/general/tests/lock_check.yml new file mode 100644 index 0000000..1128d03 --- /dev/null +++ b/tasks/general/tests/lock_check.yml @@ -0,0 +1,16 @@ +--- +# 20260929 - Hyperling +# Ensure an existing run is not active, otherwise bail. + +- name: General | Tests | Existing Run | Facts + set_fact: + lock_file: "/tmp/ansible-playbook.lock" + +- name: General | Tests | Existing Run | Check + stat: + path: "{{ lock_file }}" + register: lock_exists + +- name: General | Tests | Existing Run | Exit + meta: end_play + when: lock_exists.stat.exists diff --git a/tasks/general/tests/lock_create.yml b/tasks/general/tests/lock_create.yml new file mode 100644 index 0000000..4819552 --- /dev/null +++ b/tasks/general/tests/lock_create.yml @@ -0,0 +1,22 @@ +--- +# 20260929 - Hyperling +# Ensure an existing run is not active, otherwise bail. + +- name: General | Tests | Existing Run | Lock | Create + shell: "date +'%Y-%m-%d %H:%M:%S' >> {{lock_file }}" + + +- name: General | Tests | Existing Run | Lock | Create + file: + name: "{{ lock_file }}" + mode: '0777' + +- name: General | Tests | Existing Run | Lock | Create | Check + stat: + path: "{{ lock_file }}" + register: lock_exists + +- name: General | Tests | Existing Run | Lock | Create | Fail + fail: + msg: "ERROR: Lock file does not exist." + when: not lock_exists.stat.exists diff --git a/tasks/general/tests/lock_remove.yml b/tasks/general/tests/lock_remove.yml new file mode 100644 index 0000000..f9632f9 --- /dev/null +++ b/tasks/general/tests/lock_remove.yml @@ -0,0 +1,18 @@ +--- +# 20260929 - Hyperling +# Ensure an existing run is not active, otherwise bail. + +- name: General | Tests | Existing Run | Lock | Remove + file: + name: "{{ lock_file }}" + state: absent + +- name: General | Tests | Existing Run | Lock | Remove | Check + stat: + path: "{{ lock_file }}" + register: lock_exists + +- name: General | Tests | Existing Run | Lock | Remove | Fail + fail: + msg: "ERROR: Lock file still exists!" + when: lock_exists.stat.exists