OpenStack
文章平均质量分 67
spch2008
github.com/spch2008
展开
-
nova.conf 参数说明
# Rabbit-MQ--rabbit_host=10.108.110.23# MySQL--sql_connection=mysql://novaUser:[email protected]/nova# API--cc_host=10.108.110.23--auth_strategy=keystone--s3_host=10.108.110.23原创 2012-08-14 09:21:48 · 3464 阅读 · 0 评论 -
自己动手写OpenStack的QoS功能(7)
前面已经介绍了大部分功能,只剩下启动虚拟机的时候,将qos参数interface_qos(即qos_id)传入,同时在数据库中,关联端口与qos_id,由于这一部分不是我写的,所以不是很了解,有空的时候在仔细看看。原创 2013-07-10 09:21:54 · 1517 阅读 · 2 评论 -
keystone 身份验证流程(1)
之前在网上看到一张keystone工作流程图,如下: credentials实际就是用户名,密码种类的东西。通过用户名与密码向keystone进行注册,取得一个token。 curl -d '{"auth": {"tenantName": "$YOUR_TENANT_NAME", "passwordCredentials":{"username": "$YOUR_USER_N原创 2013-07-19 14:33:09 · 6934 阅读 · 0 评论 -
keystone 身份验证流程(2)
QuantumClient端的身份验证第一部分:QuantumClent\shell.py中,有一个参数解析器。def build_option_parser(self, description, version): # Global arguments parser.add_argument( '--os-原创 2013-07-19 16:39:55 · 8515 阅读 · 0 评论 -
quantum 配置
最近一直跟quantum打交道,对于它的配置文档,当然也需要理清。之前了解过了相关paste的使用方法,见Paste 起步[composite:quantum]use = egg:Paste#urlmap/: quantumversions/v2.0: quantumapi_v2_0[composite:quantumapi_v2_0]use = call:quantum.au原创 2013-07-20 16:59:11 · 1998 阅读 · 0 评论 -
keystone 身份验证流程(3)
quantum端采用的身份验证。/etc/quantum/api-paste.ini中[filter:authtoken]paste.filter_factory = keystone.middleware.auth_token:filter_factoryauth_host = 172.16.4.1auth_port = 35357auth_protocol = httpadm原创 2013-07-19 17:28:03 · 6422 阅读 · 3 评论 -
Quantum Server启动流程
的发送到原创 2013-07-25 19:29:51 · 1980 阅读 · 0 评论 -
Quantum的权限认证(2)
当用户在命令行中输入 quantum port-show 时,最终将会转到 quantum\api\v2\base.py的Controller中的show方法。def show(self, request, id, **kwargs): return {self._resource: self._view(self._item(request,原创 2013-08-01 16:07:56 · 1220 阅读 · 0 评论 -
Quantum的权限认证(3)
这里主要说一下,权限信息的加载过程。quantum\openstack\common\policy.py中全局变量_checks = {}是一个字典,存放各种权限验证类。比如;{'rule':RuleCheck, 'role':RoleCheck},由于使用了装饰器,所以,此模块被加载时,_checks就被初始化了,具体可参见带参数的装饰器。def register(name, f原创 2013-08-01 16:28:31 · 1078 阅读 · 0 评论 -
Quantum的权限认证(1)
在身份认证结束后,会进行权限认证,即验证用户是否有做此操作的权限。实际上,这一步将身份认证提供的信息进行一些包装,在后续具体操作(例如get_port等)的过程中进行验证。api-paste.ini中[composite:quantumapi_v2_0]use = call:quantum.auth:pipeline_factorynoauth = extensions q原创 2013-08-01 15:27:22 · 1442 阅读 · 0 评论 -
Quantum 资源属性映射
先前做QoS功能时,对于RESOURCE_ATTRIBUTE_MAP了解甚少,都是靠模仿者来做的。本文针对quantum\api\v2\attributs.py中的port做相应的解释,为求简便,省略了部分属性。'ports': { 'id': {'allow_post': False, 'allow_put': False, 'validate': {'ty原创 2013-08-02 10:56:21 · 1408 阅读 · 0 评论 -
OpenStack impl_kombu
nova中的rpc模块并没有直接使用kombu,而是又对它进行了一次封装,封装的主要是发送者和接收者,在nova中,封装成了两个类:Publisher和ConsumerBase,并且根据这两个类派生出了DirectPublisher, DirectConsumer, TopicPublisher, TopicConsumer等子类,使操作更加的方便。一直就觉得Exchange和发送者的关系很密转载 2013-09-10 22:02:48 · 1483 阅读 · 2 评论 -
Kombu Queue
示例代码:from kombu.entity import Exchange, Queuefrom kombu.messaging import Consumerfrom kombu.connection import Connectionconnection = Connection('amqp://guest:[email protected]:5672//')channel =原创 2013-09-11 17:04:06 · 2444 阅读 · 0 评论 -
Kombu 基础
AMQP协议:Producer产生消息,将消息赋予路由信息,发送给exchange。queue存储消息,并将消息发送Consumerbindings queues与exchange通过路由信息进行绑定。发送过来的消息带有路由信息,exchange提取路由信息和queues与exchange绑定的路由信息匹配, 匹配成功后,将消息发给相应队列。原创 2013-09-10 21:50:13 · 4747 阅读 · 0 评论 -
Kombu Consumer
在学习Kombu Exchange与Kombu Queue的过程中,对Kombu 基础中的代码产生疑问:connection = Connection('amqp://guest:[email protected]:5672//') channel = connection.channel() media_exchange = Exchange('media', 'direct',原创 2013-09-11 17:22:02 · 1767 阅读 · 1 评论 -
自己动手写OpenStack的QoS功能(5)
改写ovs_agent,用于施行规则。ovs_quantum_agent.py中创建新类class OVSQosAgent(object): def __init__(self, context, plugin_rpc, int_br, agent_id): self.context = context self.plugin_rpc = plugin_r原创 2013-07-10 09:08:42 · 2097 阅读 · 1 评论 -
自己动手写OpenStack的QoS功能(1)
起因:OpenStack源代码看有些日子了,于是想找点东西做做。发现NVP有QoS功能,但是是针对Port的,有些复杂, 就将其简化,做一个针对Interface的QoS功能。针对Interface的QoS只需要几条命令即可,做起来方便简单。ovs-vsctl set interface vif0.0 ingress_policing_rate=1000ovs-vs原创 2013-07-09 11:51:28 · 4219 阅读 · 1 评论 -
自己动手写OpenStack的QoS功能(6)
quantum client的处理quantumclient\shell.py中COMMAND_V2 = {增加 'qos-create': utils.import_class( 'quantumclient.quantum.v2_0.ovs_qos.CreateQoS'), 'qos-list':utils.import_class(原创 2013-07-10 09:18:15 · 1567 阅读 · 0 评论 -
General Troubleshooting Tips
General Troubleshooting Tips/*Check all services$nova-manage service list (check for XXX or smiley face)Binary Host Zone Status State Updated_Atnova-scheduler openstack1 nova enabled 2012-05-转载 2012-10-26 10:58:51 · 3505 阅读 · 0 评论 -
openstack 删除僵尸实例 删除实例 删除instance(非屏蔽外键)
之前看过一篇文章,用的是“暂时关闭外键检查”的方法删除数据库中得instance实例。我个人认为这样及其糟糕,会残留数据。我的办法:逐一删除。步骤一1.回收floating ip nova remove-floating-ip vm1 10.108.108.22.放入地址池 nova floating-ip-delete 10.108.1原创 2012-09-06 20:16:21 · 8067 阅读 · 0 评论 -
openstack VNC noVNC(多网卡)
本文地址:http://blog.csdn.net/spch2008/article/details/8190863 对openstack的vnc配置一直比较模糊,所以决定下决心研究一番。上图为官方文档中多节点,多网卡网络配置图。我的理解:99.99.99.0为公网地址,192.168.0.0为管理地址,10.0.0.0为虚拟机地址。假设上图nova-netwo原创 2012-11-16 15:59:14 · 7175 阅读 · 1 评论 -
openstack 创建 windows server 2008 镜像
本文地址:http://blog.csdn.net/spch2008/article/details/7959511在ubuntu 12.04中制作1.下载virtio http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-30.iso2.下载windows s原创 2012-09-09 08:41:26 · 4429 阅读 · 11 评论 -
OpenStack 单网卡 配置
本文地址:http://blog.csdn.net/spch2008/article/details/7862950系统1.下载Ubuntu serverhttp://releases.ubuntu.com/12.04/ubuntu-12.04-server-amd64.iso2.分配一个lvm格式的分区3.最小化安装,只安装sshserver(按空原创 2012-08-14 09:14:01 · 5581 阅读 · 14 评论 -
OpenStack Volume
本文地址:http://blog.csdn.net/spch2008/article/details/8206692 nova.conf中--iscsi_helper可以指定(tgtadm,ietadm),tgtadm使用tgt,而ietadm使用iscsitarget。 nova-volume会读取配置文件中的--iscsi_helper标签,源码: def ge原创 2012-11-21 10:17:35 · 1547 阅读 · 0 评论 -
OpenStack Quantum 网络架构图
本文地址:http://blog.csdn.net/spch2008/article/details/9008327OpenStack F版,Quantum架构图,有些地方可能不是很准确。 1. 每创建一个虚拟机,都会创建一个前缀为qbr的网桥,然后网桥在与br-int相连。 有些疑问:为什么要通过一个网桥与br-int相连,而不是直接将vnet连到原创 2013-06-02 21:21:38 · 5814 阅读 · 0 评论 -
Quantum 数据库增加新表
本文地址:http://blog.csdn.net/spch2008/article/details/90113211. 创建代码ovs_qos_db.py'''Created on 2013-6-3@author: spch2008'''from sqlalchemy import Column, Integer, Stringfrom sqlalchemy原创 2013-06-03 15:44:07 · 1981 阅读 · 0 评论 -
自己动手写OpenStack的QoS功能(3)
创建数据库以及相应的操作:/usr/share/pyshared/quantum/plugins/openvswitch/ 下创建ovs_qos_db.py,然后将其连接到/usr/lib/python2.7/dist-packages/quantum/plugins/openvswitch下,可参见Quantum 数据库增加新表 ovs_qos_db.pyimport sq原创 2013-07-10 08:42:54 · 2150 阅读 · 0 评论 -
自己动手写OpenStack的QoS功能(2)
在/usr/share/pyshared/quantum/plugins/openvswitch/ 下创建新包extensions,然后将其连接到/usr/lib/python2.7/dist-packages/quantum/plugins/openvswitch下。在extensions下创建ovsqos.py,同样需要进行软连接。具体可参见Quantum 数据库增加新表 1. 首先,原创 2013-07-10 08:38:55 · 2607 阅读 · 0 评论 -
自己动手写OpenStack的QoS功能(4)
quantum\plugins\openvswitch\ovs_quantum_plugin.py中继承于class OVSQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2, ovs_qos_db.QualityOfServiceDbMixin,原创 2013-07-10 08:49:57 · 1651 阅读 · 0 评论 -
Kombu Exchange
示例代码:from kombu.entity import Exchange, Queuefrom kombu.messaging import Consumerfrom kombu.connection import Connectionconnection = Connection('amqp://guest:[email protected]:5672//')channel = c原创 2013-09-11 16:28:39 · 1841 阅读 · 0 评论