def _after_unplug(self, instance, network, mapping, pif): client = VIFINFOClient(FLAGS.quantum_connection_host, FLAGS.quantum_connection_port) try: client.delete_vifinfo(mapping['vif_uuid']) except (exception.NovaException, exc.HTTPNotFound, exc.HTTPInternalServerError), e: LOG.warn("client.delete_vifinfo(%s) is failed. (ignored): %s", mapping['vif_uuid'], e)
def _after_plug(self, instance, network, mapping, pif): client = VIFINFOClient(FLAGS.quantum_connection_host, FLAGS.quantum_connection_port) vi = client.show_vifinfo(mapping['vif_uuid']) if not vi: client.create_vifinfo(mapping['vif_uuid'], pif['datapath_id'], pif['port_no']) else: LOG.debug('vifinfo: %s', vi) LOG.debug('pif: %s', pif.__dict__) vi = vi.get('vifinfo', {}) ofsport = vi.get('ofs_port', {}) dpid = ofsport.get('datapath_id') port_no = ofsport.get('port_no') if dpid != pif['datapath_id'] or int(port_no) != pif['port_no']: raise exception.NovaException("vif_uuid %s exists" % mapping['vif_uuid'])