mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-09-30 13:33:21 -07:00
New Module: LXD Projects (#4521)
* add lxd_project module * documentation improvement and version_added entry * improve documentation * use os.path.expanduser * exclude from use-argspec-type-path test * improve documentation
This commit is contained in:
parent
f5b1b3c6f0
commit
1d3506490f
11 changed files with 601 additions and 0 deletions
1
tests/integration/targets/lxd_project/aliases
Normal file
1
tests/integration/targets/lxd_project/aliases
Normal file
|
@ -0,0 +1 @@
|
|||
unsupported
|
140
tests/integration/targets/lxd_project/tasks/main.yml
Normal file
140
tests/integration/targets/lxd_project/tasks/main.yml
Normal file
|
@ -0,0 +1,140 @@
|
|||
####################################################################
|
||||
# WARNING: These are designed specifically for Ansible tests #
|
||||
# and should not be used as examples of how to write Ansible roles #
|
||||
####################################################################
|
||||
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
- name: Clean up test project
|
||||
lxd_project:
|
||||
name: ansible-test-project
|
||||
state: absent
|
||||
|
||||
- name: Clean up test project
|
||||
lxd_project:
|
||||
name: ansible-test-project-renamed
|
||||
state: absent
|
||||
|
||||
- name: Create test project
|
||||
lxd_project:
|
||||
name: ansible-test-project
|
||||
config:
|
||||
features.images: "false"
|
||||
features.networks: "true"
|
||||
features.profiles: "true"
|
||||
limits.cpu: "3"
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- name: Check project has been created correctly
|
||||
assert:
|
||||
that:
|
||||
- results is changed
|
||||
- results.actions is defined
|
||||
- "'create' in results.actions"
|
||||
|
||||
- name: Create test project again with merge_project set to true
|
||||
lxd_project:
|
||||
name: ansible-test-project
|
||||
merge_project: true
|
||||
config:
|
||||
features.images: "false"
|
||||
features.networks: "true"
|
||||
features.profiles: "true"
|
||||
limits.cpu: "3"
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- name: Check state is not changed
|
||||
assert:
|
||||
that:
|
||||
- results is not changed
|
||||
- "{{ results.actions | length }} == 0"
|
||||
|
||||
- name: Create test project again with merge_project set to false
|
||||
lxd_project:
|
||||
name: ansible-test-project
|
||||
merge_project: false
|
||||
config:
|
||||
features.images: "false"
|
||||
features.networks: "true"
|
||||
features.profiles: "true"
|
||||
limits.cpu: "3"
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- name: Check state is not changed
|
||||
assert:
|
||||
that:
|
||||
- results is changed
|
||||
- "'apply_projects_configs' in results.actions"
|
||||
|
||||
- name: Update project test => update description
|
||||
lxd_project:
|
||||
name: ansible-test-project
|
||||
merge_project: false
|
||||
description: "ansible test project"
|
||||
config:
|
||||
features.images: "false"
|
||||
features.networks: "true"
|
||||
features.profiles: "true"
|
||||
limits.cpu: "3"
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- name: Check state is changed
|
||||
assert:
|
||||
that:
|
||||
- results is changed
|
||||
- "'apply_projects_configs' in results.actions"
|
||||
|
||||
- name: Update project test => update project config
|
||||
lxd_project:
|
||||
name: ansible-test-project
|
||||
merge_project: false
|
||||
description: "ansible test project"
|
||||
config:
|
||||
features.images: "false"
|
||||
features.networks: "true"
|
||||
features.profiles: "true"
|
||||
limits.cpu: "4"
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- name: Check state is changed
|
||||
assert:
|
||||
that:
|
||||
- results is changed
|
||||
- "'apply_projects_configs' in results.actions"
|
||||
|
||||
- name: Rename project test
|
||||
lxd_project:
|
||||
name: ansible-test-project
|
||||
new_name: ansible-test-project-renamed
|
||||
merge_project: true
|
||||
description: "ansible test project"
|
||||
config:
|
||||
features.images: "false"
|
||||
features.networks: "true"
|
||||
features.profiles: "true"
|
||||
limits.cpu: "4"
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- name: Check state is changed
|
||||
assert:
|
||||
that:
|
||||
- results is changed
|
||||
- "'rename' in results.actions"
|
||||
|
||||
- name: Clean up test project
|
||||
lxd_project:
|
||||
name: ansible-test-project-renamed
|
||||
state: absent
|
||||
register: results
|
||||
|
||||
- name: Check project is deleted
|
||||
assert:
|
||||
that:
|
||||
- results is changed
|
||||
- "'delete' in results.actions"
|
|
@ -7,6 +7,7 @@
|
|||
plugins/module_utils/cloud.py pylint:bad-option-value # a pylint test that is disabled was modified over time
|
||||
plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path
|
||||
plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/cloud/lxd/lxd_project.py use-argspec-type-path # expanduser() applied to constants
|
||||
plugins/modules/cloud/misc/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/cloud/rackspace/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/cloud/rackspace/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
.azure-pipelines/scripts/publish-codecov.py metaclass-boilerplate
|
||||
plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path
|
||||
plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/cloud/lxd/lxd_project.py use-argspec-type-path # expanduser() applied to constants
|
||||
plugins/modules/cloud/misc/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/cloud/rackspace/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/cloud/rackspace/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
.azure-pipelines/scripts/publish-codecov.py replace-urlopen
|
||||
plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path
|
||||
plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/cloud/lxd/lxd_project.py use-argspec-type-path # expanduser() applied to constants
|
||||
plugins/modules/cloud/misc/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/cloud/rackspace/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/cloud/rackspace/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
.azure-pipelines/scripts/publish-codecov.py replace-urlopen
|
||||
plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path
|
||||
plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/cloud/lxd/lxd_project.py use-argspec-type-path # expanduser() applied to constants
|
||||
plugins/modules/cloud/misc/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/cloud/rackspace/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/cloud/rackspace/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
.azure-pipelines/scripts/publish-codecov.py replace-urlopen
|
||||
plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path
|
||||
plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/cloud/lxd/lxd_project.py use-argspec-type-path # expanduser() applied to constants
|
||||
plugins/modules/cloud/misc/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/cloud/rackspace/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/cloud/rackspace/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
plugins/module_utils/cloud.py pylint:bad-option-value # a pylint test that is disabled was modified over time
|
||||
plugins/modules/cloud/lxc/lxc_container.py use-argspec-type-path
|
||||
plugins/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen
|
||||
plugins/modules/cloud/lxd/lxd_project.py use-argspec-type-path # expanduser() applied to constants
|
||||
plugins/modules/cloud/rackspace/rax.py use-argspec-type-path
|
||||
plugins/modules/cloud/rackspace/rax_files_objects.py use-argspec-type-path
|
||||
plugins/modules/cloud/rackspace/rax_scaling_group.py use-argspec-type-path # fix needed, expanduser() applied to dict values
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue