OpenStack
文章平均质量分 67
记录、分享、成长
spch2008
github.com/spch2008
展开
-
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 · 2042 阅读 · 0 评论 -
Quantum Server启动流程
的发送到原创 2013-07-25 19:29:51 · 2026 阅读 · 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 · 1440 阅读 · 0 评论 -
Quantum的权限认证(3)
这里主要说一下,权限信息的加载过程。quantum\openstack\common\policy.py中全局变量_checks = {}是一个字典,存放各种权限验证类。比如;{'rule':RuleCheck, 'role':RoleCheck},由于使用了装饰器,所以,此模块被加载时,_checks就被初始化了,具体可参见带参数的装饰器。def register(name, f原创 2013-08-01 16:28:31 · 1120 阅读 · 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 · 1256 阅读 · 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 · 1489 阅读 · 0 评论 -
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 · 1586 阅读 · 0 评论 -
nova.conf 参数说明
# Rabbit-MQ--rabbit_host=10.108.110.23# MySQL--sql_connection=mysql://novaUser:novaPwd@10.108.110.23/nova# API--cc_host=10.108.110.23--auth_strategy=keystone--s3_host=10.108.110.23原创 2012-08-14 09:21:48 · 3498 阅读 · 0 评论 -
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 · 5637 阅读 · 14 评论 -
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 · 8121 阅读 · 0 评论 -
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 · 4446 阅读 · 11 评论 -
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 · 7245 阅读 · 1 评论 -
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 · 2000 阅读 · 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 · 5834 阅读 · 0 评论 -
自己动手写OpenStack的QoS功能(7)
前面已经介绍了大部分功能,只剩下启动虚拟机的时候,将qos参数interface_qos(即qos_id)传入,同时在数据库中,关联端口与qos_id,由于这一部分不是我写的,所以不是很了解,有空的时候在仔细看看。原创 2013-07-10 09:21:54 · 1525 阅读 · 2 评论 -
自己动手写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 · 1595 阅读 · 0 评论 -
自己动手写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 · 2130 阅读 · 1 评论 -
自己动手写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 · 1687 阅读 · 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 · 2189 阅读 · 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 · 2620 阅读 · 0 评论 -
自己动手写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 · 4262 阅读 · 1 评论 -
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 · 6470 阅读 · 3 评论 -
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 · 8560 阅读 · 0 评论 -
keystone 身份验证流程(1)
之前在网上看到一张keystone工作流程图,如下: credentials实际就是用户名,密码种类的东西。通过用户名与密码向keystone进行注册,取得一个token。 curl -d '{"auth": {"tenantName": "$YOUR_TENANT_NAME", "passwordCredentials":{"username": "$YOUR_USER_N原创 2013-07-19 14:33:09 · 6993 阅读 · 0 评论