summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/vmdebootstrap2
-rw-r--r--vmdebootstrap/base.py11
2 files changed, 13 insertions, 0 deletions
diff --git a/bin/vmdebootstrap b/bin/vmdebootstrap
index c2885a4..b5f60ef 100755
--- a/bin/vmdebootstrap
+++ b/bin/vmdebootstrap
@@ -526,6 +526,8 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth
eth.write('\n')
eth.write('auto eth0\n')
eth.write('iface eth0 inet dhcp\n')
+ # force predictable interface names
+ base.mask_udev_predictable_rules(rootdir)
def cleanup_system(self):
base = self.handlers[Base.name]
diff --git a/vmdebootstrap/base.py b/vmdebootstrap/base.py
index df21a23..148a0e7 100644
--- a/vmdebootstrap/base.py
+++ b/vmdebootstrap/base.py
@@ -194,3 +194,14 @@ class Base(object):
if self.settings['kernel-package']:
packages.append(self.settings['kernel-package'])
return packages
+
+ def mask_udev_predictable_rules(self, rootdir):
+ """
+ This can be reset later but to get networking using immediately
+ on boot, the interface we're going to use must be kno
+ http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
+ """
+ self.message('Disabling systemd predictable interface names')
+ udev_path = os.path.join(
+ 'etc', 'udev', 'rules.d', '80-net-setup-link.rules')
+ runcmd(['chroot', rootdir, 'ln', '-s', '/dev/null', udev_path])