diff options
author | Scott Moser <smoser@ubuntu.com> | 2011-07-19 15:42:52 -0400 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2011-07-19 15:42:52 -0400 |
commit | 20a0cf9bf34408706f34edee5e1e75fd9676774c (patch) | |
tree | dd5b94e6df9586e145ee5cca27ffddf8adc25aa5 /cloudinit/util.py | |
parent | e7899aa1f904cfe8daf8cf7652f3be6a7381d09c (diff) | |
download | vyos-cloud-init-20a0cf9bf34408706f34edee5e1e75fd9676774c.tar.gz vyos-cloud-init-20a0cf9bf34408706f34edee5e1e75fd9676774c.zip |
do not complain if attempt to resizefs in an lxc container fails
it is expected / understood that mknod would fail inside an lxc container.
So, if thats the case, just log a debug message saying so.
LP: #800856
Diffstat (limited to 'cloudinit/util.py')
-rw-r--r-- | cloudinit/util.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cloudinit/util.py b/cloudinit/util.py index 8f6a6b0d..ec37f2f7 100644 --- a/cloudinit/util.py +++ b/cloudinit/util.py @@ -395,3 +395,26 @@ def dos2unix(input): pos = input.find('\n') if pos <= 0 or input[pos-1] != '\r': return(input) return(input.replace('\r\n','\n')) + +def islxc(): + # is this host running lxc? + try: + with open("/proc/1/cgroup") as f: + if f.read() == "/": + return True + except IOError as e: + if e.errno != errno.ENOENT: + raise + + try: + # try to run a program named 'lxc-is-container'. if it returns true, then + # we're inside a container. otherwise, no + sp = subprocess.Popen(['lxc-is-container'], stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + out,err = sp.communicate(None) + return(sp.returncode == 0) + except OSError as e: + if e.errno != errno.ENOENT: + raise + + return False |