上节介绍了 Keystone 的核心概念。本节我们通过“查询可用 image”这个操作让大家对这些概念简历更加感性的认识。User admin 要查看 Project 中的image。
 
第一步 登录
 
 
当点击 Connect 按钮的时候,OpenStack内部发生了哪些事情呢?见下图
 
Token 中包含了 User 的Role 信息
 
 
第二步 显示操作界面
 
 
请注意,顶部显示 admin 可访问的 Project 为 admin 和 demo 。其实在这之前发生了一些事情:
 
 
同时,admin 可以访问 Intance、Volume、Image 等服务。
 
 
这是因为 admin 已经从 Keystone 拿到了各 Service 的Endpoints 。
 
 
第三步 显示 image 列表
 
点击 Images 会显示 images 列表
 
 
背后有发生了些什么呢?
 
首先 admin将请求发送到 Glance 的Endpoint
 
 
Glance 向 Keystone 询问 admin 身份是否有效
 
 
接下来Glance 会查看 /etc/glance/policy.json 判断 admin是否有查看 image 的权限。
 
 
权限判定通过,Glance 将image列表发给 admin。
 
Troubeshoot
 
OpenStack排错问题的方法主要是通过日志。
 
每个 Service 都有自己的日志文件。Keystone 主要有两个日志: keystone.log 和 keystone_access.log ,保存在 /var/log/apache2/ 目录里
 
root@DevStack-Controller:/var/log/apache2# ll
total 25836
drwxr-x---  2 root adm        4096 May 22 01:12 ./
drwxrwxr-x 14 root syslog     4096 May 22 00:08 ../
-rw-r-----  1 root adm      201783 May 22 01:12 access.log
-rw-r-----  1 root adm        2940 May 22 01:13 error.log
-rw-r--r--  1 root root    2027277 May 22 20:37 horizon_access.log
-rw-r--r--  1 root root     329201 May 22 20:34 horizon_error.log
-rw-r--r--  1 root root        803 May 22 19:48 keystone_access.log
-rw-r--r--  1 root root   19381569 May 22 20:37 keystone.log
-rw-r-----  1 root adm           0 May 22 00:09 other_vhosts_access.log
-rw-r--r--  1 root root    4479073 May 22 20:37 placement-api.log
 
DevStack 的 screen 窗口已经帮我们打开了这两个日志,可以直接查看
 
如果需要得到详细的日志信息,可以在  cat /etc/keystone/keystone.conf 中打开debug选项。
 
root@DevStack-Controller:/var/log/apache2# cat /etc/keystone/keystone.conf  | grep '^[^#]'
[DEFAULT]
max_token_size = 16384
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s
debug = True
admin_endpoint = http://10.12.31.241/identity_admin
public_endpoint = http://10.12.31.241/identity
transport_url = rabbit://stackrabbit:secret@10.12.31.241:5672/
 
在非 DevStack安装中,日志可能在 /var/log/keystone 目录中。
 

O019、通过例子学习 Keystone的更多相关文章

  1. 通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)

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

  2. 通过例子学习 Keystone

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

  3. 数百个 HTML5 例子学习 HT 图形组件 – 3D建模篇

    http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...

  4. 数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇

    http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...

  5. 数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇

    <数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇>一文让读者了解了 HT的 2D 拓扑图组件使用,本文将对 HT 的 3D 功能做个综合性的介绍,以便初学者可快速上手使用 HT ...

  6. 数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇

    HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心目中的产品方向,接着就朝这个方向慢慢打 ...

  7. HTML5 例子学习 HT 图形组件

    HTML5 例子学习 HT 图形组件 HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心 ...

  8. pytorch例子学习-DATA LOADING AND PROCESSING TUTORIAL

    参考:https://pytorch.org/tutorials/beginner/data_loading_tutorial.html DATA LOADING AND PROCESSING TUT ...

  9. 通过例子学习C++(二)最小公倍数

    本文是通过例子学习C++的第二篇,通过这个例子可以快速入门c++相关的语法. 题目要求:输入两个整数,求其最小公倍数. 解答方法一:两个数的最小公倍数,是这两个数中的大数,或者是这2个数的倍数中的最小 ...

随机推荐

  1. javascript 取小数点后几位四种方法

    javascript 取小数点后几位方法总结 Javascript取float型小数点后两位,例22.123456取成22.12,如何做? 1.通过substring截取. function getn ...

  2. LeetCode 94. 二叉树的中序遍历(Binary Tree Inorder Traversal)

    题目描述 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路 由于 ...

  3. ThinkPHP5+Bootstrap的极速后台开发框架。

    fastamin:https://doc.fastadmin.net/docs/index.html    后台读取mysql 注释,所以要注意mysql中注释的填写规则

  4. redis数据类型为key的常用命令

    redis默认自带16个库select 7切换到redis第8个数据库dbsize查看reids有几个keykeys *查看所有k,vclear清空控制台FLUSHDB清空当前数据库的kvFLUSHA ...

  5. python内存泄露memory leak排查记录

    问题描述 A服务,是一个检测MGR集群主节点是否发生变化的服务,使用python语言实现的. 针对每个集群,主线程会创建一个子线程,并由子线程去检测.子线程会频繁的创建和销毁. 上线以后,由于经常会有 ...

  6. 判断是否为日期格式 与 判断是否为BigDecimal

    import java.text.ParseException;import java.text.SimpleDateFormat; /** * * 说明:判断是否为日期格式 * @param str ...

  7. ServletRequest与ServletResponse

    http://lavasoft.blog.51cto.com/62575/275586/ 请求和相应是Web交互最基本的模式,在Servlet中,分别用HttpServletRequest与HttpS ...

  8. 创建podspec文件,为自己的项目添加pod支持

    Cocoapods作为iOS开发的包管理器,给我们的开发带来了极大的便利,而且越来越多的第三方类库支持Pod,可以通过Pod傻瓜式的集成到自己的工程中,那么问题来了,我自己也有一系列的小工具类,怎么让 ...

  9. idea Ctrl+Alt+T 快捷键失效

    idea快捷键 CTRL+ALT+T  把选中的代码放在 TRY{} IF{} ELSE{} 里 这个快捷键失效了,显然是热键冲突,查看了喜欢占热键的输入法.词典.微信.qq.都没找到占用,最后发现 ...

  10. 图片和Base64字符串互转

    图片URL转成Base64字符串 /// <summary> /// 通过Url获取到Image格式的文件 /// </summary> /// <param name= ...