diff --git a/libra/admin_api/stats/drivers/database/driver.py b/libra/admin_api/stats/drivers/database/driver.py index f6c2e0fd..24bfca7d 100644 --- a/libra/admin_api/stats/drivers/database/driver.py +++ b/libra/admin_api/stats/drivers/database/driver.py @@ -111,7 +111,8 @@ class DbDriver(AlertDriver): new_device = session.query(Device).\ filter(Device.id == new_device_id).first() vip = session.query(Vip).filter(Vip.device == device_id).first() - vip.device = new_device_id + if vip: + vip.device = new_device_id device = session.query(Device).\ filter(Device.id == device_id).first() device.status = 'DELETED' @@ -120,12 +121,13 @@ class DbDriver(AlertDriver): filter(Device.id == new_device_id).all() for lb in lbs: lb.errmsg = "Load Balancer rebuild on new device" - LOG.info( - "Moving IP {0} and marking device {1} for deletion" - .format(str(ipaddress.IPv4Address(vip.ip)), device_id) - ) - submit_vip_job( - 'ASSIGN', new_device_name, vip.id - ) + if vip: + LOG.info( + "Moving IP {0} and marking device {1} for deletion" + .format(str(ipaddress.IPv4Address(vip.ip)), device_id) + ) + submit_vip_job( + 'ASSIGN', new_device_name, vip.id + ) new_device.status = 'ONLINE' session.commit()