mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-23 13:20:23 -07:00
* New module: Proxmox disk management
* Remove misplaced option
* Type missed
* Fixed docs, quotes, 2.7 syntax
* Forgotten comma
* Version added 5.5.0
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Italic options
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Missed dot
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Pythonify python
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Shorten command
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Action parameter drop. General improvements.
* Add proxmox_disk integration testing
* Shorten getting vmid
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Code tag for value
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Italic tag for option
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Definite ID of the VM
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Docs edit and loop condition
* Simplify conditions
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Dropped bps options, added idempotency checks
* Documentaion edit
* Rewrite create/import condition
* Trainling comma
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Added type field to all choosable arguments
* Description of disk bus ranges
* Fix imports
* Update version
Co-authored-by: Felix Fontein <felix@fontein.de>
* Lowercase YAML boolean
* Rename grown to resized and update documentation
* Documentation updated before actual changes
* Added 'update' flag for 'present' state
* Traling space
* YAML indentation
* Merged 'updated' option into 'present'.
* Doc update.
* Exclude 'import_from' on update
* Version bump
* yaml boolean lowercase
Co-authored-by: Felix Fontein <felix@fontein.de>
* yaml boolean lowercase
Co-authored-by: Felix Fontein <felix@fontein.de>
* More detailed description
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 7777b48c99
)
Co-authored-by: castorsky <csky57@gmail.com>
This commit is contained in:
parent
9dc2e2d032
commit
96cda3a48a
4 changed files with 944 additions and 0 deletions
|
@ -313,6 +313,202 @@
|
|||
- results.vmid == {{ vmid }}
|
||||
- results.msg == "Nic net5 deleted on VM with vmid {{ vmid }}"
|
||||
|
||||
- name: Create new disk in VM
|
||||
tags: ['create_disk']
|
||||
block:
|
||||
- name: Add new disk (without force) to VM
|
||||
proxmox_disk:
|
||||
api_host: "{{ api_host }}"
|
||||
api_user: "{{ user }}@{{ domain }}"
|
||||
api_password: "{{ api_password | default(omit) }}"
|
||||
api_token_id: "{{ api_token_id | default(omit) }}"
|
||||
api_token_secret: "{{ api_token_secret | default(omit) }}"
|
||||
vmid: "{{ vmid }}"
|
||||
disk: "{{ disk }}"
|
||||
storage: "{{ storage }}"
|
||||
size: 1
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- results is changed
|
||||
- results.vmid == {{ vmid }}
|
||||
- results.msg == "Disk {{ disk }} created in VM {{ vmid }}"
|
||||
|
||||
- name: Try add disk again with same options (expect no-op)
|
||||
proxmox_disk:
|
||||
api_host: "{{ api_host }}"
|
||||
api_user: "{{ user }}@{{ domain }}"
|
||||
api_password: "{{ api_password | default(omit) }}"
|
||||
api_token_id: "{{ api_token_id | default(omit) }}"
|
||||
api_token_secret: "{{ api_token_secret | default(omit) }}"
|
||||
vmid: "{{ vmid }}"
|
||||
disk: "{{ disk }}"
|
||||
storage: "{{ storage }}"
|
||||
size: 1
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- results is not changed
|
||||
- results.vmid == {{ vmid }}
|
||||
- results.msg == "Disk {{ disk }} is up to date in VM {{ vmid }}"
|
||||
|
||||
- name: Add new disk replacing existing disk (detach old and leave unused)
|
||||
proxmox_disk:
|
||||
api_host: "{{ api_host }}"
|
||||
api_user: "{{ user }}@{{ domain }}"
|
||||
api_password: "{{ api_password | default(omit) }}"
|
||||
api_token_id: "{{ api_token_id | default(omit) }}"
|
||||
api_token_secret: "{{ api_token_secret | default(omit) }}"
|
||||
vmid: "{{ vmid }}"
|
||||
disk: "{{ disk }}"
|
||||
storage: "{{ storage }}"
|
||||
size: 2
|
||||
create: forced
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- results is changed
|
||||
- results.vmid == {{ vmid }}
|
||||
- results.msg == "Disk {{ disk }} created in VM {{ vmid }}"
|
||||
|
||||
- name: Update existing disk in VM
|
||||
tags: ['update_disk']
|
||||
block:
|
||||
- name: Update disk configuration
|
||||
proxmox_disk:
|
||||
api_host: "{{ api_host }}"
|
||||
api_user: "{{ user }}@{{ domain }}"
|
||||
api_password: "{{ api_password | default(omit) }}"
|
||||
api_token_id: "{{ api_token_id | default(omit) }}"
|
||||
api_token_secret: "{{ api_token_secret | default(omit) }}"
|
||||
vmid: "{{ vmid }}"
|
||||
disk: "{{ disk }}"
|
||||
backup: false
|
||||
ro: true
|
||||
aio: native
|
||||
state: present
|
||||
register: results
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- results is changed
|
||||
- results.vmid == {{ vmid }}
|
||||
- results.msg == "Disk {{ disk }} updated in VM {{ vmid }}"
|
||||
|
||||
- name: Grow existing disk in VM
|
||||
tags: ['grow_disk']
|
||||
block:
|
||||
- name: Increase disk size
|
||||
proxmox_disk:
|
||||
api_host: "{{ api_host }}"
|
||||
api_user: "{{ user }}@{{ domain }}"
|
||||
api_password: "{{ api_password | default(omit) }}"
|
||||
api_token_id: "{{ api_token_id | default(omit) }}"
|
||||
api_token_secret: "{{ api_token_secret | default(omit) }}"
|
||||
vmid: "{{ vmid }}"
|
||||
disk: "{{ disk }}"
|
||||
size: +1G
|
||||
state: resized
|
||||
register: results
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- results is changed
|
||||
- results.vmid == {{ vmid }}
|
||||
- results.msg == "Disk {{ disk }} resized in VM {{ vmid }}"
|
||||
|
||||
- name: Detach disk and leave it unused
|
||||
tags: ['detach_disk']
|
||||
block:
|
||||
- name: Detach disk
|
||||
proxmox_disk:
|
||||
api_host: "{{ api_host }}"
|
||||
api_user: "{{ user }}@{{ domain }}"
|
||||
api_password: "{{ api_password | default(omit) }}"
|
||||
api_token_id: "{{ api_token_id | default(omit) }}"
|
||||
api_token_secret: "{{ api_token_secret | default(omit) }}"
|
||||
vmid: "{{ vmid }}"
|
||||
disk: "{{ disk }}"
|
||||
state: detached
|
||||
register: results
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- results is changed
|
||||
- results.vmid == {{ vmid }}
|
||||
- results.msg == "Disk {{ disk }} detached from VM {{ vmid }}"
|
||||
|
||||
- name: Move disk to another storage or another VM
|
||||
tags: ['move_disk']
|
||||
block:
|
||||
- name: Move disk to another storage inside same VM
|
||||
proxmox_disk:
|
||||
api_host: "{{ api_host }}"
|
||||
api_user: "{{ user }}@{{ domain }}"
|
||||
api_password: "{{ api_password | default(omit) }}"
|
||||
api_token_id: "{{ api_token_id | default(omit) }}"
|
||||
api_token_secret: "{{ api_token_secret | default(omit) }}"
|
||||
vmid: "{{ vmid }}"
|
||||
disk: "{{ disk }}"
|
||||
target_storage: "{{ target_storage }}"
|
||||
format: "{{ target_format }}"
|
||||
state: moved
|
||||
register: results
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- results is changed
|
||||
- results.vmid == {{ vmid }}
|
||||
- results.msg == "Disk {{ disk }} moved from VM {{ vmid }} storage {{ results.storage }}"
|
||||
|
||||
- name: Move disk to another VM (same storage)
|
||||
proxmox_disk:
|
||||
api_host: "{{ api_host }}"
|
||||
api_user: "{{ user }}@{{ domain }}"
|
||||
api_password: "{{ api_password | default(omit) }}"
|
||||
api_token_id: "{{ api_token_id | default(omit) }}"
|
||||
api_token_secret: "{{ api_token_secret | default(omit) }}"
|
||||
vmid: "{{ vmid }}"
|
||||
disk: "{{ disk }}"
|
||||
target_vmid: "{{ target_vm }}"
|
||||
target_disk: "{{ target_disk }}"
|
||||
state: moved
|
||||
register: results
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- results is changed
|
||||
- results.vmid == {{ vmid }}
|
||||
- results.msg == "Disk {{ disk }} moved from VM {{ vmid }} storage {{ results.storage }}"
|
||||
|
||||
|
||||
- name: Remove disk permanently
|
||||
tags: ['remove_disk']
|
||||
block:
|
||||
- name: Remove disk
|
||||
proxmox_disk:
|
||||
api_host: "{{ api_host }}"
|
||||
api_user: "{{ user }}@{{ domain }}"
|
||||
api_password: "{{ api_password | default(omit) }}"
|
||||
api_token_id: "{{ api_token_id | default(omit) }}"
|
||||
api_token_secret: "{{ api_token_secret | default(omit) }}"
|
||||
vmid: "{{ target_vm }}"
|
||||
disk: "{{ target_disk }}"
|
||||
state: absent
|
||||
register: results
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- results is changed
|
||||
- results.vmid == {{ target_vm }}
|
||||
- results.msg == "Disk {{ target_disk }} removed from VM {{ target_vm }}"
|
||||
|
||||
- name: VM stop
|
||||
tags: [ 'stop' ]
|
||||
block:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue