diff options
Diffstat (limited to 'os_net_config/__init__.py')
-rw-r--r-- | os_net_config/__init__.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/os_net_config/__init__.py b/os_net_config/__init__.py index 5e1d091..e1bee26 100644 --- a/os_net_config/__init__.py +++ b/os_net_config/__init__.py @@ -125,3 +125,17 @@ class NetConfig(object): def ifup(self, interface, iftype='interface'): msg = 'running ifup on %s: %s' % (iftype, interface) self.execute(msg, '/sbin/ifup', interface) + + def ifrename(self, oldname, newname): + msg = 'renaming %s to %s: ' % (oldname, newname) + # ifdown isn't enough when renaming, we need the link down + for name in (oldname, newname): + if utils._is_active_nic(name): + self.execute(msg, '/sbin/ip', + 'link', 'set', 'dev', name, 'down') + self.execute(msg, '/sbin/ip', + 'link', 'set', 'dev', name, 'link', 'down') + self.execute(msg, '/sbin/ip', + 'link', 'set', 'dev', oldname, 'name', newname) + self.execute(msg, '/sbin/ip', + 'link', 'set', 'dev', newname, 'up') |