Example #1
0
 def update_device_down(self, rpc_context, **kwargs):
     """Device no longer exists on agent."""
     agent_id = kwargs.get('agent_id')
     device = kwargs.get('device')
     host = kwargs.get('host')
     port = ovs_db_v2.get_port(device)
     LOG.debug(_("Device %(device)s no longer exists on %(agent_id)s"),
               {'device': device, 'agent_id': agent_id})
     if port:
         entry = {'device': device,
                  'exists': True}
         plugin = manager.NeutronManager.get_plugin()
         if (host and
             not plugin.get_port_host(rpc_context, port['id']) == host):
             LOG.debug(_("Device %(device)s not bound to the"
                         " agent host %(host)s"),
                       {'device': device, 'host': host})
         elif port['status'] != q_const.PORT_STATUS_DOWN:
             # Set port status to DOWN
             ovs_db_v2.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
Example #2
0
 def update_device_up(self, rpc_context, **kwargs):
     """Device is up on agent."""
     agent_id = kwargs.get('agent_id')
     device = kwargs.get('device')
     host = kwargs.get('host')
     port = ovs_db_v2.get_port(device)
     LOG.debug(_("Device %(device)s up on %(agent_id)s"), {
         'device': device,
         'agent_id': agent_id
     })
     plugin = manager.NeutronManager.get_plugin()
     if port:
         if (host and
                 not plugin.get_port_host(rpc_context, port['id']) == host):
             LOG.debug(
                 _("Device %(device)s not bound to the"
                   " agent host %(host)s"), {
                       'device': device,
                       'host': host
                   })
             return
         elif port['status'] != q_const.PORT_STATUS_ACTIVE:
             ovs_db_v2.set_port_status(port['id'],
                                       q_const.PORT_STATUS_ACTIVE)
     else:
         LOG.debug(_("%s can not be found in database"), device)
Example #3
0
 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 %(device)s details requested from %(agent_id)s"), {
         'device': device,
         'agent_id': agent_id
     })
     port = ovs_db_v2.get_port(device)
     if port:
         binding = ovs_db_v2.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
         }
         new_status = (q_const.PORT_STATUS_ACTIVE if port['admin_state_up']
                       else q_const.PORT_STATUS_DOWN)
         if port['status'] != new_status:
             ovs_db_v2.set_port_status(port['id'], new_status)
     else:
         entry = {'device': device}
         LOG.debug(_("%s can not be found in database"), device)
     return entry
Example #4
0
 def update_device_up(self, rpc_context, **kwargs):
     """Device is up on agent."""
     agent_id = kwargs.get('agent_id')
     device = kwargs.get('device')
     LOG.debug(_("Device %(device)s up on %(agent_id)s"),
               {'device': device, 'agent_id': agent_id})
     port = ovs_db_v2.get_port(device)
     if port:
         if port['status'] != q_const.PORT_STATUS_ACTIVE:
             ovs_db_v2.set_port_status(port['id'],
                                       q_const.PORT_STATUS_ACTIVE)
     else:
         LOG.debug(_("%s can not be found in database"), device)
Example #5
0
 def update_device_up(self, rpc_context, **kwargs):
     """Device is up on agent."""
     agent_id = kwargs.get('agent_id')
     device = kwargs.get('device')
     LOG.debug(_("Device %(device)s up on %(agent_id)s"),
               {'device': device, 'agent_id': agent_id})
     port = ovs_db_v2.get_port(device)
     if port:
         if port['status'] != q_const.PORT_STATUS_ACTIVE:
             ovs_db_v2.set_port_status(port['id'],
                                       q_const.PORT_STATUS_ACTIVE)
     else:
         LOG.debug(_("%s can not be found in database"), device)
Example #6
0
 def update_device_up(self, rpc_context, **kwargs):
     """Device is up on agent."""
     agent_id = kwargs.get("agent_id")
     device = kwargs.get("device")
     host = kwargs.get("host")
     port = ovs_db_v2.get_port(device)
     LOG.debug(_("Device %(device)s up on %(agent_id)s"), {"device": device, "agent_id": agent_id})
     plugin = manager.NeutronManager.get_plugin()
     if port:
         if host and not plugin.get_port_host(rpc_context, port["id"]) == host:
             LOG.debug(
                 _("Device %(device)s not bound to the" " agent host %(host)s"), {"device": device, "host": host}
             )
             return
         elif port["status"] != q_const.PORT_STATUS_ACTIVE:
             ovs_db_v2.set_port_status(port["id"], q_const.PORT_STATUS_ACTIVE)
     else:
         LOG.debug(_("%s can not be found in database"), device)
Example #7
0
 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 %(device)s no longer exists on %(agent_id)s"), {
         'device': device,
         'agent_id': agent_id
     })
     port = ovs_db_v2.get_port(device)
     if port:
         entry = {'device': device, 'exists': True}
         if port['status'] != q_const.PORT_STATUS_DOWN:
             # Set port status to DOWN
             ovs_db_v2.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
Example #8
0
 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 %(device)s no longer exists on %(agent_id)s"),
               {'device': device, 'agent_id': agent_id})
     port = ovs_db_v2.get_port(device)
     if port:
         entry = {'device': device,
                  'exists': True}
         if port['status'] != q_const.PORT_STATUS_DOWN:
             # Set port status to DOWN
             ovs_db_v2.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
Example #9
0
 def update_device_up(self, rpc_context, **kwargs):
     """Device is up on agent."""
     agent_id = kwargs.get('agent_id')
     device = kwargs.get('device')
     host = kwargs.get('host')
     port = ovs_db_v2.get_port(device)
     LOG.debug(_("Device %(device)s up on %(agent_id)s"),
               {'device': device, 'agent_id': agent_id})
     plugin = manager.NeutronManager.get_plugin()
     if port:
         if (host and
             not plugin.get_port_host(rpc_context, port['id']) == host):
             LOG.debug(_("Device %(device)s not bound to the"
                         " agent host %(host)s"),
                       {'device': device, 'host': host})
             return
         elif port['status'] != q_const.PORT_STATUS_ACTIVE:
             ovs_db_v2.set_port_status(port['id'],
                                       q_const.PORT_STATUS_ACTIVE)
     else:
         LOG.debug(_("%s can not be found in database"), device)
Example #10
0
 def update_device_down(self, rpc_context, **kwargs):
     """Device no longer exists on agent."""
     agent_id = kwargs.get("agent_id")
     device = kwargs.get("device")
     host = kwargs.get("host")
     port = ovs_db_v2.get_port(device)
     LOG.debug(_("Device %(device)s no longer exists on %(agent_id)s"), {"device": device, "agent_id": agent_id})
     if port:
         entry = {"device": device, "exists": True}
         plugin = manager.NeutronManager.get_plugin()
         if host and not plugin.get_port_host(rpc_context, port["id"]) == host:
             LOG.debug(
                 _("Device %(device)s not bound to the" " agent host %(host)s"), {"device": device, "host": host}
             )
         elif port["status"] != q_const.PORT_STATUS_DOWN:
             # Set port status to DOWN
             ovs_db_v2.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
Example #11
0
 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 %(device)s details requested from %(agent_id)s"),
               {'device': device, 'agent_id': agent_id})
     port = ovs_db_v2.get_port(device)
     if port:
         binding = ovs_db_v2.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}
         new_status = (q_const.PORT_STATUS_ACTIVE if port['admin_state_up']
                       else q_const.PORT_STATUS_DOWN)
         if port['status'] != new_status:
             ovs_db_v2.set_port_status(port['id'], new_status)
     else:
         entry = {'device': device}
         LOG.debug(_("%s can not be found in database"), device)
     return entry
Example #12
0
 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 %(device)s details requested from %(agent_id)s"), {"device": device, "agent_id": agent_id})
     port = ovs_db_v2.get_port(device)
     if port:
         binding = ovs_db_v2.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,
         }
         new_status = q_const.PORT_STATUS_ACTIVE if port["admin_state_up"] else q_const.PORT_STATUS_DOWN
         if port["status"] != new_status:
             ovs_db_v2.set_port_status(port["id"], new_status)
     else:
         entry = {"device": device}
         LOG.debug(_("%s can not be found in database"), device)
     return entry