summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordgeo <dgeo@users.noreply.github.com>2019-10-15 01:01:27 +0200
committerToshio Kuratomi <a.badger@gmail.com>2019-10-14 16:01:27 -0700
commit37bf2b4d79330c2ad34f82fb95388a65cca1d1cd (patch)
tree10f54246b8f50f9afdfcb7b01019ff916decbaab
parent4b1ed4a5d4d36f5da7df04563dc095c7c3c9d234 (diff)
downloadansible-37bf2b4d79330c2ad34f82fb95388a65cca1d1cd.tar.gz
[backport 2.9] facts: detect FreeBSD jails guest (#62857) (#62913)
* facts: detect FreeBSD jails guest (#62857) * facts: detect FreeBSD jails * PEP8 fix * changelog for pr62913
-rw-r--r--changelogs/fragments/62857-detect-freebsd-jails.yaml2
-rw-r--r--lib/ansible/module_utils/facts/virtual/freebsd.py3
-rw-r--r--lib/ansible/module_utils/facts/virtual/sysctl.py3
3 files changed, 7 insertions, 1 deletions
diff --git a/changelogs/fragments/62857-detect-freebsd-jails.yaml b/changelogs/fragments/62857-detect-freebsd-jails.yaml
new file mode 100644
index 0000000000..e7b48b5235
--- /dev/null
+++ b/changelogs/fragments/62857-detect-freebsd-jails.yaml
@@ -0,0 +1,2 @@
+bugfixes:
+ - facts/virtual #62857 detect FreeBSD jails guest
diff --git a/lib/ansible/module_utils/facts/virtual/freebsd.py b/lib/ansible/module_utils/facts/virtual/freebsd.py
index 47360aa6cc..cfaf880ee8 100644
--- a/lib/ansible/module_utils/facts/virtual/freebsd.py
+++ b/lib/ansible/module_utils/facts/virtual/freebsd.py
@@ -41,7 +41,8 @@ class FreeBSDVirtual(Virtual, VirtualSysctlDetectionMixin):
virtual_facts['virtualization_role'] = 'guest'
if virtual_facts['virtualization_type'] == '':
- virtual_product_facts = self.detect_virt_product('kern.vm_guest') or self.detect_virt_product('hw.hv_vendor')
+ virtual_product_facts = self.detect_virt_product('kern.vm_guest') or self.detect_virt_product(
+ 'hw.hv_vendor') or self.detect_virt_product('security.jail.jailed')
virtual_facts.update(virtual_product_facts)
if virtual_facts['virtualization_type'] == '':
diff --git a/lib/ansible/module_utils/facts/virtual/sysctl.py b/lib/ansible/module_utils/facts/virtual/sysctl.py
index b1583949fe..1c4a02071d 100644
--- a/lib/ansible/module_utils/facts/virtual/sysctl.py
+++ b/lib/ansible/module_utils/facts/virtual/sysctl.py
@@ -48,6 +48,9 @@ class VirtualSysctlDetectionMixin(object):
elif out.rstrip() == 'RHEV Hypervisor':
virtual_product_facts['virtualization_type'] = 'RHEV'
virtual_product_facts['virtualization_role'] = 'guest'
+ elif (key == 'security.jail.jailed') and (out.rstrip() == '1'):
+ virtual_product_facts['virtualization_type'] = 'jails'
+ virtual_product_facts['virtualization_role'] = 'guest'
return virtual_product_facts