aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'os_net_config/__init__.py')
-rw-r--r--os_net_config/__init__.py14
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')