diff --git a/changelogs/fragments/47193-fix-gce-and-scaleway-vm-detection.yml b/changelogs/fragments/47193-fix-gce-and-scaleway-vm-detection.yml new file mode 100644 index 0000000000..01c3cde720 --- /dev/null +++ b/changelogs/fragments/47193-fix-gce-and-scaleway-vm-detection.yml @@ -0,0 +1,2 @@ +bugfixes: +- "facts - detect VMs from google cloud engine and scaleway" diff --git a/lib/ansible/module_utils/facts/virtual/linux.py b/lib/ansible/module_utils/facts/virtual/linux.py index 0ebfcc34f0..a8298ad2bd 100644 --- a/lib/ansible/module_utils/facts/virtual/linux.py +++ b/lib/ansible/module_utils/facts/virtual/linux.py @@ -152,6 +152,16 @@ class LinuxVirtual(Virtual): virtual_facts['virtualization_role'] = 'guest' return virtual_facts + if sys_vendor == 'Google': + virtual_facts['virtualization_type'] = 'kvm' + virtual_facts['virtualization_role'] = 'guest' + return virtual_facts + + if sys_vendor == 'Scaleway': + virtual_facts['virtualization_type'] = 'kvm' + virtual_facts['virtualization_role'] = 'guest' + return virtual_facts + if os.path.exists('/proc/self/status'): for line in get_file_lines('/proc/self/status'): if re.match(r'^VxID:\s+\d+', line):