Files
zuul-jobs/test-playbooks/general/limit-log-files.yaml
Lukas Kranz 657d4b1cbe limit-log-files: allow unlimited files
Currently the role requieres a file limit to be set which is always enforced.
This change allows the value 0 to not enforce any file limit.

Change-Id: I589e0bbf8656e80c5d66a207674ae16a499e81cc
2025-07-08 04:59:47 +00:00

85 lines
2.5 KiB
YAML

- hosts: all
vars:
test_folder: "{{ zuul.executor.work_root }}/test_folder"
tasks:
# create files for test runs
- name: Create folder for test files
file:
path: "{{ test_folder }}"
state: directory
mode: '0755'
delegate_to: localhost
- name: Create large file 501
community.general.filesize:
path: "{{ test_folder }}/file_501"
size: 501B
delegate_to: localhost
- name: Create large file 350
community.general.filesize:
path: "{{ test_folder }}/file_350"
size: 350B
delegate_to: localhost
- name: Create large file 100
community.general.filesize:
path: "{{ test_folder }}/file_100"
size: 100B
delegate_to: localhost
# execute role without issue, should not warn and not fail
- name: Execute role without issue
include_role:
name: limit-log-files
vars:
limit_log_files_fail: false
limit_log_files_log_dir: "{{ test_folder }}"
limit_log_files_file_rules:
- ".* 1M"
- ".* 2M"
# execute role with warning, should warn but not fail
- name: Execute role in warning mode
include_role:
name: limit-log-files
vars:
limit_log_files_fail: false
limit_log_files_log_dir: "{{ test_folder }}"
limit_log_files_file_rules:
- ".* 250c"
- ".* 150c"
# execute role with big file, should fail
- name: Block to rescue failing of role
block:
- name: Execute role with big file
include_role:
name: limit-log-files
vars:
limit_log_files_fail: true
limit_log_files_log_dir: "{{ test_folder }}"
limit_log_files_file_rules:
- ".* 500c"
rescue:
- name: Set fact for assertion
set_fact:
has_failed: true
- name: Assert that run failed
assert:
that: has_failed is defined
# execute too many files, should fail
- name: Block to rescue failing of role
block:
- name: Execute role with too many files
include_role:
name: limit-log-files
vars:
limit_log_files_fail: true
limit_log_files_file_limit: 1
limit_log_files_log_dir: "{{ test_folder }}"
limit_log_files_file_rules:
- ".* 500c"
rescue:
- name: Set fact for assertion
set_fact:
has_failed: true
- name: Assert that run failed
assert:
that: has_failed is defined