summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Scrivano <gscrivan@redhat.com>2014-03-10 15:25:14 +0100
committerGiuseppe Scrivano <gscrivan@redhat.com>2014-03-10 15:48:42 +0100
commit75349b9cf075b229c027ef1fcabeb5ebac981cc8 (patch)
treed3218aa201e2ea563f439929955ce2094afd9b62
parent081e34715ffa5a210e1e0c8670fe3a1a3ec5180b (diff)
downloadvirt-manager-75349b9cf075b229c027ef1fcabeb5ebac981cc8.tar.gz
lxc: define a private network for OS containers
By default, specify the the "<privnet>" feature with LXC operating system containers. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1040406 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
-rw-r--r--tests/cli-test-xml/compare/virt-install-fs-default.xml3
-rw-r--r--virtinst/guest.py18
2 files changed, 16 insertions, 5 deletions
diff --git a/tests/cli-test-xml/compare/virt-install-fs-default.xml b/tests/cli-test-xml/compare/virt-install-fs-default.xml
index e46a463a..1f7b6458 100644
--- a/tests/cli-test-xml/compare/virt-install-fs-default.xml
+++ b/tests/cli-test-xml/compare/virt-install-fs-default.xml
@@ -8,6 +8,9 @@
<type arch="x86_64">exe</type>
<init>/sbin/init</init>
</os>
+ <features>
+ <privnet/>
+ </features>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
diff --git a/virtinst/guest.py b/virtinst/guest.py
index 9f8ead5b..c7af16f9 100644
--- a/virtinst/guest.py
+++ b/virtinst/guest.py
@@ -1,7 +1,7 @@
#
# Common code for all guests
#
-# Copyright 2006-2009, 2013 Red Hat, Inc.
+# Copyright 2006-2009, 2013, 2014 Red Hat, Inc.
# Jeremy Katz <katzj@redhat.com>
#
# This program is free software; you can redistribute it and/or modify
@@ -647,12 +647,18 @@ class Guest(XMLBuilder):
self._set_video_defaults()
self._set_sound_defaults()
+ def _is_os_container(self):
+ if not self.os.is_container():
+ return False
+ for fs in self.get_devices("filesystem"):
+ if fs.target == "/":
+ return True
+ return False
+
def _set_osxml_defaults(self):
if self.os.is_container() and not self.os.init:
- for fs in self.get_devices("filesystem"):
- if fs.target == "/":
- self.os.init = "/sbin/init"
- break
+ if self._is_os_container():
+ self.os.init = "/sbin/init"
self.os.init = self.os.init or "/bin/sh"
if not self.os.loader and self.os.is_hvm() and self.type == "xen":
@@ -738,6 +744,8 @@ class Guest(XMLBuilder):
self.features.acpi = None
self.features.apic = None
self.features.pae = None
+ if self._is_os_container():
+ self.features.privnet = True
return
if not self.os.is_hvm():