def _validate_status(param_value): if len(param_value.strip()) == 0: msg = _("The 'status' can not be empty.") raise exception.InvalidGroupSnapshotStatus(reason=msg) elif param_value.lower() not in c_fields.GroupSnapshotStatus.ALL: msg = _("Group snapshot status: %(status)s is invalid, " "valid statuses are: " "%(valid)s.") % {'status': param_value, 'valid': c_fields.GroupSnapshotStatus.ALL} raise exception.InvalidGroupSnapshotStatus(reason=msg) return True
def reset_group_snapshot_status(self, context, gsnapshot, status): """Reset status of group snapshot""" check_policy(context, 'reset_group_snapshot_status') if status not in c_fields.GroupSnapshotStatus.ALL: msg = _("Group snapshot status: %(status)s is invalid, " "valid statuses are: " "%(valid)s.") % {'status': status, 'valid': c_fields.GroupSnapshotStatus.ALL} raise exception.InvalidGroupSnapshotStatus(reason=msg) field = {'updated_at': timeutils.utcnow(), 'status': status} gsnapshot.update(field) gsnapshot.save()