mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-05-14 21:42:01 +00:00
Compare commits
23 Commits
b8a73541b8
...
stable-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e2839eb4d1 | ||
|
|
8a933e78b3 | ||
|
|
b8d12e6566 | ||
|
|
6aa1cfe6f8 | ||
|
|
edccfe7f9c | ||
|
|
2a4e10dbd5 | ||
|
|
9457b09e1a | ||
|
|
431d734068 | ||
|
|
abf2ddaa07 | ||
|
|
e829e6355a | ||
|
|
4d55b9f8cd | ||
|
|
ca357be91e | ||
|
|
31376a3ee6 | ||
|
|
9d59f62974 | ||
|
|
3fcaa30290 | ||
|
|
73f7519133 | ||
|
|
31559441dc | ||
|
|
6c3892c01b | ||
|
|
5717de0974 | ||
|
|
e270777b8d | ||
|
|
098b5bee70 | ||
|
|
3a085b0b10 | ||
|
|
cd43bd10bb |
@@ -37,13 +37,13 @@ variables:
|
|||||||
resources:
|
resources:
|
||||||
containers:
|
containers:
|
||||||
- container: default
|
- container: default
|
||||||
image: quay.io/ansible/azure-pipelines-test-container:6.0.0
|
image: quay.io/ansible/azure-pipelines-test-container:7.0.0
|
||||||
|
|
||||||
pool: Standard
|
pool: Standard
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- stage: Sanity_devel
|
- stage: Sanity_devel
|
||||||
displayName: Ansible devel sanity
|
displayName: Ansible devel sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
@@ -57,8 +57,23 @@ stages:
|
|||||||
test: units
|
test: units
|
||||||
- name: Lint
|
- name: Lint
|
||||||
test: lint
|
test: lint
|
||||||
|
- stage: Sanity_2_19
|
||||||
|
displayName: Ansible 2.19 sanity & Units & Lint
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
nameFormat: "{0}"
|
||||||
|
testFormat: 2.19/{0}
|
||||||
|
targets:
|
||||||
|
- name: Sanity
|
||||||
|
test: sanity
|
||||||
|
- name: Units
|
||||||
|
test: units
|
||||||
|
- name: Lint
|
||||||
|
test: lint
|
||||||
- stage: Sanity_2_18
|
- stage: Sanity_2_18
|
||||||
displayName: Ansible 2.18 sanity
|
displayName: Ansible 2.18 sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
@@ -73,7 +88,7 @@ stages:
|
|||||||
- name: Lint
|
- name: Lint
|
||||||
test: lint
|
test: lint
|
||||||
- stage: Sanity_2_17
|
- stage: Sanity_2_17
|
||||||
displayName: Ansible 2.17 sanity
|
displayName: Ansible 2.17 sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
@@ -88,7 +103,7 @@ stages:
|
|||||||
- name: Lint
|
- name: Lint
|
||||||
test: lint
|
test: lint
|
||||||
- stage: Sanity_2_16
|
- stage: Sanity_2_16
|
||||||
displayName: Ansible 2.16 sanity
|
displayName: Ansible 2.16 sanity & Units & Lint
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
@@ -100,19 +115,6 @@ stages:
|
|||||||
test: sanity
|
test: sanity
|
||||||
- name: Units
|
- name: Units
|
||||||
test: units
|
test: units
|
||||||
- stage: Sanity_2_15
|
|
||||||
displayName: Ansible 2.15 sanity
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
nameFormat: "{0}"
|
|
||||||
testFormat: 2.15/{0}
|
|
||||||
targets:
|
|
||||||
- name: Sanity
|
|
||||||
test: sanity
|
|
||||||
- name: Units
|
|
||||||
test: units
|
|
||||||
## Docker
|
## Docker
|
||||||
- stage: Docker_devel
|
- stage: Docker_devel
|
||||||
displayName: Docker devel
|
displayName: Docker devel
|
||||||
@@ -122,14 +124,28 @@ stages:
|
|||||||
parameters:
|
parameters:
|
||||||
testFormat: devel/linux/{0}/1
|
testFormat: devel/linux/{0}/1
|
||||||
targets:
|
targets:
|
||||||
- name: Fedora 40
|
- name: Fedora 42
|
||||||
test: fedora40
|
test: fedora42
|
||||||
|
- name: Ubuntu 22.04
|
||||||
|
test: ubuntu2204
|
||||||
|
- name: Ubuntu 24.04
|
||||||
|
test: ubuntu2404
|
||||||
|
- stage: Docker_2_19
|
||||||
|
displayName: Docker 2.19
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
testFormat: 2.19/linux/{0}/1
|
||||||
|
targets:
|
||||||
|
- name: Fedora 41
|
||||||
|
test: fedora41
|
||||||
- name: Ubuntu 22.04
|
- name: Ubuntu 22.04
|
||||||
test: ubuntu2204
|
test: ubuntu2204
|
||||||
- name: Ubuntu 24.04
|
- name: Ubuntu 24.04
|
||||||
test: ubuntu2404
|
test: ubuntu2404
|
||||||
- stage: Docker_2_18
|
- stage: Docker_2_18
|
||||||
displayName: Docker devel
|
displayName: Docker 2.18
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
@@ -152,8 +168,6 @@ stages:
|
|||||||
targets:
|
targets:
|
||||||
- name: Fedora 39
|
- name: Fedora 39
|
||||||
test: fedora39
|
test: fedora39
|
||||||
- name: Ubuntu 20.04
|
|
||||||
test: ubuntu2004
|
|
||||||
- name: Ubuntu 22.04
|
- name: Ubuntu 22.04
|
||||||
test: ubuntu2204
|
test: ubuntu2204
|
||||||
- stage: Docker_2_16
|
- stage: Docker_2_16
|
||||||
@@ -168,27 +182,6 @@ stages:
|
|||||||
test: centos7
|
test: centos7
|
||||||
- name: Fedora 38
|
- name: Fedora 38
|
||||||
test: fedora38
|
test: fedora38
|
||||||
- name: Ubuntu 20.04
|
|
||||||
test: ubuntu2004
|
|
||||||
- name: Ubuntu 22.04
|
|
||||||
test: ubuntu2204
|
|
||||||
|
|
||||||
- stage: Docker_2_15
|
|
||||||
displayName: Docker 2.15
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
testFormat: 2.15/linux/{0}/1
|
|
||||||
targets:
|
|
||||||
- name: CentOS 7
|
|
||||||
test: centos7
|
|
||||||
- name: Fedora 37
|
|
||||||
test: fedora37
|
|
||||||
- name: openSUSE 15 py3
|
|
||||||
test: opensuse15
|
|
||||||
- name: Ubuntu 20.04
|
|
||||||
test: ubuntu2004
|
|
||||||
- name: Ubuntu 22.04
|
- name: Ubuntu 22.04
|
||||||
test: ubuntu2204
|
test: ubuntu2204
|
||||||
|
|
||||||
@@ -201,12 +194,32 @@ stages:
|
|||||||
parameters:
|
parameters:
|
||||||
testFormat: devel/{0}/1
|
testFormat: devel/{0}/1
|
||||||
targets:
|
targets:
|
||||||
- name: RHEL 9.4
|
- name: RHEL 10.0
|
||||||
test: rhel/9.4
|
test: rhel/10.0
|
||||||
- name: FreeBSD 13.3
|
- name: RHEL 9.6
|
||||||
test: freebsd/13.3
|
test: rhel/9.6
|
||||||
|
- name: FreeBSD 14.3
|
||||||
|
test: freebsd/14.3
|
||||||
|
- name: FreeBSD 13.5
|
||||||
|
test: freebsd/13.5
|
||||||
|
- stage: Remote_2_19
|
||||||
|
displayName: Remote 2.19
|
||||||
|
dependsOn: []
|
||||||
|
jobs:
|
||||||
|
- template: templates/matrix.yml
|
||||||
|
parameters:
|
||||||
|
testFormat: 2.19/{0}/1
|
||||||
|
targets:
|
||||||
|
- name: RHEL 10.0
|
||||||
|
test: rhel/10.0
|
||||||
|
- name: RHEL 9.5
|
||||||
|
test: rhel/9.5
|
||||||
|
- name: FreeBSD 14.2
|
||||||
|
test: freebsd/14.2
|
||||||
|
- name: FreeBSD 13.5
|
||||||
|
test: freebsd/13.5
|
||||||
- stage: Remote_2_18
|
- stage: Remote_2_18
|
||||||
displayName: Remote devel
|
displayName: Remote 2.18
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/matrix.yml
|
- template: templates/matrix.yml
|
||||||
@@ -215,8 +228,8 @@ stages:
|
|||||||
targets:
|
targets:
|
||||||
- name: RHEL 9.4
|
- name: RHEL 9.4
|
||||||
test: rhel/9.4
|
test: rhel/9.4
|
||||||
- name: FreeBSD 13.3
|
- name: FreeBSD 13.5
|
||||||
test: freebsd/13.3
|
test: freebsd/13.5
|
||||||
- stage: Remote_2_17
|
- stage: Remote_2_17
|
||||||
displayName: Remote 2.17
|
displayName: Remote 2.17
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
@@ -227,8 +240,8 @@ stages:
|
|||||||
targets:
|
targets:
|
||||||
- name: RHEL 9.3
|
- name: RHEL 9.3
|
||||||
test: rhel/9.3
|
test: rhel/9.3
|
||||||
- name: FreeBSD 13.3
|
- name: FreeBSD 13.5
|
||||||
test: freebsd/13.3
|
test: freebsd/13.5
|
||||||
- stage: Remote_2_16
|
- stage: Remote_2_16
|
||||||
displayName: Remote 2.16
|
displayName: Remote 2.16
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
@@ -241,34 +254,12 @@ stages:
|
|||||||
test: rhel/8.8
|
test: rhel/8.8
|
||||||
- name: RHEL 9.2
|
- name: RHEL 9.2
|
||||||
test: rhel/9.2
|
test: rhel/9.2
|
||||||
- name: FreeBSD 13.2
|
|
||||||
test: freebsd/13.2
|
|
||||||
|
|
||||||
- stage: Remote_2_15
|
|
||||||
displayName: Remote 2.15
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/matrix.yml
|
|
||||||
parameters:
|
|
||||||
testFormat: 2.15/{0}/1
|
|
||||||
targets:
|
|
||||||
- name: RHEL 7.9
|
|
||||||
test: rhel/7.9
|
|
||||||
- name: RHEL 8.7
|
|
||||||
test: rhel/8.7
|
|
||||||
- name: RHEL 9.1
|
|
||||||
test: rhel/9.1
|
|
||||||
- name: FreeBSD 13.2
|
|
||||||
test: freebsd/13.2
|
|
||||||
|
|
||||||
## Finally
|
## Finally
|
||||||
|
|
||||||
- stage: Summary
|
- stage: Summary
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- Sanity_2_15
|
|
||||||
- Remote_2_15
|
|
||||||
- Docker_2_15
|
|
||||||
- Sanity_2_16
|
- Sanity_2_16
|
||||||
- Remote_2_16
|
- Remote_2_16
|
||||||
- Docker_2_16
|
- Docker_2_16
|
||||||
@@ -278,8 +269,11 @@ stages:
|
|||||||
- Sanity_2_18
|
- Sanity_2_18
|
||||||
- Remote_2_18
|
- Remote_2_18
|
||||||
- Docker_2_18
|
- Docker_2_18
|
||||||
|
- Sanity_2_19
|
||||||
|
- Remote_2_19
|
||||||
|
- Docker_2_19
|
||||||
- Sanity_devel
|
- Sanity_devel
|
||||||
# - Remote_devel # Wait for test environment release
|
- Remote_devel
|
||||||
# - Docker_devel # Wait for test environment release
|
- Docker_devel
|
||||||
jobs:
|
jobs:
|
||||||
- template: templates/coverage.yml
|
- template: templates/coverage.yml
|
||||||
|
|||||||
1
.github/BOTMETA.yml
vendored
1
.github/BOTMETA.yml
vendored
@@ -40,6 +40,7 @@ files:
|
|||||||
labels: debug
|
labels: debug
|
||||||
$plugins/patch.py:
|
$plugins/patch.py:
|
||||||
labels: patch
|
labels: patch
|
||||||
|
$plugins/skippy.py:
|
||||||
$plugins/synchronize.py:
|
$plugins/synchronize.py:
|
||||||
labels: synchronize
|
labels: synchronize
|
||||||
$plugins/timer.py:
|
$plugins/timer.py:
|
||||||
|
|||||||
@@ -4,6 +4,39 @@ ansible.posix Release Notes
|
|||||||
|
|
||||||
.. contents:: Topics
|
.. contents:: Topics
|
||||||
|
|
||||||
|
v1.6.2
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This is the bugfix release of the stable version ``ansible.posix`` collection.
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
``ansible.posix`` 1.6.1.
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- backport - Drop ansible-core 2.14 and set 2.15 minimum version (https://github.com/ansible-collections/ansible.posix/issues/578).
|
||||||
|
|
||||||
|
v1.6.1
|
||||||
|
======
|
||||||
|
|
||||||
|
Release Summary
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This is the bugfix release of the stable version ``ansible.posix`` collection.
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
``ansible.posix`` 1.6.1.
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- acl - Fixed to set ACLs on paths mounted with NFS version 4 correctly (https://github.com/ansible-collections/ansible.posix/issues/240).
|
||||||
|
- mount - Handle ``boot`` option on Linux, NetBSD and OpenBSD correctly (https://github.com/ansible-collections/ansible.posix/issues/364).
|
||||||
|
- skippy - Revert removal of skippy plugin. It will be removed in version 2.0.0 (https://github.com/ansible-collections/ansible.posix/issues/573).
|
||||||
|
|
||||||
v1.6.0
|
v1.6.0
|
||||||
======
|
======
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ For more information about communication, see the [Ansible communication guide](
|
|||||||
<!--start requires_ansible-->
|
<!--start requires_ansible-->
|
||||||
## Ansible version compatibility
|
## Ansible version compatibility
|
||||||
|
|
||||||
This collection has been tested against following Ansible versions: **>=2.15**.
|
This collection has been tested against following Ansible versions: **>=2.16**.
|
||||||
<!--end requires_ansible-->
|
<!--end requires_ansible-->
|
||||||
|
|
||||||
## Included content
|
## Included content
|
||||||
@@ -74,13 +74,9 @@ None
|
|||||||
|
|
||||||
<!-- List the versions of Ansible the collection has been tested with. Must match what is in galaxy.yml. -->
|
<!-- List the versions of Ansible the collection has been tested with. Must match what is in galaxy.yml. -->
|
||||||
|
|
||||||
- ansible-core 2.19 (devel)
|
|
||||||
- ansible-core 2.18 (stable) *
|
- ansible-core 2.18 (stable) *
|
||||||
- ansible-core 2.17 (stable)
|
- ansible-core 2.17 (stable)
|
||||||
- ansible-core 2.16 (stable)
|
- ansible-core 2.16 (stable)
|
||||||
- ansible-core 2.15 (stable)
|
|
||||||
|
|
||||||
*Note: For ansible-core 2.18, CI only covers sanity tests and no integration tests will be run until the test environment is released.*
|
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
|
|||||||
@@ -405,3 +405,43 @@ releases:
|
|||||||
- dropping-ansible29.yml
|
- dropping-ansible29.yml
|
||||||
- test-reqs.yml
|
- test-reqs.yml
|
||||||
release_date: '2024-09-11'
|
release_date: '2024-09-11'
|
||||||
|
1.6.1:
|
||||||
|
changes:
|
||||||
|
bugfixes:
|
||||||
|
- acl - Fixed to set ACLs on paths mounted with NFS version 4 correctly (https://github.com/ansible-collections/ansible.posix/issues/240).
|
||||||
|
- mount - Handle ``boot`` option on Linux, NetBSD and OpenBSD correctly (https://github.com/ansible-collections/ansible.posix/issues/364).
|
||||||
|
- skippy - Revert removal of skippy plugin. It will be removed in version 2.0.0
|
||||||
|
(https://github.com/ansible-collections/ansible.posix/issues/573).
|
||||||
|
release_summary: 'This is the bugfix release of the stable version ``ansible.posix``
|
||||||
|
collection.
|
||||||
|
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
|
||||||
|
``ansible.posix`` 1.6.1.'
|
||||||
|
fragments:
|
||||||
|
- 1.6.1.yml
|
||||||
|
- 365-boot-linux.yml
|
||||||
|
- 566_bump_version_161.yml
|
||||||
|
- 567_remove_version_added.yml
|
||||||
|
- 570_nfs4_acl.yml
|
||||||
|
- 571_ci_bump_core_version.yml
|
||||||
|
- 572_revert_removal_of_skippy.yml
|
||||||
|
release_date: '2024-10-11'
|
||||||
|
1.6.2:
|
||||||
|
changes:
|
||||||
|
bugfixes:
|
||||||
|
- backport - Drop ansible-core 2.14 and set 2.15 minimum version (https://github.com/ansible-collections/ansible.posix/issues/578).
|
||||||
|
release_summary: 'This is the bugfix release of the stable version ``ansible.posix``
|
||||||
|
collection.
|
||||||
|
|
||||||
|
This changelog contains all changes to the modules and plugins
|
||||||
|
|
||||||
|
in this collection that have been added after the release of
|
||||||
|
|
||||||
|
``ansible.posix`` 1.6.1.'
|
||||||
|
fragments:
|
||||||
|
- 1.6.2.yml
|
||||||
|
- 580_drop_ansible214.yml
|
||||||
|
release_date: '2024-10-22'
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
minor_changes:
|
|
||||||
- synchronize - add the ``quiet`` option to suppress non-error messages (https://github.com/ansible-collections/ansible.posix/issues/171).
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
bugfixes:
|
|
||||||
- mount - Handle ``boot`` option on Linux, NetBSD and OpenBSD correctly (https://github.com/ansible-collections/ansible.posix/issues/364).
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
minor_changes:
|
|
||||||
- callback plugins - Add recap information to timer, profile_roles and profile_tasks callback outputs (https://github.com/ansible-collections/ansible.posix/pull/387).
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
trivial:
|
|
||||||
- Bump version to 1.6.1 for next release.
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
trivial:
|
|
||||||
- mount - remove wrong version_added section from ``opts_no_log``.
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
minor_changes:
|
|
||||||
- authorized_keys - allow using absolute path to a file as a SSH key(s) source (https://github.com/ansible-collections/ansible.posix/pull/568)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
bugfixes:
|
|
||||||
- acl - Fixed to set ACLs on paths mounted with NFS version 4 correctly (https://github.com/ansible-collections/ansible.posix/issues/240).
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
---
|
|
||||||
trivial:
|
|
||||||
- Bump ansible-core version to 2.19 of devel branch and add 2.18 to CI.
|
|
||||||
6
changelogs/fragments/631_fixes_module_path.yml
Normal file
6
changelogs/fragments/631_fixes_module_path.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
bugfixes:
|
||||||
|
- ansible.posix.cgroup_perf_recap - fixes json module load path (https://github.com/ansible-collections/ansible.posix/issues/630).
|
||||||
|
trivial:
|
||||||
|
- ansible.posix.seboolean - remove unnecessary condition from seboolean integration tests (https://github.com/ansible-collections/ansible.posix/issues/630).
|
||||||
|
- ansible.posix.selinux - optimize conditions for selinux integration tests (https://github.com/ansible-collections/ansible.posix/issues/630).
|
||||||
2
changelogs/fragments/642_ci_add_rhel10.yml
Normal file
2
changelogs/fragments/642_ci_add_rhel10.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
trivial:
|
||||||
|
- Add Red Hat Enterprise Linux 10.0 to the CI matrix (https://github.com/ansible-collections/ansible.posix/issues/642).
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
trivial:
|
||||||
|
- Remove devel branch test from CI matrix for stable-1.
|
||||||
2
changelogs/fragments/675_update_ci_matrix_202508.yml
Normal file
2
changelogs/fragments/675_update_ci_matrix_202508.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
trivial:
|
||||||
|
- Update AZP CI matrix to bump test container version 7.0.0(https://github.com/ansible-collections/ansible.posix/pull/673).
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
namespace: ansible
|
namespace: ansible
|
||||||
name: posix
|
name: posix
|
||||||
version: 1.6.1
|
version: 1.6.2
|
||||||
readme: README.md
|
readme: README.md
|
||||||
authors:
|
authors:
|
||||||
- Ansible (github.com/ansible)
|
- Ansible (github.com/ansible)
|
||||||
|
|||||||
@@ -1,2 +1,8 @@
|
|||||||
---
|
---
|
||||||
requires_ansible: ">=2.15.0"
|
requires_ansible: ">=2.15.0"
|
||||||
|
plugin_routing:
|
||||||
|
callback:
|
||||||
|
skippy:
|
||||||
|
deprecation:
|
||||||
|
removal_date: "2024-12-05"
|
||||||
|
warning_text: See the plugin documentation for more details
|
||||||
|
|||||||
@@ -132,6 +132,7 @@ DOCUMENTATION = '''
|
|||||||
|
|
||||||
import csv
|
import csv
|
||||||
import datetime
|
import datetime
|
||||||
|
import json
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
import threading
|
import threading
|
||||||
@@ -142,7 +143,7 @@ from functools import partial
|
|||||||
|
|
||||||
from ansible.module_utils._text import to_bytes, to_text
|
from ansible.module_utils._text import to_bytes, to_text
|
||||||
from ansible.module_utils.six import with_metaclass
|
from ansible.module_utils.six import with_metaclass
|
||||||
from ansible.parsing.ajson import AnsibleJSONEncoder, json
|
from ansible.parsing.ajson import AnsibleJSONEncoder
|
||||||
from ansible.plugins.callback import CallbackBase
|
from ansible.plugins.callback import CallbackBase
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -128,10 +128,7 @@ class CallbackModule(CallbackBase):
|
|||||||
self._display_tasktime()
|
self._display_tasktime()
|
||||||
|
|
||||||
def playbook_on_stats(self, stats):
|
def playbook_on_stats(self, stats):
|
||||||
# Align summary report header with other callback plugin summary
|
self._display_tasktime()
|
||||||
self._display.banner("ROLES RECAP")
|
|
||||||
|
|
||||||
self._display.display(tasktime())
|
|
||||||
self._display.display(filled("", fchar="="))
|
self._display.display(filled("", fchar="="))
|
||||||
|
|
||||||
timestamp(self)
|
timestamp(self)
|
||||||
|
|||||||
@@ -193,10 +193,7 @@ class CallbackModule(CallbackBase):
|
|||||||
self._display_tasktime()
|
self._display_tasktime()
|
||||||
|
|
||||||
def playbook_on_stats(self, stats):
|
def playbook_on_stats(self, stats):
|
||||||
# Align summary report header with other callback plugin summary
|
self._display_tasktime()
|
||||||
self._display.banner("TASKS RECAP")
|
|
||||||
|
|
||||||
self._display.display(tasktime())
|
|
||||||
self._display.display(filled("", fchar="="))
|
self._display.display(filled("", fchar="="))
|
||||||
|
|
||||||
timestamp(self)
|
timestamp(self)
|
||||||
|
|||||||
43
plugins/callback/skippy.py
Normal file
43
plugins/callback/skippy.py
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# (c) 2012-2014, Michael DeHaan <michael.dehaan@gmail.com>
|
||||||
|
# (c) 2017 Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
# Make coding more python3-ish
|
||||||
|
from __future__ import (absolute_import, division, print_function)
|
||||||
|
__metaclass__ = type
|
||||||
|
|
||||||
|
DOCUMENTATION = '''
|
||||||
|
name: skippy
|
||||||
|
type: stdout
|
||||||
|
requirements:
|
||||||
|
- set as main display callback
|
||||||
|
short_description: Ansible screen output that ignores skipped status
|
||||||
|
deprecated:
|
||||||
|
why: The 'default' callback plugin now supports this functionality
|
||||||
|
removed_at_date: '2024-12-05'
|
||||||
|
alternative: "'default' callback plugin with 'display_skipped_hosts = no' option"
|
||||||
|
extends_documentation_fragment:
|
||||||
|
- default_callback
|
||||||
|
description:
|
||||||
|
- This callback does the same as the default except it does not output skipped host/task/item status
|
||||||
|
'''
|
||||||
|
|
||||||
|
from ansible.plugins.callback.default import CallbackModule as CallbackModule_default
|
||||||
|
|
||||||
|
|
||||||
|
class CallbackModule(CallbackModule_default):
|
||||||
|
|
||||||
|
'''
|
||||||
|
This is the default callback interface, which simply prints messages
|
||||||
|
to stdout when new callback events are received.
|
||||||
|
'''
|
||||||
|
|
||||||
|
CALLBACK_VERSION = 2.0
|
||||||
|
CALLBACK_TYPE = 'stdout'
|
||||||
|
CALLBACK_NAME = 'ansible.posix.skippy'
|
||||||
|
|
||||||
|
def v2_runner_on_skipped(self, result):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def v2_runner_item_on_skipped(self, result):
|
||||||
|
pass
|
||||||
@@ -46,6 +46,4 @@ class CallbackModule(CallbackBase):
|
|||||||
def v2_playbook_on_stats(self, stats):
|
def v2_playbook_on_stats(self, stats):
|
||||||
end_time = datetime.utcnow()
|
end_time = datetime.utcnow()
|
||||||
runtime = end_time - self.start_time
|
runtime = end_time - self.start_time
|
||||||
# Align summary report header with other callback plugin summary
|
self._display.display("Playbook run took %s days, %s hours, %s minutes, %s seconds" % (self.days_hours_minutes_seconds(runtime)))
|
||||||
self._display.banner("PLAYBOOK RECAP")
|
|
||||||
self._display.display("Playbook run took %s days, %s hours, %s minutes, %s seconds\n\r" % (self.days_hours_minutes_seconds(runtime)))
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ options:
|
|||||||
key:
|
key:
|
||||||
description:
|
description:
|
||||||
- The SSH public key(s), as a string or (since Ansible 1.9) url (https://github.com/username.keys).
|
- The SSH public key(s), as a string or (since Ansible 1.9) url (https://github.com/username.keys).
|
||||||
- You can also use V(file://) prefix to search remote for a file with SSH key(s).
|
|
||||||
type: str
|
type: str
|
||||||
required: true
|
required: true
|
||||||
path:
|
path:
|
||||||
@@ -97,12 +96,6 @@ EXAMPLES = r'''
|
|||||||
state: present
|
state: present
|
||||||
key: https://github.com/charlie.keys
|
key: https://github.com/charlie.keys
|
||||||
|
|
||||||
- name: Set authorized keys taken from path on controller node
|
|
||||||
ansible.posix.authorized_key:
|
|
||||||
user: charlie
|
|
||||||
state: present
|
|
||||||
key: file:///home/charlie/.ssh/id_rsa.pub
|
|
||||||
|
|
||||||
- name: Set authorized keys taken from url using lookup
|
- name: Set authorized keys taken from url using lookup
|
||||||
ansible.posix.authorized_key:
|
ansible.posix.authorized_key:
|
||||||
user: charlie
|
user: charlie
|
||||||
@@ -230,7 +223,6 @@ from operator import itemgetter
|
|||||||
from ansible.module_utils._text import to_native
|
from ansible.module_utils._text import to_native
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.urls import fetch_url
|
from ansible.module_utils.urls import fetch_url
|
||||||
from ansible.module_utils.six.moves.urllib.parse import urlparse
|
|
||||||
|
|
||||||
|
|
||||||
class keydict(dict):
|
class keydict(dict):
|
||||||
@@ -564,7 +556,7 @@ def enforce_state(module, params):
|
|||||||
follow = params.get('follow', False)
|
follow = params.get('follow', False)
|
||||||
error_msg = "Error getting key from: %s"
|
error_msg = "Error getting key from: %s"
|
||||||
|
|
||||||
# if the key is a url or file, request it and use it as key source
|
# if the key is a url, request it and use it as key source
|
||||||
if key.startswith("http"):
|
if key.startswith("http"):
|
||||||
try:
|
try:
|
||||||
resp, info = fetch_url(module, key)
|
resp, info = fetch_url(module, key)
|
||||||
@@ -578,19 +570,6 @@ def enforce_state(module, params):
|
|||||||
# resp.read gives bytes on python3, convert to native string type
|
# resp.read gives bytes on python3, convert to native string type
|
||||||
key = to_native(key, errors='surrogate_or_strict')
|
key = to_native(key, errors='surrogate_or_strict')
|
||||||
|
|
||||||
if key.startswith("file"):
|
|
||||||
# if the key is an absolute path, check for existense and use it as a key source
|
|
||||||
key_path = urlparse(key).path
|
|
||||||
if not os.path.exists(key_path):
|
|
||||||
module.fail_json(msg="Path to a key file not found: %s" % key_path)
|
|
||||||
if not os.path.isfile(key_path):
|
|
||||||
module.fail_json(msg="Path to a key is a directory and must be a file: %s" % key_path)
|
|
||||||
try:
|
|
||||||
with open(key_path, 'r') as source_fh:
|
|
||||||
key = source_fh.read()
|
|
||||||
except OSError as e:
|
|
||||||
module.fail_json(msg="Failed to read key file %s : %s" % (key_path, to_native(e)))
|
|
||||||
|
|
||||||
# extract individual keys into an array, skipping blank lines and comments
|
# extract individual keys into an array, skipping blank lines and comments
|
||||||
new_keys = [s for s in key.splitlines() if s and not s.startswith('#')]
|
new_keys = [s for s in key.splitlines() if s and not s.startswith('#')]
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
from __future__ import absolute_import, division, print_function
|
from __future__ import absolute_import, division, print_function
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
|
|
||||||
DOCUMENTATION = r'''
|
DOCUMENTATION = r'''
|
||||||
---
|
---
|
||||||
module: synchronize
|
module: synchronize
|
||||||
@@ -203,12 +204,6 @@ options:
|
|||||||
description: Internal use only. See O(use_ssh_args) for ssh arg settings.
|
description: Internal use only. See O(use_ssh_args) for ssh arg settings.
|
||||||
type: str
|
type: str
|
||||||
required: false
|
required: false
|
||||||
quiet:
|
|
||||||
description:
|
|
||||||
- This option specifies quiet option which on true suppresses the output.
|
|
||||||
type: bool
|
|
||||||
default: false
|
|
||||||
version_added: 1.6.0
|
|
||||||
|
|
||||||
notes:
|
notes:
|
||||||
- C(rsync) must be installed on both the local and remote host.
|
- C(rsync) must be installed on both the local and remote host.
|
||||||
@@ -366,12 +361,6 @@ EXAMPLES = r'''
|
|||||||
src: /tmp/localpath/
|
src: /tmp/localpath/
|
||||||
dest: /tmp/remotepath
|
dest: /tmp/remotepath
|
||||||
rsync_path: /usr/gnu/bin/rsync
|
rsync_path: /usr/gnu/bin/rsync
|
||||||
|
|
||||||
- name: Synchronization with quiet option enabled
|
|
||||||
ansible.posix.synchronize:
|
|
||||||
src: some/relative/path
|
|
||||||
dest: /some/absolute/path
|
|
||||||
quiet: true
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
@@ -449,7 +438,6 @@ def main():
|
|||||||
delay_updates=dict(type='bool', default=True),
|
delay_updates=dict(type='bool', default=True),
|
||||||
mode=dict(type='str', default='push', choices=['pull', 'push']),
|
mode=dict(type='str', default='push', choices=['pull', 'push']),
|
||||||
link_dest=dict(type='list', elements='path'),
|
link_dest=dict(type='list', elements='path'),
|
||||||
quiet=dict(type='bool', default=False)
|
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
@@ -490,7 +478,6 @@ def main():
|
|||||||
verify_host = module.params['verify_host']
|
verify_host = module.params['verify_host']
|
||||||
link_dest = module.params['link_dest']
|
link_dest = module.params['link_dest']
|
||||||
delay_updates = module.params['delay_updates']
|
delay_updates = module.params['delay_updates']
|
||||||
quiet = module.params['quiet']
|
|
||||||
|
|
||||||
if '/' not in rsync:
|
if '/' not in rsync:
|
||||||
rsync = module.get_bin_path(rsync, required=True)
|
rsync = module.get_bin_path(rsync, required=True)
|
||||||
@@ -615,9 +602,6 @@ def main():
|
|||||||
|
|
||||||
cmd.append(shlex_quote(source))
|
cmd.append(shlex_quote(source))
|
||||||
cmd.append(shlex_quote(dest))
|
cmd.append(shlex_quote(dest))
|
||||||
if quiet:
|
|
||||||
cmd.append('--quiet')
|
|
||||||
|
|
||||||
cmdstr = ' '.join(cmd)
|
cmdstr = ' '.join(cmd)
|
||||||
|
|
||||||
# If we are using password authentication, write the password into the pipe
|
# If we are using password authentication, write the password into the pipe
|
||||||
@@ -650,17 +634,14 @@ def main():
|
|||||||
out_lines = out_clean.split('\n')
|
out_lines = out_clean.split('\n')
|
||||||
while '' in out_lines:
|
while '' in out_lines:
|
||||||
out_lines.remove('')
|
out_lines.remove('')
|
||||||
|
|
||||||
result = dict(changed=changed, rc=rc, cmd=cmdstr, stdout_lines=out_lines, msg=out_clean)
|
|
||||||
|
|
||||||
if quiet:
|
|
||||||
changes = out.count(changed_marker) if changed else 0
|
|
||||||
result['msg'] = "%s files/directories have been synchronized" % changes
|
|
||||||
|
|
||||||
if module._diff:
|
if module._diff:
|
||||||
result['diff'] = {'prepared': out_clean}
|
diff = {'prepared': out_clean}
|
||||||
|
return module.exit_json(changed=changed, msg=out_clean,
|
||||||
|
rc=rc, cmd=cmdstr, stdout_lines=out_lines,
|
||||||
|
diff=diff)
|
||||||
|
|
||||||
return module.exit_json(**result)
|
return module.exit_json(changed=changed, msg=out_clean,
|
||||||
|
rc=rc, cmd=cmdstr, stdout_lines=out_lines)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
[testgroup]
|
|
||||||
testhost ansible_connection="local" ansible_pipelining="yes" ansible_python_interpreter="/Users/mandkulk/venv3.9/bin/python"
|
|
||||||
@@ -46,6 +46,12 @@
|
|||||||
path: "{{ test_dir }}"
|
path: "{{ test_dir }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Install acl package
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: acl
|
||||||
|
state: present
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
- name: Grant ansible user read access to a file
|
- name: Grant ansible user read access to a file
|
||||||
ansible.posix.acl:
|
ansible.posix.acl:
|
||||||
|
|||||||
@@ -35,5 +35,3 @@ multiple_keys_comments: |
|
|||||||
ssh-rsa DATA_BASIC 1@testing
|
ssh-rsa DATA_BASIC 1@testing
|
||||||
# I like adding comments yo-dude-this-is-not-a-key INVALID_DATA 2@testing
|
# I like adding comments yo-dude-this-is-not-a-key INVALID_DATA 2@testing
|
||||||
ecdsa-sha2-nistp521 ECDSA_DATA 4@testing
|
ecdsa-sha2-nistp521 ECDSA_DATA 4@testing
|
||||||
|
|
||||||
key_path: /tmp/id_rsa.pub
|
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create key file for test
|
|
||||||
ansible.builtin.copy:
|
|
||||||
dest: "{{ key_path }}"
|
|
||||||
content: "{{ rsa_key_basic }}"
|
|
||||||
mode: "0600"
|
|
||||||
|
|
||||||
- name: Add key using path
|
|
||||||
ansible.posix.authorized_key:
|
|
||||||
user: root
|
|
||||||
key: file://{{ key_path }}
|
|
||||||
state: present
|
|
||||||
path: "{{ output_dir | expanduser }}/authorized_keys"
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: Assert that the key was added
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- result.changed == true
|
|
||||||
|
|
||||||
- name: Add key using path again
|
|
||||||
ansible.posix.authorized_key:
|
|
||||||
user: root
|
|
||||||
key: file://{{ key_path }}
|
|
||||||
state: present
|
|
||||||
path: "{{ output_dir | expanduser }}/authorized_keys"
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- name: Assert that no changes were applied
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- result.changed == false
|
|
||||||
@@ -31,6 +31,3 @@
|
|||||||
|
|
||||||
- name: Test for the management of comments with key
|
- name: Test for the management of comments with key
|
||||||
ansible.builtin.import_tasks: comments.yml
|
ansible.builtin.import_tasks: comments.yml
|
||||||
|
|
||||||
- name: Test for specifying key as a path
|
|
||||||
ansible.builtin.import_tasks: check_path.yml
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
needs/privileged
|
||||||
|
needs/root
|
||||||
destructive
|
destructive
|
||||||
shippable/posix/group1
|
shippable/posix/group1
|
||||||
skip/aix
|
skip/aix
|
||||||
|
|||||||
@@ -20,5 +20,4 @@
|
|||||||
ansible.builtin.include_tasks: seboolean.yml
|
ansible.builtin.include_tasks: seboolean.yml
|
||||||
when:
|
when:
|
||||||
- ansible_selinux is defined
|
- ansible_selinux is defined
|
||||||
- ansible_selinux
|
|
||||||
- ansible_selinux.status == 'enabled'
|
- ansible_selinux.status == 'enabled'
|
||||||
|
|||||||
@@ -19,23 +19,21 @@
|
|||||||
- name: Debug message for when SELinux is disabled
|
- name: Debug message for when SELinux is disabled
|
||||||
ansible.builtin.debug:
|
ansible.builtin.debug:
|
||||||
msg: SELinux is disabled
|
msg: SELinux is disabled
|
||||||
when: ansible_selinux is defined and not ansible_selinux
|
when: ansible_selinux is defined and ansible_selinux.status == 'disabled'
|
||||||
|
|
||||||
- name: Debug message for when SELinux is enabled and not disabled
|
- name: Debug message for when SELinux is enabled and not disabled
|
||||||
ansible.builtin.debug:
|
ansible.builtin.debug:
|
||||||
msg: SELinux is {{ ansible_selinux.status }}
|
msg: SELinux is {{ ansible_selinux.status }}
|
||||||
when: ansible_selinux is defined and ansible_selinux
|
when: ansible_selinux is defined
|
||||||
|
|
||||||
- name: Include_tasks for when SELinux is enabled
|
- name: Include_tasks for when SELinux is enabled
|
||||||
ansible.builtin.include_tasks: selinux.yml
|
ansible.builtin.include_tasks: selinux.yml
|
||||||
when:
|
when:
|
||||||
- ansible_selinux is defined
|
- ansible_selinux is defined
|
||||||
- ansible_selinux
|
|
||||||
- ansible_selinux.status == 'enabled'
|
- ansible_selinux.status == 'enabled'
|
||||||
|
|
||||||
- name: Include tasks for selogin when SELinux is enabled
|
- name: Include tasks for selogin when SELinux is enabled
|
||||||
ansible.builtin.include_tasks: selogin.yml
|
ansible.builtin.include_tasks: selogin.yml
|
||||||
when:
|
when:
|
||||||
- ansible_selinux is defined
|
- ansible_selinux is defined
|
||||||
- ansible_selinux
|
|
||||||
- ansible_selinux.status == 'enabled'
|
- ansible_selinux.status == 'enabled'
|
||||||
|
|||||||
@@ -128,8 +128,8 @@
|
|||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that:
|
that:
|
||||||
- selinux_config_original | length == selinux_config_after | length
|
- selinux_config_original | length == selinux_config_after | length
|
||||||
- selinux_config_after[selinux_config_after.index('SELINUX=disabled')] is search("^SELINUX=\w+$")
|
- (selinux_config_after | select("search", "^SELINUX=disabled\s*$") | list | length) > 0
|
||||||
- selinux_config_after[selinux_config_after.index('SELINUXTYPE=targeted')] is search("^SELINUXTYPE=\w+$")
|
- (selinux_config_after | select("search", "^SELINUXTYPE=targeted\s*$") | list | length) > 0
|
||||||
|
|
||||||
- name: TEST 1 | Disable SELinux again, with kernel arguments update
|
- name: TEST 1 | Disable SELinux again, with kernel arguments update
|
||||||
ansible.posix.selinux:
|
ansible.posix.selinux:
|
||||||
|
|||||||
@@ -339,37 +339,6 @@
|
|||||||
- stat_result_b.stat.exists == True
|
- stat_result_b.stat.exists == True
|
||||||
- stat_result_b.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
|
- stat_result_b.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
|
||||||
|
|
||||||
- name: Synchronize files with quiet option
|
|
||||||
ansible.posix.synchronize:
|
|
||||||
src: '{{ output_dir }}/foo.txt'
|
|
||||||
dest: '{{ output_dir }}/foo.result'
|
|
||||||
quiet: true
|
|
||||||
register: sync_result
|
|
||||||
|
|
||||||
- name: Assertion for synchronize with quiet option
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- '''files/directories have been synchronized'' in sync_result.msg'
|
|
||||||
|
|
||||||
- name: Cleanup
|
|
||||||
ansible.builtin.file:
|
|
||||||
state: absent
|
|
||||||
path: '{{ output_dir }}/{{ item }}'
|
|
||||||
loop:
|
|
||||||
- foo.result
|
|
||||||
- bar.result
|
|
||||||
|
|
||||||
- name: Synchronize files without quiet option
|
|
||||||
ansible.posix.synchronize:
|
|
||||||
src: '{{ output_dir }}/foo.txt'
|
|
||||||
dest: '{{ output_dir }}/foo.result'
|
|
||||||
register: sync_result
|
|
||||||
|
|
||||||
- name: Assertion for synchronize without quiet option
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- '''files/directories have been synchronized'' not in sync_result.msg'
|
|
||||||
|
|
||||||
- name: Cleanup
|
- name: Cleanup
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
state: absent
|
state: absent
|
||||||
|
|||||||
1
tests/sanity/ignore-2.20.txt
Normal file
1
tests/sanity/ignore-2.20.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
tests/utils/shippable/timing.py shebang
|
||||||
@@ -62,15 +62,15 @@ else
|
|||||||
retry pip install "https://github.com/ansible/ansible/archive/stable-${ansible_version}.tar.gz" --disable-pip-version-check
|
retry pip install "https://github.com/ansible/ansible/archive/stable-${ansible_version}.tar.gz" --disable-pip-version-check
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export ANSIBLE_COLLECTIONS_PATHS="${PWD}/../../../"
|
export ANSIBLE_COLLECTIONS_PATH="${PWD}/../../../"
|
||||||
|
|
||||||
# START: HACK install dependencies
|
# START: HACK install dependencies
|
||||||
if [ "${ansible_version}" == "2.9" ] || [ "${ansible_version}" == "2.10" ]; then
|
if [ "${ansible_version}" == "2.9" ] || [ "${ansible_version}" == "2.10" ]; then
|
||||||
# Note: Since community.general 5.x, Ansible Core versions prior to 2.11 are not supported.
|
# Note: Since community.general 5.x, Ansible Core versions prior to 2.11 are not supported.
|
||||||
# So we need to use 4.8.1 for Ansible 2.9 and Ansible Engine 2.10.
|
# So we need to use 4.8.1 for Ansible 2.9 and Ansible Engine 2.10.
|
||||||
retry git clone --depth=1 --single-branch -b 4.8.1 https://github.com/ansible-collections/community.general.git "${ANSIBLE_COLLECTIONS_PATHS}/ansible_collections/community/general"
|
retry git clone --depth=1 --single-branch -b 4.8.1 https://github.com/ansible-collections/community.general.git "${ANSIBLE_COLLECTIONS_PATH}/ansible_collections/community/general"
|
||||||
else
|
else
|
||||||
retry git clone --depth=1 --single-branch https://github.com/ansible-collections/community.general.git "${ANSIBLE_COLLECTIONS_PATHS}/ansible_collections/community/general"
|
retry git clone --depth=1 --single-branch https://github.com/ansible-collections/community.general.git "${ANSIBLE_COLLECTIONS_PATH}/ansible_collections/community/general"
|
||||||
fi
|
fi
|
||||||
# Note: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429)
|
# Note: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429)
|
||||||
# END: HACK
|
# END: HACK
|
||||||
|
|||||||
Reference in New Issue
Block a user