Don't raise error when removing not existing IP address
When privileged delete_ip_address function is called to delete
IP address which is already not configured on device, it should
not fail with any error.
Conflicts:
neutron/tests/functional/agent/linux/test_ip_lib.py
Change-Id: I9247ac899a76e5d9a2962d2cb81279f2d6f16c0b
Closes-Bug: #1757259
(cherry picked from commit bbe1bac3f7
)
This commit is contained in:
parent
3f7ff45e73
commit
68d6a58dd1
|
@ -139,12 +139,21 @@ def add_ip_address(ip_version, ip, prefixlen, device, namespace, scope,
|
|||
@privileged.default.entrypoint
|
||||
def delete_ip_address(ip_version, ip, prefixlen, device, namespace):
|
||||
family = _IP_VERSION_FAMILY_MAP[ip_version]
|
||||
_run_iproute_addr("delete",
|
||||
device,
|
||||
namespace,
|
||||
address=ip,
|
||||
mask=prefixlen,
|
||||
family=family)
|
||||
try:
|
||||
_run_iproute_addr("delete",
|
||||
device,
|
||||
namespace,
|
||||
address=ip,
|
||||
mask=prefixlen,
|
||||
family=family)
|
||||
except NetlinkError as e:
|
||||
# when trying to delete a non-existent IP address, pyroute2 raises
|
||||
# NetlinkError with code EADDRNOTAVAIL (99, 'Cannot assign requested
|
||||
# address')
|
||||
# this shouldn't raise an error
|
||||
if e.code == errno.EADDRNOTAVAIL:
|
||||
return
|
||||
raise
|
||||
|
||||
|
||||
@privileged.default.entrypoint
|
||||
|
|
Loading…
Reference in New Issue