- 浏览: 303541 次
- 性别:
- 来自: 西安
最新评论
-
happyxiaomo:
...
【openstack】openstack的调度(Scheduler) -
linuxgao:
请问,OpenStack在关心消息返回值的情况下,两个队列一发 ...
【架构】关于RabbitMQ -
wangchao719:
zfj_0928 写道引用1. 消息ACK,通知RabbitM ...
【架构】关于RabbitMQ -
zfj_0928:
引用1. 消息ACK,通知RabbitMQ消息已被处理,可以从 ...
【架构】关于RabbitMQ -
zhangwind:
写的好,很感谢!
【架构】关于RabbitMQ
Quantum关于Port的操作(LinuxBridge)
1 创建port
1.1 流程
(2012/12/13修正): 为port分配IP时,当没有指定fixed_ip,是从network中选一个有空闲IP的subnet分配IP ,而不是从所有subnet分配。
# 校验fixed_ips的合法性
def _test_fixed_ips_for_port(self, context, network_id, fixed_ips):
"""Test fixed IPs for port.
Check that configured subnets are valid prior to allocating any
IPs. Include the subnet_id in the result if only an IP address is
configured.
:raises: InvalidInput, IpAddressInUse
"""
fixed_ip_set = []
for fixed in fixed_ips:
found = False
# 如果没有指定subnet
if 'subnet_id' not in fixed:
# 如果既没有指定subnet,也没有指定ip_address,抛错
if 'ip_address' not in fixed:
msg = _('IP allocation requires subnet_id or ip_address')
raise q_exc.InvalidInput(error_message=msg)
# 如果没有指定subnet,但指定了ip_address
filter = {'network_id': [network_id]}
# 找到属于入参network_id的所有subnet
subnets = self.get_subnets(context, filters=filter)
for subnet in subnets:
# 检查ip_address是否在subnet中,返回subnet_id
if QuantumDbPluginV2._check_subnet_ip(subnet['cidr'],
fixed['ip_address']):
found = True
subnet_id = subnet['id']
break
# 如果在所有subnet都没有找到,抛错
if not found:
msg = _('IP address %s is not a valid IP for the defined '
'networks subnets') % fixed['ip_address']
raise q_exc.InvalidInput(error_message=msg)
# 如果指定了subnet
else:
subnet = self._get_subnet(context, fixed['subnet_id'])
# subnet所属network与入参不一致,抛错
if subnet['network_id'] != network_id:
msg = _('Failed to create port on network %s, '
'because fixed_ips included invalid subnet '
'%s') % (network_id, fixed['subnet_id'])
raise q_exc.InvalidInput(error_message=msg)
subnet_id = subnet['id']
# 如果指定了ip_address
if 'ip_address' in fixed:
# Ensure that the IP's are unique
# 在ipallocation表中查找,如果记录已存在,抛错
if not QuantumDbPluginV2._check_unique_ip(context, network_id,
subnet_id,
fixed['ip_address']):
raise q_exc.IpAddressInUse(net_id=network_id,
ip_address=fixed['ip_address'])
# Ensure that the IP is valid on the subnet
# 如果记录不存在,且同时指定了subnet和ip_address,则判断ip_address是否属于指定的subnet内
if (not found and
not QuantumDbPluginV2._check_subnet_ip(
subnet['cidr'], fixed['ip_address'])):
msg = _('IP address %s is not a valid IP for the defined '
'subnet') % fixed['ip_address']
raise q_exc.InvalidInput(error_message=msg)
fixed_ip_set.append({'subnet_id': subnet_id,
'ip_address': fixed['ip_address']})
else:
fixed_ip_set.append({'subnet_id': subnet_id})
return fixed_ip_set
2 删除port
2.1 流程
3 更新port
3.1 流程
4 总结
注意,这里对port的操作中,更新port是需要向下层的agent发送消息处理的,其他操作都只是上层的逻辑操作而已。
发表评论
-
【OpenStack】OpenStack服务的启动
2013-03-15 13:35 12287OpenStack服务的启动 本博客欢迎转发,但请保 ... -
【OpenStack】使用Rest工具向OpenStack消息发送指导
2013-03-13 20:15 3384本博客欢迎转发,但请保留原作者(新浪微博:@孔令贤HW;博客 ... -
【OpenStack】【转】Openstack之Cinder服务初探
2013-03-11 14:22 2092这篇blog是一个同事不久前写的,得到允许后,在此转载 ... -
【OpenStack】创建虚拟机时与Quantum的交互(F版)
2013-02-27 14:33 1807本博客欢迎转发,但请保留原作者(新浪微博:@孔令贤HW;博 ... -
【OpenStack】 Grizzly中的nova-conductor
2013-02-24 11:26 5360OpenStack Grizzly中的nova ... -
【OpenStack】Folsom版Quantum对象模型
2013-02-19 11:43 1538本博客欢迎转发,但请保留原作者信息(@孔令贤HW)!内容系 ... -
【openstack】Quantum(Folsom版)中update_floatingIP流程
2013-02-18 17:56 1293本博客欢迎转发,但请保留原作者信息(@孔令贤HW)!内容系 ... -
【OpenStack】G版中关于Nova的Cell
2013-02-02 03:02 4054本博客欢迎转发,但请保留原作者(新浪微博:@孔令贤HW;博 ... -
【OpenStack】G版Keystone对象模型
2013-02-02 01:14 3413本博客欢迎转发,但请保留原作者信息(@孔令贤HW)!内 ... -
【OpenStack】Grizzly版本中Scheduler filter机制详解
2013-01-26 18:11 2594Grizzly版本中Scheduler filter机制详 ... -
【OpenStack】Grizzly目前版本相对于Folsom的变更
2013-01-24 10:05 2970本博客欢迎转发,但请保留原作者(新浪微博:@孔令贤HW;博 ... -
Grizzly中的LoadBalancer初步分析
2013-01-22 09:41 2147Grizzly中的LoadBalancer初步分析 ... -
OpenStack网络知识片断(持续更新)
2012-12-26 16:14 13319OpenStack网络知识片断(持续更新) ... -
Quantum中的L3模型实战
2012-12-20 09:01 5060Quantum中的L3模型实战 ... -
在OpenStack使用XenServer资源池浅析
2012-12-13 13:33 3059在OpenStack使用XenServer资源池浅析 ... -
使用Komodo远程调试python(OpenStack)
2012-12-10 14:42 7193使用Komodo远程调试python(OpenStack) ... -
如何在openstack环境中实现定制化功能
2012-12-03 20:02 2762本博客欢迎转发,但请保留原作者(@孔令贤HW)信息!内容系本 ... -
由浅入深(源码)分析nova的资源刷新机制
2012-11-30 17:06 5136本博客欢迎转发,但请保留原作者(@孔令贤HW)信息!内容系本 ... -
【转】Ubuntu12.04 OpenStack Folsom 安装(VLAN模式)
2012-11-27 16:45 4009Ubuntu12.04 OpenStack Folsom ... -
【openstack】Nova中的policy
2012-11-10 13:32 3995Nova中的policy 本博 ...
相关推荐
综上所述,这份文档提供了关于 OpenStack Quantum(Neutron)的全面介绍和深入指导,不仅涵盖了基本的安装配置流程,还深入探讨了许多高级特性和配置选项。对于希望深入了解并有效利用 OpenStack Networking 的管理...
- **neutron-plugin**: 网络插件,实现了具体的网络逻辑,例如Open vSwitch、Linux Bridge等。 ##### 2. 创建虚拟机实例的流程 - **Tenant 创建**: 用户通过Horizon或CLI创建租户,同时配置配额。 - **请求虚拟机*...
官方离线安装包,亲测可用
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
"OpenStack 使用 Linux Bridge+VXLAN 模式的网络变化与分析" OpenStack 是一个开源的云计算平台,提供了丰富的网络功能,以满足不同的应用场景。其中,Neutron 是 OpenStack 的网络组件,负责管理和维护网络资源。...
在探讨OpenStack中使用Linux Bridge实现VXLAN网络的过程中,我们将涉及以下几个方面的知识点: 1. OpenStack环境部署和网络组件 OpenStack版本为ocata,系统采用Ubuntu 16.04.2,部署了一个控制节点和一个计算节点...
- **Quantum L2 Linux Bridge 插件**:基于Linux Bridge实现二层网络功能。 - **Quantum Plugin for NVP (nicira_nvp)**:支持Nicira网络虚拟化平台。 - **Open vSwitch Plugin**:利用Open vSwitch实现网络虚拟化。...
OpenStack:云中的“LINUX”.pdf
OpenStack.云时代的Linux?——首届OpenStack亚太技术大会侧记.pdf
OpenStack 是一个开源的云操作系统,Quantum(现在称为 Neutron)是 OpenStack 的网络服务组件,负责管理虚拟网络基础设施。Open vSwitch (OVS) 是一种高性能的、可扩展的虚拟交换机解决方案,用于支持 OpenStack 和...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装