Example #1
0
    def delete(self, event_type, payload, timestamp):
        # notification payload doesn't have any date/time fields
        # so temporarily use metadata timestamp value as
        # updated_at field to retrieve version
        # Remove it when notification starts sending datetime field(s)
        payload['updated_at'] = timestamp
        version = self.get_version(payload, timestamp,
                                   preferred_date_field='deleted_at')
        del payload['updated_at']

        id = payload['account'] + swift.ID_SEP + \
            payload['container'] + swift.ID_SEP + \
            payload['object']
        try:
            self.index_helper.delete_document(
                {'_id': id, '_version': version,
                 '_routing': payload['account']})
            return pipeline.DeleteItem(
                self.index_helper.plugin,
                event_type,
                payload,
                id
            )
        except Exception as exc:
            LOG.error('Error deleting object %(id)s '
                      'from index. Error: %(exc)s' %
                      {'id': id, 'exc': exc})
 def delete_recordset(self, event_type, payload, timestamp):
     version = self.get_version(payload, timestamp,
                                preferred_date_field='deleted_at')
     self.index_helper.delete_document(
         {'_id': payload['id'], '_version': version,
          '_parent': payload['zone_id']})
     return pipeline.DeleteItem(self.index_helper.plugin,
                                event_type,
                                payload,
                                payload['id'])
 def delete(self, event_type, payload, port_id):
     LOG.debug("Deleting port information for %s; finding routing", port_id)
     try:
         self.index_helper.delete_document_unknown_parent(port_id)
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, port_id)
     except Exception as exc:
         LOG.error('Error deleting port %(port_id)s '
                   'from index. Error: %(exc)s' % {
                       'port_id': port_id,
                       'exc': exc
                   })
    def node_delete(self, event_type, payload, timestamp):
        node_id = payload['uuid']
        LOG.debug("Deleting node %s", node_id)

        try:
            ports = self.port_helper.delete_documents_with_parent(node_id)
            deleted = [
                pipeline.DeleteItem(self.port_helper.plugin, event_type,
                                    payload, port['_id']) for port in ports
            ]
            self.index_helper.delete_document({'_id': node_id})
            deleted.append(
                pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, node_id))
            return deleted
        except Exception as exc:
            LOG.error('Error deleting node %(node_id)s '
                      'from index. Error: %(exc)s' % {
                          'node_id': node_id,
                          'exc': exc
                      })
 def delete(self, event_type, payload, timestamp):
     router_id = payload['router_id']
     LOG.debug("Deleting router information for %s", router_id)
     try:
         self.index_helper.delete_document({'_id': router_id})
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, router_id)
     except Exception as exc:
         LOG.error('Error deleting router %(router)s '
                   'from index: %(exc)s' % {
                       'router': router_id,
                       'exc': exc
                   })
 def delete(self, event_type, payload, timestamp):
     fip_id = payload['floatingip_id']
     LOG.debug("Deleting floatingip information for %s", fip_id)
     try:
         self.index_helper.delete_document({'_id': fip_id})
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, fip_id)
     except Exception as exc:
         LOG.error('Error deleting floating ip %(fip)s '
                   'from index: %(exc)s' % {
                       'fip': fip_id,
                       'exc': exc
                   })
 def delete_group(self, event_type, payload, timestamp):
     sec_id = payload['security_group_id']
     LOG.debug("Deleting security group information for %s", sec_id)
     try:
         self.index_helper.delete_document({'_id': sec_id})
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, sec_id)
     except Exception as exc:
         LOG.error(
             'Error deleting security_group %(sec_id)s. Error: %(exc)s' % {
                 'sec_id': sec_id,
                 'exc': exc
             })
 def chassis_delete(self, event_type, payload, timestamp):
     chassis_id = payload['uuid']
     LOG.debug("Deleting chassis %s", chassis_id)
     try:
         self.index_helper.delete_document({'_id': chassis_id})
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, chassis_id)
     except Exception as exc:
         LOG.error('Error deleting chassis %(chassis_id)s '
                   'from index. Error: %(exc)s' % {
                       'chassis_id': chassis_id,
                       'exc': exc
                   })
 def port_delete(self, event_type, payload, timestamp):
     port_id = payload['uuid']
     LOG.debug("Deleting port %s", port_id)
     try:
         self.index_helper.delete_document_unknown_parent(port_id)
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, port_id)
     except Exception as exc:
         LOG.error('Error deleting port %(port_id)s '
                   'from index. Error: %(exc)s' % {
                       'port_id': port_id,
                       'exc': exc
                   })
 def delete(self, event_type, payload, timestamp):
     subnet_id = payload['subnet_id']
     LOG.debug("Deleting subnet information for %s; finding routing",
               subnet_id)
     try:
         self.index_helper.delete_document_unknown_parent(subnet_id)
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, subnet_id)
     except Exception as exc:
         LOG.error('Error deleting subnet %(subnet_id)s '
                   'from index: %(exc)s' % {
                       'subnet_id': subnet_id,
                       'exc': exc
                   })
    def delete(self, event_type, payload, timestamp):
        zone_id = payload['id']
        version = self.get_version(payload,
                                   timestamp,
                                   preferred_date_field='deleted_at')
        delete_recordset = self.recordset_helper.delete_documents_with_parent(
            zone_id, version=version)
        items = [
            pipeline.DeleteItem(self.recordset_helper.plugin, event_type,
                                payload, rs['_id']) for rs in delete_recordset
        ]

        try:
            self.index_helper.delete_document({
                '_id': zone_id,
                '_version': version
            })
            items.append(
                pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, zone_id))
        except exceptions.NotFoundError:
            msg = "Zone %s not found when deleting"
            LOG.error(msg, zone_id)
        return items
Example #12
0
    def delete(self, event_type, payload, timestamp):
        flavor = payload['nova_object.data']
        flavor_id = flavor['flavorid']
        LOG.debug("Deleting nova flavor information for %s", flavor_id)

        try:
            self.index_helper.delete_document({'_id': flavor_id})
            return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                       payload, flavor_id)
        except Exception as exc:
            LOG.error('Error deleting flavor %(flavor_id)s '
                      'from index: %(exc)s' % {
                          'flavor_id': flavor_id,
                          'exc': exc
                      })
 def delete(self, event_type, payload, timestamp):
     network_id = payload['network_id']
     LOG.debug("Deleting network information for %s", network_id)
     try:
         # Note that it's not necessary to delete ports; neutron will not
         # allow deletion of a network that has ports assigned on it
         self.index_helper.delete_document({'_id': network_id})
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, network_id)
     except Exception as exc:
         LOG.error('Error deleting network %(network_id)s '
                   'from index. Error: %(exc)s' % {
                       'network_id': network_id,
                       'exc': exc
                   })
Example #14
0
 def delete(self, event_type, payload, timestamp):
     version = self.get_version(payload, timestamp,
                                preferred_date_field='deleted_at')
     id = payload['account']
     try:
         self.index_helper.delete_document(
             {'_id': id, '_version': version,
              '_routing': payload['account']})
         return pipeline.DeleteItem(self.index_helper.plugin,
                                    event_type,
                                    payload,
                                    id)
     except Exception as exc:
         LOG.error('Error deleting account %(id)s '
                   'from index. Error: %(exc)s' %
                   {'id': id, 'exc': exc})
Example #15
0
    def delete(self, event_type, payload, timestamp):
        volume_id = payload['volume_id']
        LOG.debug("Deleting cinder volume information for %s", volume_id)
        if not volume_id:
            return

        try:
            self.index_helper.delete_document({'_id': volume_id})
            return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                       payload, volume_id)
        except Exception as exc:
            LOG.error('Error deleting volume %(volume_id)s '
                      'from index. Error: %(exc)s' % {
                          'volume_id': volume_id,
                          'exc': exc
                      })
Example #16
0
    def delete(self, event_type, payload, timestamp):
        server_group_id = payload['server_group_id']
        LOG.debug("Deleting nova server group information for %s",
                  server_group_id)
        if not server_group_id:
            return

        try:
            self.index_helper.delete_document({'_id': server_group_id})
            return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                       payload, server_group_id)
        except Exception as exc:
            LOG.error('Error deleting server group %(server_group_id)s '
                      'from index: %(exc)s' % {
                          'server_group_id': server_group_id,
                          'exc': exc
                      })
 def delete(self, event_type, payload, timestamp):
     image_id = payload['id']
     try:
         version = self.get_version(payload,
                                    timestamp,
                                    preferred_date_field='deleted_at')
         self.index_helper.delete_document({
             '_id': image_id,
             '_version': version
         })
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, image_id)
     except Exception as exc:
         LOG.error('Error deleting image %(image_id)s from index: %(exc)s' %
                   {
                       'image_id': image_id,
                       'exc': exc
                   })
Example #18
0
    def delete(self, event_type, payload, timestamp):
        instance_id = payload['instance_id']
        LOG.debug("Deleting nova instance information for %s", instance_id)
        if not instance_id:
            return

        try:
            version = self.get_version(payload, timestamp,
                                       preferred_date_field='deleted_at')
            self.index_helper.delete_document(
                {'_id': instance_id, '_version': version})
            return pipeline.DeleteItem(self.index_helper.plugin,
                                       event_type,
                                       payload,
                                       instance_id
                                       )
        except Exception as exc:
            LOG.error(
                'Error deleting instance %(instance_id)s '
                'from index: %(exc)s' %
                {'instance_id': instance_id, 'exc': exc})
    def delete(self, event_type, payload, timestamp):
        snapshot_id = payload['snapshot_id']
        volume_id = payload['volume_id']
        LOG.debug("Deleting cinder snapshot information for %s", snapshot_id)
        if not snapshot_id:
            return

        try:
            self.index_helper.delete_document({
                '_id': snapshot_id,
                '_parent': volume_id
            })
            return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                       payload, snapshot_id)
        except Exception as exc:
            LOG.error(
                _LE('Error deleting snapshot %(snapshot_id)s '
                    'from index. Error: %(exc)s') % {
                        'snapshot_id': snapshot_id,
                        'exc': exc
                    })
Example #20
0
 def delete_from_versioned(self, event_type, payload, timestamp):
     payload = payload['nova_object.data']
     instance_id = payload['uuid']
     version = self.get_version(payload,
                                timestamp,
                                preferred_date_field='deleted_at')
     try:
         version = self.get_version(payload,
                                    timestamp,
                                    preferred_date_field='deleted_at')
         self.index_helper.delete_document({
             '_id': instance_id,
             '_version': version
         })
         return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                    payload, instance_id)
     except Exception as exc:
         LOG.error('Error deleting instance %(instance_id)s '
                   'from index: %(exc)s' % {
                       'instance_id': instance_id,
                       'exc': exc
                   })
 def delete_ns(self, event_type, payload, timestamp):
     id = payload['namespace']
     self.index_helper.delete_document({'_id': id})
     return pipeline.DeleteItem(self.index_helper.plugin, event_type,
                                payload, id)