天青色等烟雨

而我在等你


  • 首页

  • 归档

  • 分类

  • 标签

  • 留言

  • 关于

  • 搜索
  • High一下
close

Oslo系列之oslo.middleware

发表于 2018-10-05   |   分类于 Openstack

俗话说:善有善报,恶有恶报;话又说:人善被人欺,马善被人骑!古今论坛,后人总结生存言谈:拥有善良之心待人,不向恶势力低头屈身。愿你吸收生存之道,日子过得美满逍遥!

oslo.middleware库可以添加在WSGI pipeline用来拦截request/response请求。其基类可以为WSGI增强功能,如添加、删除、修改HTTP头部信息,支持限制大小和连接数等。本文主要分析Oslo组件如何使用oslo.middleware来实现这些功能。

oslo.middleware中的主要pipeline

oslo.middleware中定义了多个WSGI的pipeline,如cors、request_id等。所以,本文首先总结了oslo.middleware中常用的pipeline的实现、作用以及使用场景。在oslo.middleware中,所有的pipeline的实现类都继承自一个父类ConfigurableMiddleware,其是一个基本的WSGI middleware装饰器。该类在实例化时会绑定一个WSGI应用对象APP,则该ConfigurableMiddleware对象在实际使用中便会对绑定的WSGI APP的request/response进行相应的包装。在ConfigurableMiddleware类中,分别定义了process_request(request)和process_response(response, request)方法分别对request和response进行处理。最后,该类还为paste.deploy实现了factory方法,使其可以通过读取WSGI配置文件调用相关类的装饰器。了解了ConfigurableMiddleware类的实现之后,下面便可以根据ConfigurableMiddleware类的实现针对具体的pipeline的实现进行详细的解读。

阅读全文 »

Oslo系列之oslo.policy

发表于 2018-10-05   |   分类于 Openstack

你既然认准一条道路,何必去打听要走多久。

众所周知,OpenStack使用基于角色的权限访问控制(RBAC),在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。为了更好的适应OpenStack的角色权限管理,oslo项目创建了oslo.policy子项目为所有OpenStack服务提供RBAC策略实施支持。本文将详细介绍oslo.policy的实现与使用。

策略规则表达式

在通用的策略引擎实现中,策略规则表达式一般包含一个目标和一个相关联的规则。具体示例如下:

阅读全文 »

Oslo系列之oslo.messaging

发表于 2018-10-05   |   分类于 Openstack

生命的道路上永远没有捷径可言,只有脚踏实地走下去。

今天介绍一下 openstack 中关于 RabbitMq 和 oslo_messaging 库之间的前生今世

一定要弄清楚的一个问题就是:直接使用rabbitmq和使用oslo_messaging这个库间接的使用有什么区别。

olso_messaging实际上是在rabbitmq的基础上通过一些列的调用,最终暴露给用户一个简单的使用接口,用户不必关心内部的实现,只用配置好配置文件,进行简单的函数调用即可。
并且由于这个库是openstack的标准库,里面的一些函数命名和默认参数都是针对于openstack的概念来讲的。

阅读全文 »

Oslo系列之oslo.service

发表于 2018-10-05   |   分类于 Openstack

生命力的好处在于拚搏,因为世界本身就是一个竞技场。

oslo.service为OpenStack各组件提供了一个定义新的长运行服务的框架;包括带有SSL和WSGI,周期性操作,结合systemd等的长运行应用。

oslo.service的实现原理

在oslo.service的实现中,核心是oslo_service.service模块中的Service类和Launcher类。下面分别介绍这两个类:

阅读全文 »

Oslo系列之oslo.utils

发表于 2018-10-05   |   分类于 Openstack

每个人的一生都有许多梦想,但如果其中一个不断搅扰着你,剩下的就仅仅是行动了。

oslo.utils封装了OpenStack各个组件中常用的工具类或工具方法,包含了导入、文件、编码、线程、反射等多种工具类或方法。本文将详细介绍oslo.utils中重要的常用的功能。

importutils

importutils提供了多个方法用于导入python包、类、对象等操作。常用方法如下:

阅读全文 »

Prometheus-Operator 学习总结

发表于 2017-11-11   |   分类于 Prometheus

涓滴之水终可以磨损大石,不是由于它力量强大,而是由于昼夜不舍的滴坠。

简介

所有的监控的 agent 底层最终都是查询的 /proc 和 /sys 里的信息推送(如果错了轻喷),因为收集宿主机信息方面也想用 pod 跑,会面临到问题

常见的 zabbix_agent 默认读取 fs 的 /proc 和 /sys ,容器跑 agent 会导致读取的不是宿主机的/proc 和 /sys

而 prometheus 的 node-exporter 有选项 --path.procfs 和 --path.sysfs 来指定从这俩选项的值的proc和sys读取,容器跑 node-exporter 只需要挂载宿主机的 /proc和/sys 到容器fs的某个路径挂载属性设置为 readonly 后用这两个选项指定即可,zabbix4.0 看了文档和容器都找不到类似选项应该不支持

虽说上 prometheus 但是 k8s 监控这方面,经常看到如下问题:

阅读全文 »

Ceilometer-Alarm-API参数详解

发表于 2017-10-04   |   分类于 Openstack

世界上只有想不通的人,没有走不通的路。

Ceilometer Alarm API 参数详解

Ceilometer Alarm是H版新添加的功能,监控报警是云平台不可缺少的部分,Ceilometer已经实现了比较完善的监控体系,报警怎么能缺少呢?用过AWS CloudWatch Alarm的人应该不会对Ceilometer的Alarm感到陌生,Ceilometer实现的Alarm和CloudWatch的Alarm很像,概念基本上都一样,Alarm的逻辑也基本上一样,可以说是一个开源版的CloudWatch Alarm,但是它进行了一些“微创新”,实现了一些比较有意思的小功能,而且代码写的也非常不错,是一个不错的学习素材。

下面我们从功能,实现,以及它目前存在的问题三个方面介绍一下Ceilometer的Alarm。

阅读全文 »

CeilometerClient源码学习记录

发表于 2017-10-04   |   分类于 Openstack

在强者的眼中,没有最好,只有更好。

此篇文章介绍关于在命令行输入相关命令之后,这个命令是如何调用并且执行的

代码结构

首先介绍一下代码目录的结构

阅读全文 »

ceilometer-notification源码分析

发表于 2017-10-04   |   分类于 Openstack

在强者的眼中,没有最好,只有更好。

以社区 N 版代码为例

一、启动命令

1
exec ceilometer-agent-notification --config-file /etc/ceilometer/ceilometer.conf
阅读全文 »

ceilometer-polling源码分析

发表于 2017-10-04   |   分类于 Openstack

实力的来源不是胜利。唯有奋斗才能增强实力。当你历经苦难而不气馁,那就是实力。

以社区 N 版代码为例

一、启动命令

1
exec ceilometer-polling --polling-namespaces compute --config-file /etc/ceilometer/ceilometer.conf
阅读全文 »
1…345…7
magiceses

magiceses

Stay Hungry,Stay Foolish

61 日志
5 分类
15 标签
RSS
Github CSDN
Creative Commons
友情链接
  • 建站日志
  • 打赏
您是第个小伙伴 本站总浏览次
© 2016 - 2021 magiceses
由 Hexo 强力驱动
主题 - NexT.Pisces
全站共 1m 字