通过例子学习 Keystone

上一节介绍了 Keystone 的核心概念。
本节我们通过“查询可用 image”这个实际操作让大家对这些概念建立更加感性的认识。
User admin 要查看 Project 中的 image
第 1 步 登录

当点击
时,OpenStack 内部发生了哪些事情?请看下面

Token 中包含了 User 的 Role 信息
第 2 步 显示操作界面

请注意,顶部显示 admin 可访问的 Project 为 “admin” 和 “demo”。
其实在此之前发生了一些事情:

同时,admin 可以访问 Intance, Volume, Image 等服务

这是因为 admin 已经从 Keystone 拿到了各 Service 的 Endpoints

第 3 步 显示 image 列表
点击 “Images”,会显示 image 列表

背后发生了这些事:
首先,admin 将请求发送到 Glance 的 Endpoint

Glance 向 Keystone 询问 admin 身份的有效性。

接下来 Glance 会查看 /etc/glance/policy.json。
判断 admin 是否有查看 image 的权限

权限判定通过,Glance 将 image 列表发给 admin。
Troubleshoot
OpenStack 排查问题的方法主要是通过日志。
每个 Service 都有自己的日志文件。
Keystone 主要有两个日志:
keystone.log 和 keystone_access.log
保存在 /var/log/apache2/ 目录里。
devstack 的 screen 窗口已经帮我们打开了这两个日志。
可以直接查看:

如果需要得到最详细的日志信息,可以在 /etc/keystone/keystone.conf 中打开 debug 选项

在非 devstack 安装中,日志可能在 /var/log/keystone/ 目录里。
Keystone 就到这里,下一节我们开始学习 Glance。

通过例子学习 Keystone的更多相关文章
- 通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)
上一节介绍了 Keystone 的核心概念.本节我们通过“查询可用 image”这个实际操作让大家对这些概念建立更加感性的认识. User admin 要查看 Project 中的 image 第 1 ...
- O019、通过例子学习 Keystone
参考https://www.cnblogs.com/CloudMan6/p/5373311.html 上节介绍了 Keystone 的核心概念.本节我们通过“查询可用 image”这个操作让大家对 ...
- 数百个 HTML5 例子学习 HT 图形组件 – 3D建模篇
http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...
- 数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇
http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...
- 数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇
<数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇>一文让读者了解了 HT的 2D 拓扑图组件使用,本文将对 HT 的 3D 功能做个综合性的介绍,以便初学者可快速上手使用 HT ...
- 数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇
HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心目中的产品方向,接着就朝这个方向慢慢打 ...
- HTML5 例子学习 HT 图形组件
HTML5 例子学习 HT 图形组件 HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心 ...
- pytorch例子学习-DATA LOADING AND PROCESSING TUTORIAL
参考:https://pytorch.org/tutorials/beginner/data_loading_tutorial.html DATA LOADING AND PROCESSING TUT ...
- 通过例子学习C++(二)最小公倍数
本文是通过例子学习C++的第二篇,通过这个例子可以快速入门c++相关的语法. 题目要求:输入两个整数,求其最小公倍数. 解答方法一:两个数的最小公倍数,是这两个数中的大数,或者是这2个数的倍数中的最小 ...
随机推荐
- 安装 Win7 的系统的时候如何分区
解决方案 在安装Win7的系统的时候,可以使用下面方法进行分区: 1. 在出现同意许可条款,勾选“我接受许可条款(A)”后,点击下一步,然后继续下面操作: 2. 进入分区界面,点击“驱动器选项(高级) ...
- 解决升级mac os X EI Capitan后遇到LibclangError: dlopen(libclang.dylib, 6): image not found.的问题
打开文件./frameworks/cocos2d-x/tools/bindings-generator/clang/cindex.py 把第 3395 行 改为 : library = cdll.Lo ...
- VueX源码分析(4)
VueX源码分析(4) /module store.js /module/module.js import { forEachValue } from '../util' // Base data s ...
- 为什么要在函数内部声明 var that = this 呢
看一个例子 $('#conten').click(function(){ //this是被点击的#conten var that =this; $('.conten').each(function() ...
- ERROR 1045 (28000): Access denied for user 'xxx'@'localhost' (using password: YES) MYSQL 新建用户 无法登录 问题解决方法
使用mysql ,出现新建账户无法登录问题 查看 user列表中,有部分账户没有设置密码,将全部重新设置一遍密码,然后还是无法登录. 使用命令 update user set password=pas ...
- selenium2等待元素加载
1.硬性等待 Thread.sleep(8000); 所谓的硬性等待就是,执行完相应操作就等待我设置的8s.无论网速快与慢,网速快的话,也许5s就打开网页了,可是程序必须接着等待剩下的3秒. 网速慢的 ...
- linux中的部分宏
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- Asp.net HttpWebRequest和HttpWebResponse发送和接受任何类型数据
发送字符串数据发送数据 string strId = "guest"; "; string postData = "userid=" + strId; ...
- Java学习笔记2---设置环境变量JAVA_HOME,CLASSPATH,PATH
1.环境变量包括: JAVA_HOME,CLASSPATH,PATH 2.设置环境变量的目的: 路径搜索,方便查找到jdk的安装路径.方便搜索用到的类文件.方便搜索用到的可执行文件如java,java ...
- MyBatis拦截器打印不带问号的完整sql语句方法
/* Preparing: SELECT * FROM tb_user WHERE id = ? AND user_name = ? 目标是打印:SELECT * FROM tb_user WHER ...