Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
    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()