Revision e7323b5e lib/backend.py
b/lib/backend.py | ||
---|---|---|
287 | 287 |
logging.error(msg) |
288 | 288 |
err_msgs.append(msg) |
289 | 289 |
else: |
290 |
result = utils.RunCmd(["ip", "address", "add", "%s/32" % master_ip, |
|
290 |
netmask = 32 |
|
291 |
if netutils.IP6Address.IsValid(master_ip): |
|
292 |
netmask = 128 |
|
293 |
|
|
294 |
result = utils.RunCmd(["ip", "address", "add", |
|
295 |
"%s/%d" % (master_ip, netmask), |
|
291 | 296 |
"dev", master_netdev, "label", |
292 | 297 |
"%s:0" % master_netdev]) |
293 | 298 |
if result.failed: |
... | ... | |
295 | 300 |
logging.error(msg) |
296 | 301 |
err_msgs.append(msg) |
297 | 302 |
|
298 |
result = utils.RunCmd(["arping", "-q", "-U", "-c 3", "-I", master_netdev, |
|
299 |
"-s", master_ip, master_ip]) |
|
300 |
# we'll ignore the exit code of arping |
|
303 |
# we ignore the exit code of the following cmds |
|
304 |
if netutils.IP4Address.IsValid(master_ip): |
|
305 |
utils.RunCmd(["arping", "-q", "-U", "-c 3", "-I", master_netdev, "-s", |
|
306 |
master_ip, master_ip]) |
|
307 |
elif netutils.IP6Address.IsValid(master_ip): |
|
308 |
utils.RunCmd(["ndisc6", "-q", "-r 3", master_ip, master_netdev]) |
|
301 | 309 |
|
302 | 310 |
if err_msgs: |
303 | 311 |
_Fail("; ".join(err_msgs)) |
... | ... | |
322 | 330 |
# GetMasterInfo will raise an exception if not able to return data |
323 | 331 |
master_netdev, master_ip, _ = GetMasterInfo() |
324 | 332 |
|
325 |
result = utils.RunCmd(["ip", "address", "del", "%s/32" % master_ip, |
|
333 |
netmask = 32 |
|
334 |
if netutils.IP6Address.IsValid(master_ip): |
|
335 |
netmask = 128 |
|
336 |
|
|
337 |
result = utils.RunCmd(["ip", "address", "del", |
|
338 |
"%s/%d" % (master_ip, netmask), |
|
326 | 339 |
"dev", master_netdev]) |
327 | 340 |
if result.failed: |
328 | 341 |
logging.error("Can't remove the master IP, error: %s", result.output) |
Also available in: Unified diff