def remove_group_type_access(context, group_type_id, project_id): """Remove access to group type for project_id.""" if group_type_id is None: msg = _("group_type_id cannot be None") raise exception.InvalidGroupType(reason=msg) elevated = context if context.is_admin else context.elevated() if is_public_group_type(elevated, group_type_id): msg = _("Type access modification is not applicable to public group " "type.") raise exception.InvalidGroupType(reason=msg) return db.group_type_access_remove(elevated, group_type_id, project_id)
def get_group_type_by_name(context, name): """Retrieves single group type by name.""" if name is None: msg = _("name cannot be None") raise exception.InvalidGroupType(reason=msg) return db.group_type_get_by_name(context, name)
def destroy(context, id): """Marks group types as deleted.""" if id is None: msg = _("id cannot be None") raise exception.InvalidGroupType(reason=msg) else: elevated = context if context.is_admin else context.elevated() db.group_type_destroy(elevated, id)
def get_group_type(ctxt, id, expected_fields=None): """Retrieves single group type by id.""" if id is None: msg = _("id cannot be None") raise exception.InvalidGroupType(reason=msg) if ctxt is None: ctxt = context.get_admin_context() return db.group_type_get(ctxt, id, expected_fields=expected_fields)
def _check_type(self, group): if not vol_utils.is_group_a_replication_group_type(group): msg = _("Group %s is not a replication group type.") % group.id LOG.error(msg) raise exception.InvalidGroupType(reason=msg) for vol_type in group.volume_types: if not vol_utils.is_replicated_spec(vol_type.extra_specs): msg = _("Volume type %s does not have 'replication_enabled' " "spec key set to '<is> True'.") % vol_type.id LOG.error(msg) raise exception.InvalidVolumeType(reason=msg)
def destroy(context, id): """Marks group types as deleted.""" if id is None: msg = _("id cannot be None") raise exception.InvalidGroupType(reason=msg) else: elevated = context if context.is_admin else context.elevated() try: db.group_type_destroy(elevated, id) except exception.GroupTypeInUse as e: msg = _('Target group type is still in use. %s') % e raise webob.exc.HTTPBadRequest(explanation=msg)
def update(context, id, name, description, is_public=None): """Update group type by id.""" if id is None: msg = _("id cannot be None") raise exception.InvalidGroupType(reason=msg) elevated = context if context.is_admin else context.elevated() try: db.group_type_update( elevated, id, dict(name=name, description=description, is_public=is_public)) except db_exc.DBError: LOG.exception('DB error:') raise exception.GroupTypeUpdateFailed(id=id)