[stable-2.10] facts - properly report virtualization facts for Linux guests on bhyve (#73204). (#73233)
(cherry picked from commit df451636e7
)
Co-authored-by: Sam Doran <sdoran@redhat.com>
This commit is contained in:
parent
9478b59da5
commit
70fb5ae36a
4 changed files with 33 additions and 0 deletions
2
changelogs/fragments/73167-bhyve-facts.yml
Normal file
2
changelogs/fragments/73167-bhyve-facts.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- facts - properly report virtualization facts for Linux guests running on bhyve (https://github.com/ansible/ansible/issues/73167)
|
|
@ -238,6 +238,11 @@ class LinuxVirtual(Virtual):
|
||||||
virtual_facts['virtualization_role'] = 'guest'
|
virtual_facts['virtualization_role'] = 'guest'
|
||||||
return virtual_facts
|
return virtual_facts
|
||||||
|
|
||||||
|
if 'BHYVE' in out:
|
||||||
|
virtual_facts['virtualization_type'] = 'bhyve'
|
||||||
|
virtual_facts['virtualization_role'] = 'guest'
|
||||||
|
return virtual_facts
|
||||||
|
|
||||||
# If none of the above matches, return 'NA' for virtualization_type
|
# If none of the above matches, return 'NA' for virtualization_type
|
||||||
# and virtualization_role. This allows for proper grouping.
|
# and virtualization_role. This allows for proper grouping.
|
||||||
virtual_facts['virtualization_type'] = 'NA'
|
virtual_facts['virtualization_type'] = 'NA'
|
||||||
|
|
0
test/units/module_utils/facts/virtual/__init__.py
Normal file
0
test/units/module_utils/facts/virtual/__init__.py
Normal file
26
test/units/module_utils/facts/virtual/test_linux.py
Normal file
26
test/units/module_utils/facts/virtual/test_linux.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Copyright (c) 2020 Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
from __future__ import absolute_import, division, print_function
|
||||||
|
__metaclass__ = type
|
||||||
|
|
||||||
|
from ansible.module_utils.facts.virtual import linux
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_virtual_facts_bhyve(mocker):
|
||||||
|
mocker.patch('os.path.exists', return_value=False)
|
||||||
|
mocker.patch('ansible.module_utils.facts.virtual.linux.get_file_content', return_value='')
|
||||||
|
mocker.patch('ansible.module_utils.facts.virtual.linux.get_file_lines', return_value=[])
|
||||||
|
|
||||||
|
module = mocker.Mock()
|
||||||
|
module.run_command.return_value = (0, 'BHYVE\n', '')
|
||||||
|
inst = linux.LinuxVirtual(module)
|
||||||
|
|
||||||
|
facts = inst.get_virtual_facts()
|
||||||
|
expected = {
|
||||||
|
'virtualization_role': 'guest',
|
||||||
|
'virtualization_type': 'bhyve',
|
||||||
|
}
|
||||||
|
|
||||||
|
assert facts == expected
|
Loading…
Reference in a new issue