理解 openstack 中的 service catalog
来源:互联网 发布:百度的域名值多少钱 编辑:程序博客网 时间:2024/06/07 05:55
1. 请求上下文中的 service catalog
一般情况下,我们可以很方便的从context中获取keystone 所知的全部service catalog。 但它是怎么设置到context中的呢?过程如下:
一个请求通过 wsgi 服务器下发到应用之前,一般需要经过keystone-middle-ware 的认证。在校验 user token 时,如果应用配置了
‘include_service_catalog = True’ 的选项,则在向 keystone 校验token时返回service catalog信息,并设置到request 类对象中。
具体可以参考代码:keystonemiddleware/auth_token/__init__.py 的 process_request 方法。
include_service_catalog 配置项在 keystonemiddleware/auth_token/_opts.py 定义。其默认值为True,因此一般情况下下发给应用的
请求中都有service catalog信息,可通过request.environ.get('keystone.token_info') 获取。
2.通过keystone client 来获取服务的 endpoint
这个过程实际上是通过keystoneauth1 中的auth plugin 的get_endpoint方法来获取,如 keystoneauth1/identity/v3/password.py。
该方法会调用get_auth_ref 来获取一个新的token信息,在构建请求 token 的url时会判断是否要添加nocatalog参数,该参数是在创建
auth plugin 实例时传入的,默认值为True,因此请求的token信息中会有service catalog数据。
具体可以参考代码:keystoneauth1/identity/v3/password.py 的get_endpoint方法。
- 理解 openstack 中的 service catalog
- Catalog Service
- Business & Technical Service Catalog
- Android 中的 Service理解
- Openstack 中的LoadBalance As A Service
- Openstack 中的LoadBalance As A Service
- openstack-keystone中的权限管理理解
- 理解OpenStack中的OpenvSwitch的几个要点
- 深入理解OpenStack中的网络实现
- 一张图理解OpenStack Neutron中的调用
- 理解AngularJS中的Service类型
- 理解AngularJS中的Service类型
- 理解AngularJS中的Service类型
- MEF中的目录Catalog
- 有关catalog的一些理解
- 安装配置openstack 中的 Open vSwitch (OVS) service
- ci service 和catalog.wci是什么?
- DB2数据库中的catalog单词
- 0.0
- eclipse里maven install时,报错提示jdk为无效的目标版本:1.7
- VMwarea安装centos7.0图解
- Sqoop使用实战
- 共同学习Java源代码--数据结构--Set接口
- 理解 openstack 中的 service catalog
- 安卓开源项目周报1214
- webpack应用学习
- ARM汇编编程基础(五) -- 其它常见寻址模式与常见指令
- C++ 引用计数器
- [JAVA] Swing 边框用法
- 安卓接入微信支付解析,细数开发过程中遇到的坑
- C/C++——网络开发
- maven 启动 报错 Fatal error compiling: 无效的目标发行版