add collections

This commit is contained in:
Gary Kwok
2024-02-01 11:40:42 +08:00
parent 0715d7c475
commit 7af4c56c96
3198 changed files with 455118 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
azp/posix/1
destructive
skip/aix
skip/osx
skip/macos
skip/windows
skip/freebsd
unsupported

View File

@@ -0,0 +1,8 @@
---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
rundeck_url: http://localhost:4440
rundeck_api_version: 39
rundeck_job_id: 3b8a6e54-69fb-42b7-b98f-f82e59238478

View File

@@ -0,0 +1,28 @@
---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
- defaultTab: nodes
description: ''
executionEnabled: true
id: 3b8a6e54-69fb-42b7-b98f-f82e59238478
loglevel: INFO
name: test_job
nodeFilterEditable: false
options:
- label: Exit Code
name: exit_code
value: '0'
- label: Sleep
name: sleep
value: '1'
plugins:
ExecutionLifecycle: null
scheduleEnabled: true
sequence:
commands:
- exec: sleep $RD_OPTION_SLEEP && echo "Test done!" && exit $RD_OPTION_EXIT_CODE
keepgoing: false
strategy: node-first
uuid: 3b8a6e54-69fb-42b7-b98f-f82e59238478

View File

@@ -0,0 +1,7 @@
---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
dependencies:
- setup_rundeck

View File

@@ -0,0 +1,127 @@
---
####################################################################
# WARNING: These are designed specifically for Ansible tests #
# and should not be used as examples of how to write Ansible roles #
####################################################################
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Generate a Rundeck API Token
ansible.builtin.command: java -jar {{ rdeck_base }}/rundeck-cli.jar tokens create -u admin -d 24h -r admin
environment:
RD_URL: "{{ rundeck_url }}"
RD_USER: admin
RD_PASSWORD: admin
register: rundeck_api_token
- name: Create a Rundeck project
community.general.rundeck_project:
name: "test_project"
api_version: "{{ rundeck_api_version }}"
url: "{{ rundeck_url }}"
token: "{{ rundeck_api_token.stdout_lines[-1] }}"
state: present
- name: Copy test_job definition to /tmp
copy:
src: test_job.yaml
dest: /tmp/test_job.yaml
- name: Create Rundeck job Test
ansible.builtin.command: java -jar {{ rdeck_base }}/rundeck-cli.jar jobs load -f /tmp/test_job.yaml -F yaml -p test_project
environment:
RD_URL: "{{ rundeck_url }}"
RD_USER: admin
RD_PASSWORD: admin
- name: Wrong Rundeck API Token
community.general.rundeck_job_run:
url: "{{ rundeck_url }}"
api_version: "{{ rundeck_api_version }}"
api_token: wrong_token
job_id: "{{ rundeck_job_id }}"
ignore_errors: true
register: rundeck_job_run_wrong_token
- name: Assert that Rundeck authorization failed
ansible.builtin.assert:
that:
- rundeck_job_run_wrong_token.msg == "Token authorization failed"
- name: Success run Rundeck job test_job
community.general.rundeck_job_run:
url: "{{ rundeck_url }}"
api_version: "{{ rundeck_api_version }}"
api_token: "{{ rundeck_api_token.stdout_lines[-1] }}"
job_id: "{{ rundeck_job_id }}"
register: rundeck_job_run_success
- name: Assert that Rundeck job test_job runs successfully
ansible.builtin.assert:
that:
- rundeck_job_run_success.execution_info.status == "succeeded"
- name: Fail run Rundeck job test_job
community.general.rundeck_job_run:
url: "{{ rundeck_url }}"
api_version: "{{ rundeck_api_version }}"
api_token: "{{ rundeck_api_token.stdout_lines[-1] }}"
job_id: "{{ rundeck_job_id }}"
job_options:
exit_code: "1"
ignore_errors: true
register: rundeck_job_run_fail
- name: Assert that Rundeck job test_job failed
ansible.builtin.assert:
that:
- rundeck_job_run_fail.execution_info.status == "failed"
- name: Abort run Rundeck job test_job due timeout
community.general.rundeck_job_run:
url: "{{ rundeck_url }}"
api_version: "{{ rundeck_api_version }}"
api_token: "{{ rundeck_api_token.stdout_lines[-1] }}"
job_id: "{{ rundeck_job_id }}"
job_options:
sleep: "5"
wait_execution_timeout: 2
abort_on_timeout: true
ignore_errors: true
register: rundeck_job_run_aborted
- name: Assert that Rundeck job test_job is aborted
ansible.builtin.assert:
that:
- rundeck_job_run_aborted.execution_info.status == "aborted"
- name: Fire-and-forget run Rundeck job test_job
community.general.rundeck_job_run:
url: "{{ rundeck_url }}"
api_version: "{{ rundeck_api_version }}"
api_token: "{{ rundeck_api_token.stdout_lines[-1] }}"
job_id: "{{ rundeck_job_id }}"
job_options:
sleep: "5"
wait_execution: False
register: rundeck_job_run_forget
- name: Assert that Rundeck job test_job is running
ansible.builtin.assert:
that:
- rundeck_job_run_forget.execution_info.status == "running"
- name: Get Rundeck job test_job executions info
community.general.rundeck_job_executions_info:
url: "{{ rundeck_url }}"
api_version: "{{ rundeck_api_version }}"
api_token: "{{ rundeck_api_token.stdout_lines[-1] }}"
job_id: "{{ rundeck_job_id }}"
register: rundeck_job_executions_info
- name: Assert that Rundeck job executions info has 4 registers
ansible.builtin.assert:
that:
- rundeck_job_executions_info.paging.total | int == 4