opentack neutron学习 -- create_network实现
来源:互联网 发布:屏幕亮点修复软件 编辑:程序博客网 时间:2024/05/01 05:24
声明:
本博客欢迎转发,但请保留原作者信息!
博客地址:http://blog.csdn.net/llg8212
内容系本人学习、研究和总结,如有雷同,不胜荣幸!
该接口的代码流程以openvswitch的实现为例。
1.请求响应消息
1.1创建nativenetwork
请求:
{
"network":
{
"name":"sample_network",
"admin_state_up":false
}
}
应答:
{
"network":{
"admin_state_up":true,
"id":"850d3f2c-f0a5-4f8b-b1cf-5836fc0be940",
"name":"sample_network",
"shared":false,
#
是否可以在多个tenant
共享
"status":"ACTIVE",
"subnets":[],
"tenant_id":"f667b69e4d6749749ef3bcba7251d9ce"
}
}
1.2
使用provider
请求:
{
"network":
{
"name":
"net-name",
"admin_state_up":
true,
"provider:network_type":
"vlan",
"provider:physical_network":
"physnet_1",
"provider:segmentation_id":
201
}
}
应答:
{
"network":
{
"status":
"ACTIVE",
"subnets":
[],
"name":
"network-1",
"admin_state_up":
true,
"tenant_id":
"c1210485b2424d48804aad5d39c61b8f",
"id":
"3a06dfc7-d239-4aad-9a57-21cd171c72e5",
"shared":
false,
"provider:network_type":
"vlan",
"provider:physical_network":
"physnet_1",
"provider:segmentation_id":
101
}
}
1.3 Bulk create networks
请求:
{
"networks":[
{
"name":"sample_network_1",
"admin_state_up":false
},
{
"name":"sample_network_2",
"admin_state_up":false
}
]
}
注:批量创建网络的处理和创建单个的处理流程是完全一样的,仅在neutron-server
中将多个网络信息解析并放到一个list
中,然后通过循环去创建。最后返回的消息也是批量的消息。
2.代码流程
create_network的过程就是neutron-server接收到restapi请求后,调用plugin的create_network方法,根据请求的参数将相应信息写入数据库并返回创建的记录的过程。其时序图如下:
疑问:发出网络创建开始和结束以及dhcp的消息有什么作用?
如果创建网络时指定了provider,在plugin创建网络的过程中会先处理provider,其处理流程如下图所示:
从以上的流程处理获得如下一张provider中网络模式和physical_network及segmentation_id的取值对应关系表(这也就是传入provider需要遵守的约束):
provider:
network_type
provider:physical_network
provider:
segmentation_id
备注
local
☒
☒
flat
如果设置,需跟plugin配置中network_vlan_ranges= XXX[:start:end]中的XXX;
如果没设置并且XXX为'default',physical_network设置为'default'
☒ 代码中设置为-1
vlan
☑ 在1~4094之间
已有
bpprovider_network_partial_specs,允许不指定segmentation_id
gre和vxlan
☒ 代码中设置为None
☑
tunneling需为true
- opentack neutron学习 -- create_network实现
- opentack neutron环境
- opentack-neutron 相关文章列表
- 【neutron源码分析】create_network/create_subnet/create_port源码分析
- 【neutron源码分析】create_network/create_subnet/create_port源码分析
- opentack学习,版主帖子不错
- opentack ocata安装学习经验分享
- 【neutron】OpenStack Neutron -- 学习资料
- 深度探索 OpenStack Neutron:Neutron 实现模型
- 【neutron】Neutron的基本原理与代码实现
- openstack neutron学习 -- neutron结构及配置
- neutron SDN的实现
- OpenStack Neutron FWaaS 学习
- neutron学习资料汇总
- Neutron 架构学习
- openstack neutron 学习资料
- Neutron OVS 学习
- Neutron学习笔记
- loongson 1B 开发板移植sqlite3.6.20
- 40个有创意的jQuery图片和内容滑动及弹出插件收藏集之一
- 黑马程序员--用类加载器的方式管理资源和配置文件
- linux 打印错误的简单方法
- JVM1:概述
- opentack neutron学习 -- create_network实现
- C#一个消息触发多个并行消息
- Android WebApp 開發教學 (2) – HTML5 Web Storage
- JVM2:Jvm方法区
- [解决]您的服务器不支持 Zlib,这将会导致应用无法安装。请联系您的服务商或者网站...
- Intent--打开网页
- Hibernate 中的悲观锁和乐观锁
- 我也有自己的博客了
- Ubuntu输入法设置