From a90e37d0174225dce1e5ac9bbd2fccac925cc075 Mon Sep 17 00:00:00 2001 From: Rick Elrod Date: Tue, 6 Oct 2020 10:22:22 -0500 Subject: [PATCH] [virt facts] identify KubeVirt properly (#72092) Change: - Make KubeVirt be identified as such, and with a guest role. - This is a breaking change, since playbooks could be relying on the incorrect behavior previously. Test Plan: - Issue author Tickets: - Fixes #72001 Signed-off-by: Rick Elrod --- changelogs/fragments/kubevirt-virt-fact.yml | 2 ++ lib/ansible/module_utils/facts/virtual/linux.py | 6 ++++++ 2 files changed, 8 insertions(+) create mode 100644 changelogs/fragments/kubevirt-virt-fact.yml diff --git a/changelogs/fragments/kubevirt-virt-fact.yml b/changelogs/fragments/kubevirt-virt-fact.yml new file mode 100644 index 00000000000..6e11680dbca --- /dev/null +++ b/changelogs/fragments/kubevirt-virt-fact.yml @@ -0,0 +1,2 @@ +bugfixes: + - virtual facts - kubevirt is now identified as "KubeVirt" and with a "guest" role instead of "kvm" and "host" role (https://github.com/ansible/ansible/issues/72001). diff --git a/lib/ansible/module_utils/facts/virtual/linux.py b/lib/ansible/module_utils/facts/virtual/linux.py index 90a393d6383..f44c293c6c7 100644 --- a/lib/ansible/module_utils/facts/virtual/linux.py +++ b/lib/ansible/module_utils/facts/virtual/linux.py @@ -187,6 +187,12 @@ class LinuxVirtual(Virtual): virtual_facts['virtualization_type'] = 'kvm' found_virt = True + if sys_vendor == 'KubeVirt': + guest_tech.add('KubeVirt') + if not found_virt: + virtual_facts['virtualization_type'] = 'KubeVirt' + found_virt = True + # FIXME: This does also match hyperv if sys_vendor == 'Microsoft Corporation': guest_tech.add('VirtualPC')