mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-14 10:01:43 -07:00
* added new statuses for qemu
* added document fragment
* lint fixes
* replaced f strings with %
* move the qmpstatus for qemu to a dedicated group
* added documentation to explain the new addition
* update changelog fragment to reflect the change correctly
* update changelog fragment to reflect the change correctly
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* added a switch to get the qemu extended status
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* groups created when qemu_extended_statuses is true and added tests to make sure they are there
* added test to make sure the groups are not present when qemu_extended_statuses is false
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit b556b142ec
)
Co-authored-by: Ilija Matoski <ilijamt@gmail.com>
This commit is contained in:
parent
52e8e7e928
commit
6a51ba5169
3 changed files with 86 additions and 22 deletions
|
@ -541,17 +541,11 @@ def get_vm_status(properties, node, vmtype, vmid, name):
|
|||
return True
|
||||
|
||||
|
||||
def get_option(option):
|
||||
if option == 'group_prefix':
|
||||
return 'proxmox_'
|
||||
if option == 'facts_prefix':
|
||||
return 'proxmox_'
|
||||
elif option == 'want_facts':
|
||||
return True
|
||||
elif option == 'want_proxmox_nodes_ansible_host':
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
def get_option(opts):
|
||||
def fn(option):
|
||||
default = opts.get('default', False)
|
||||
return opts.get(option, default)
|
||||
return fn
|
||||
|
||||
|
||||
def test_populate(inventory, mocker):
|
||||
|
@ -563,12 +557,20 @@ def test_populate(inventory, mocker):
|
|||
inventory.facts_prefix = 'proxmox_'
|
||||
inventory.strict = False
|
||||
|
||||
opts = {
|
||||
'group_prefix': 'proxmox_',
|
||||
'facts_prefix': 'proxmox_',
|
||||
'want_facts': True,
|
||||
'want_proxmox_nodes_ansible_host': True,
|
||||
'qemu_extended_statuses': True
|
||||
}
|
||||
|
||||
# bypass authentication and API fetch calls
|
||||
inventory._get_auth = mocker.MagicMock(side_effect=get_auth)
|
||||
inventory._get_json = mocker.MagicMock(side_effect=get_json)
|
||||
inventory._get_vm_status = mocker.MagicMock(side_effect=get_vm_status)
|
||||
inventory._get_vm_snapshots = mocker.MagicMock(side_effect=get_vm_snapshots)
|
||||
inventory.get_option = mocker.MagicMock(side_effect=get_option)
|
||||
inventory.get_option = mocker.MagicMock(side_effect=get_option(opts))
|
||||
inventory._can_add_host = mocker.MagicMock(return_value=True)
|
||||
inventory._populate()
|
||||
|
||||
|
@ -610,3 +612,38 @@ def test_populate(inventory, mocker):
|
|||
|
||||
# check that offline node is in inventory
|
||||
assert inventory.inventory.get_host('testnode2')
|
||||
|
||||
# make sure that ['prelaunch', 'paused'] are in the group list
|
||||
for group in ['paused', 'prelaunch']:
|
||||
assert ('%sall_%s' % (inventory.group_prefix, group)) in inventory.inventory.groups
|
||||
|
||||
|
||||
def test_populate_missing_qemu_extended_groups(inventory, mocker):
|
||||
# module settings
|
||||
inventory.proxmox_user = 'root@pam'
|
||||
inventory.proxmox_password = 'password'
|
||||
inventory.proxmox_url = 'https://localhost:8006'
|
||||
inventory.group_prefix = 'proxmox_'
|
||||
inventory.facts_prefix = 'proxmox_'
|
||||
inventory.strict = False
|
||||
|
||||
opts = {
|
||||
'group_prefix': 'proxmox_',
|
||||
'facts_prefix': 'proxmox_',
|
||||
'want_facts': True,
|
||||
'want_proxmox_nodes_ansible_host': True,
|
||||
'qemu_extended_statuses': False
|
||||
}
|
||||
|
||||
# bypass authentication and API fetch calls
|
||||
inventory._get_auth = mocker.MagicMock(side_effect=get_auth)
|
||||
inventory._get_json = mocker.MagicMock(side_effect=get_json)
|
||||
inventory._get_vm_status = mocker.MagicMock(side_effect=get_vm_status)
|
||||
inventory._get_vm_snapshots = mocker.MagicMock(side_effect=get_vm_snapshots)
|
||||
inventory.get_option = mocker.MagicMock(side_effect=get_option(opts))
|
||||
inventory._can_add_host = mocker.MagicMock(return_value=True)
|
||||
inventory._populate()
|
||||
|
||||
# make sure that ['prelaunch', 'paused'] are not in the group list
|
||||
for group in ['paused', 'prelaunch']:
|
||||
assert ('%sall_%s' % (inventory.group_prefix, group)) not in inventory.inventory.groups
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue