diff options
-rwxr-xr-x | bin/vmdebootstrap | 2 | ||||
-rw-r--r-- | vmdebootstrap/base.py | 11 |
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]) |