updated container detection to new lxc (#17063)

fixes #17030
This commit is contained in:
Brian Coca 2016-08-15 09:15:01 -04:00 committed by GitHub
parent 8620fda947
commit 4c034fd002

View file

@ -2877,6 +2877,7 @@ class LinuxVirtual(Virtual):
# For more information, check: http://people.redhat.com/~rjones/virt-what/
def get_virtual_facts(self):
# old lxc/docker
if os.path.exists('/proc/1/cgroup'):
for line in get_file_lines('/proc/1/cgroup'):
if re.search(r'/docker(/|-[0-9a-f]+\.scope)', line):
@ -2888,6 +2889,14 @@ class LinuxVirtual(Virtual):
self.facts['virtualization_role'] = 'guest'
return
# newer lxc does not appear in cgroups anymore but sets 'container=lxc' environment var
if os.path.exists('/proc/1/environ'):
for line in get_file_lines('/proc/1/environ'):
if re.search('container=lxc', line):
self.facts['virtualization_type'] = 'lxc'
self.facts['virtualization_role'] = 'guest'
return
if os.path.exists('/proc/vz'):
self.facts['virtualization_type'] = 'openvz'
if os.path.exists('/proc/bc'):