Exemplo n.º 1
0
 def remove_if_exists(self):
     meta_obj = rados.Object(self._client.ioctx, self.name)
     try:
         meta_obj.remove()
     except rados.ObjectNotFound:
         LOG.debug("Metadata backup object '%s' not found - ignoring",
                   self.name)
Exemplo n.º 2
0
    def get(self):
        """Get metadata backup object.

        Returns None if the object does not exist.
        """
        meta_obj = rados.Object(self._client.ioctx, self.name)
        if not self._exists(meta_obj):
            LOG.debug("Metadata backup object %s does not exist", self.name)
            return None

        return meta_obj.read()
Exemplo n.º 3
0
    def set(self, json_meta):
        """Write JSON metadata to a new object.

        This should only be called once per backup. Raises
        VolumeMetadataBackupExists if the object already exists.
        """
        meta_obj = rados.Object(self._client.ioctx, self.name)
        if self._exists(meta_obj):
            msg = _("Metadata backup object '%s' already exists") % (self.name)
            raise exception.VolumeMetadataBackupExists(msg)

        meta_obj.write(json_meta)
Exemplo n.º 4
0
 def exists(self):
     meta_obj = rados.Object(self._client.ioctx, self.name)
     return self._exists(meta_obj)