openstack context

之前一直不知道context模块中存储的是什么东西,这回看一下代码;

其中最主要的类是:RequestContext;

class RequestContext(object):

"""Helper class to represent useful information about a request context.

Stores information about the security context under which the user

accesses the system, as well as additional request information.

"""

user_idt_format = ‘{user} {tenant} {domain} {user_domain} {p_domain}‘

def __init__(self, auth_token=None, user=None, tenant=None, domain=None,

user_domain=None, project_domain=None, is_admin=False,

read_only=False, show_deleted=False, request_id=None,

instance_uuid=None):

self.auth_token = auth_token

self.user = user

self.tenant = tenant

self.domain = domain

self.user_domain = user_domain

self.project_domain = project_domain

self.is_admin = is_admin

self.read_only = read_only

self.show_deleted = show_deleted

self.instance_uuid = instance_uuid

if not request_id:

request_id = generate_request_id()

self.request_id = request_id

…...

"""Helper class to represent useful information about a request context.

Stores information about the security context under which the user

accesses the system, as well as additional request information.

"""

RequestContext类主要保存了一次web请求的useful context information,主要包括安全验证信息和其他一些信息;

如果用户想要对request的上下文新增一些信息,或加强功能,可以继承这个类;

其中两个函数分别获取admin上下文信息,和判断一个context是不是一个normal user:

def get_admin_context(show_deleted=False):

context = RequestContext(None,

tenant=None,

is_admin=True,

show_deleted=show_deleted)

return context

def is_user_context(context):

"""Indicates if the request context is a normal user."""

if not context:

return False

if context.is_admin:

return False

if not context.user_id or not context.project_id:

return False

return True

时间: 2024-11-05 09:21:11

openstack context的相关文章

Integrate NSX into Neutron

NSX is VMware's strategy for Software-defined networking, it was implemented purely in software, and  provides users with L2 networks over traditional IP networks which have role of L3. How to integrate NSX into OpenStack neutron? I have been searchi

Linux 用户,组,权限小练习

1.新建一个没有家目录的用户openstack 2.复制/etc/skel为/home/openstack 3.改变/home/openstack及其内部的文件的属主,属组均为openstack 4./home/openstack及其内部的文件,属组和其他用户没有任何访问权限 [[email protected] ~]# useradd -M openstack [[email protected] ~]# ls -l /home/openstack ls: /home/openstack: N

什么是架构

什么是软件架构 前言:软体设计师中有一些技术水平较高.经验较为丰富的人,他们需要承担软件系统的架构设计,也就是需要设计系统的元件如何划分.元件之间如何发生相互作用,以及系统中逻辑的.物理的.系统的重要决定的作出.在很多公司中,架构师不是一个专门的和正式的职务.通常在一个开发小组中,最有经验的程序员会负责一些架构方面的工作.在一个部门中,最有经验的项目经理会负责一些架构方面的工作.但是,越来越多的公司体认到架构工作的重要性. 什么是软件系统的架构(Architecture)?一般而言,架构有两个要

用pdb.set_trace()设断点,跟nova/api/openstack/compute/servers.py - detail() 流程

由 curl -s -H "X-Auth-Token: $OS_TOKEN" http://192.168.153.128:8774/v2.1/servers/detail | python -m json.tool 命令: 得到结果: { "servers": []       注:因为servers是核心资源,所有返回为空.} 1/opt/stack/nova/nova/api/openstack/compute/servers.py(210)detail()

openstack运维实战系列(六)之neutron配额调整

1. 前言   neutron在安装配置完成之后,openstack为了实现对所有tenant对网络资源的使用,针对neutron设置有专门的配额,以防止租户使用过多的资源,而对其他的tenant造成影响.和nova的quota相类似,neutron也使用单独的一个驱动来实现网络neutron的配额控制. 2. neutron默认的配额     neutron默认的配额针对network,port,router,subnet,floatingip做了配额方面的限定,参考neutron的配置文件,

openstack安装配置—— file share node 配置

实际生产中,很多时候需要数据源的共享来实现多节点的实时数据保持一致,openstack官方提供了manila服务模块实现了云盘共享,manila服务也是需要manila服务端和存储节点共同组成的,本实验中为了节约虚机节点,就把manila服务端安装在了controller节点上,manila数据存储节点和cinder存储节点合并使用一个虚机节点,各自使用了一块独立硬盘. manila服务端配置 准备数据库 [[email protected] ~]# mysql Welcome to the M

man openstack >>1.txt

OPENSTACK(1)                                                                                         OpenStack Command Line Client                                                                                        OPENSTACK(1) NAME        opensta

基于OpenStack+Docker设计与实现CI/CD

基于Docker容器技术的OpenStack研发.测试.运维及其相关的CI/CD.DevOps等活动.思想是相通的,读者可以取其可用部分用于自己的业务需求中. IaaS云和容器云不是可有可无.相互竞争的关系,而是相互弥补彼此缺陷的关系.容器改变了应用部署和管理的模式,众所周知,IaaS云通过提供基本的计算.存储和网络来运行虚拟机(VM),在IaaS(基础设施即服务)之上,还有PaaS(平台即服务).SaaS(软件即服务).CaaS(容器即服务).OpenStack作为一个IaaS云的基础设施管理

安装openstack踩的一个坑

Openstack Mitaka在图形化界面的时候出现以下报错: [[email protected] ~]# openstack server create --flavor m1.tiny --image cirros --nic net-id=2d79dc77-be66-4850-af01-8e6946f16035 --security-group default --key-name mykey provider-instance Unexpected API Error. Please