1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

addons: address: purge ifalias when no alias keyword is provided

Ticket: CM-13044
Reviewed By: Roopa, Nikhil G, Daniel W,
Testing Done:

For some reason we can't simply write into a file when we want to purge the
ifalias, we have to exec a command. I wasn't able to make it work in any
other way.

add an alias to an interface, ifreload, ip link show interface
modify it, ifreload, ip link show interface
remove it, ifreload, ip link show interface

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
This commit is contained in:
Julien Fortin
2016-12-27 17:03:19 +01:00
parent e3089aa898
commit 3fc3c01ba6
2 changed files with 13 additions and 5 deletions

View File

@@ -446,6 +446,14 @@ class address(moduleBase):
def _up(self, ifaceobj, ifaceobj_getfunc=None):
if not self.ipcmd.link_exists(ifaceobj.name):
return
alias = ifaceobj.get_attr_value_first('alias')
current_alias = self.ipcmd.link_get_alias(ifaceobj.name)
if alias and alias != current_alias:
self.ipcmd.link_set_alias(ifaceobj.name, alias)
elif not alias and current_alias:
self.ipcmd.link_set_alias(ifaceobj.name, '')
addr_method = ifaceobj.addr_method
force_reapply = False
try:
@@ -472,9 +480,6 @@ class address(moduleBase):
force_reapply)
self._process_mtu_config(ifaceobj, ifaceobj_getfunc)
alias = ifaceobj.get_attr_value_first('alias')
if alias:
self.ipcmd.link_set_alias(ifaceobj.name, alias)
try:
self.ipcmd.batch_commit()
except Exception as e:

View File

@@ -477,8 +477,11 @@ class iproute2(utilsBase):
self._cache_update([ifacename, 'mtu'], mtu)
def link_set_alias(self, ifacename, alias):
utils.exec_commandl(['ip', 'link', 'set', 'dev', ifacename,
'alias', alias])
if not alias:
utils.exec_user_command('echo "" > /sys/class/net/%s/ifalias'
% ifacename)
else:
self.write_file('/sys/class/net/%s/ifalias' % ifacename, alias)
def link_get_alias(self, ifacename):
return self.read_file_oneline('/sys/class/net/%s/ifalias'