Openstack认证过程

01.登陆界面或命令行通过RESTful API向Keystone获取认证信息;
02.Keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求;
03.界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token);
04.nova-api接受请求后向keystone发送认证请求,查看token是否为有效用户的token;
05.keystone验证token是否有效,如有效则返回有效的认证和对应的角色;
06.通过认证后nova-api和数据库通讯;
07.初始化新建虚拟机的数据库记录;
08.nova-api通过rpc.call向nova-scheduler请求是否有创建虚拟机的资源(Host ID);
09.nova-scheduler进程监听消息队列,获取nova-api请求;
10.nova-scheduler通过查询nova数据库中计算资源的情况,并通过调度算法计算符合虚拟机创建需要的主机;
11.对于有符合虚拟机创建的主机,nova-scheduler更新数据库中虚拟机对应的物理主机;
12.nova-scheduler通过rpc.cast向nova-compute发送对应的创建虚拟机请求的信息;
13.nova-computer会葱对应的消息队列中获取创建虚拟机请求的信息;
14.nova-computer通过rpc.call向nova-conductor请求获取虚拟机信息;
15.nova-conductor从消息队列中拿到nova-compute请求信息;
16.nova-conductor根据消息从数据库中查询虚拟机对应的信息;
17.nova-conductor从数据库中获取虚拟机对应信息;
18.nova-conductor把虚拟机信息通过消息的方式发送给消息队列;
19.nova-compute从对应的消息队列中获取虚拟机的信息;
20.nova-compute通过keystone的RESTful API拿到认证的token,并通过HTTP请求glance-api获取创建虚拟机所需要的镜像;
21.glance-api向keystone认证token是否有效,并返回验证结果;
22.token认证通过,nova-compute获得虚拟机镜像信息(URL);
23.nova-compute通过keystone的RESTful API拿到认证的token,并通过HTTP请求neutron-server获取创建虚拟机所需要的网络信息;
24.neutron-server向keystone认证token是否有效,并返回验证结果;
25.token验证通过,nova-compute获得虚拟机网络信息;
26.nova-compute通过keystone的RESTful API拿到认证的token,并通过HTTP请求cinder-api获取创建虚拟机所需要的持久化存储信息;
27.cinder-api向keystone认证token是否有效,并返回验证结果;
28.token验证通过,nova-compute获得虚拟机持久化存储信息;
29.nova-compute根据instance的信息调用配置的虚拟机驱动来创建虚拟机;
Openstack认证过程的更多相关文章
- [Kerberos] Kerberos 认证过程整理
Kerberos是一种安全认证协议,意在提供 more secure authentication simplified management of password convenience of s ...
- .net core 1.0 Web MVC 自定义认证过程
通过官方的介绍可知,若要本地开始部署搭建一个基于.net core 1.0的Web应用,需要下载dotnet SDK,或在Visual Studio IDE之上安装相关插件以布置开发环境.为了使开发环 ...
- Oauth1.0认证过程
现今,已经有了Oauth2.0,写篇博客了解Oauth1.0的过程以及与2.0的区别. 在Oauth官网 关于1.0的介绍: 一.简介 OAuth authentication is the pro ...
- OAuth2.0认证过程
本文以腾讯微博为例,详细介绍OAuth2.0的认证过程. 在使用腾讯微博平台提供的API前,您需要做以下两步工作: 成为开发者,并申请appkey和appsecret 授权获取accesstoken ...
- Apache Shiro 认证过程
3.1.1 示例 Shiro验证Subjects 的过程中,可以分解成三个不同的步骤: 1. 收集Subjects 提交的Principals(身份)和Credentials(凭证): 2. 提 ...
- 新浪微博的OAuth2认证过程
1. 创建应用 在weibo.com上申请一个应用,获取app key和app secret, 填写redirect uri 2. 获取code 通过在浏览器访问 https://api.weibo. ...
- 将 Shiro 作为应用的权限基础 二:基于SpringMVC实现的认证过程
认证就是验证用户身份的过程.在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法.最常见的“实体/凭证”组合便是“用户名/密码”组合. 一. ...
- Spring Security 入门(1-4-1)Spring Security - 认证过程
理解时可结合一下这位老兄的文章:http://www.importnew.com/20612.html 1.Spring Security的认证过程 1.1.登录过程 - 如果用户直接访问登录页面 用 ...
- HTTPS协议、TLS协议、证书认证过程解析
一.HTTPS 协议 HTTPS协议其实就是HTTP over TSL,TSL(Transport Layer Security) 传输层安全协议是https协议的核心. TSL可以理解为SSL (S ...
随机推荐
- 解题报告:hdu1159 common consequence LCS裸题
2017-09-02 17:07:42 writer:pprp 通过这个题温习了一下刚学的LCS 代码如下: /* @theme:hdu1159 @writer:pprp @begin:17:01 @ ...
- php入门(三)
PHP 面向对象: 在php5中 var就是public的别名. 变量 $this 代表自身的对象. PHP_EOL;为换行符 构造函数+析构函数 <?php class Site { /* 成 ...
- 【Python】关于使用pycharm遇到只能使用unittest方式运行,无法直接选择Run
相信大家可能都遇到过这个问题,使用pycharm直接运行脚本的时候,只能选择unittest的方式,能愁死个人
- PHP 数组遍历 foreach 语法结构
foreach 语法结构用于遍历数组. foreach() PHP foreach() 语法结构用于遍历操作或输出数组,foreach() 仅能用于遍历数组或对象,当试图将其用于其它数据类型或者一个未 ...
- SpringBoot学习(1)
内容概要: spring data springboot是spring团队基于spring4开发的一个框架. springboot来简化spring应用开发,约定大于配置,去繁从简,just run就 ...
- js实现类名的添加与移除
方法1:使用className属性: 方法2:使用classList API: //用于匹配类名存在与否 function reg(name){ return new RegExp('(^|\\s)' ...
- Docker 学习记录笔记(一)
Docker 一些简单的命令列表docker build -t friendlyhello . # Create image using this directory's Dockerfiledock ...
- LightOJ - 1151概率dp+高斯消元
概率dp+高斯消元 https://vjudge.net/problem/LightOJ-1151 题意:刚开始在1,要走到100,每次走的距离1-6,超过100重来,有一些点可能有传送点,可以传送到 ...
- java之JDBC多条语句执行
在开发过程中,有时我们需要执行多条SQL语句,那如何处理才能解决这样的问题? 1,多条语句执行错误 原因:试图用一个PreparedStatement对象,执行多次SQL操作.程序会提示一下错误: O ...
- python的经典类与新式类
新式类:class Myclass(object): pass 经典类:class Myclass: pass 新式类里面加了一些新方法,例如重写父类: class A(object): def __ ...