def update_device_down(self, rpc_context, **kwargs): """Device no longer exists on agent""" # (TODO) garyk - live migration and port status agent_id = kwargs.get("agent_id") device = kwargs.get("device") LOG.debug("Device %s no longer exists on %s", device, agent_id) port = rgos_db.get_port(device) if port: entry = {"device": device, "exists": True} # Set port status to DOWN rgos_db.set_port_status(port["id"], q_const.PORT_STATUS_DOWN) else: entry = {"device": device, "exists": False} LOG.debug("%s can not be found in database", device) return entry
def get_device_details(self, rpc_context, **kwargs): """Agent requests device details""" agent_id = kwargs.get("agent_id") device = kwargs.get("device") LOG.debug("Device %s details requested from %s", device, agent_id) port = rgos_db.get_port(device) if port: binding = rgos_vlanmgr.get_network_binding(None, port["network_id"]) entry = { "device": device, "network_id": port["network_id"], "port_id": port["id"], "admin_state_up": port["admin_state_up"], "network_type": binding.network_type, "segmentation_id": binding.segmentation_id, "physical_network": binding.physical_network, } # Set the port status to UP rgos_db.set_port_status(port["id"], q_const.PORT_STATUS_ACTIVE) else: entry = {"device": device} LOG.debug("%s can not be found in database", device) return entry