分享

怎样更该Neutron Subnet IP地址段

pig2 发表于 2013-12-20 08:47:25 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 0 10511
Subnet与IP分配的一些细节Neutron现在不支持更新Subnet的网络地址范围,就是说一旦你创建Subnet完成之后,那么这个Subnet的可用地址范围就固定了,无法扩展或者缩小。
那么,如果有更新Subnet的网络地址范围的需求,应该如何去做呢? 这里就介绍一下Subnet与IP分配的一些细节。
Neutron数据库中有三个和Subnet关系紧密的表:ipallocationpools(IP池),ipavailabilityranges(可用IP段),ipallocations(已分配IP)。
每个Subnet包含多个ip allocation pool,合法的ip allocation pool需满足三个限制条件:
  • ip allocation  pool的地址段不可重叠
  • ip allocation pool的地址段不可超出Subnet子网CIDR确定的子网范围
  • Subnet的Gateway IP不包含在ip allocation pool中

Subnet的可分配IP范围是所有ip allocation pool的集合,是CIDR确定的子网范围的子集。只有在ip allocation pool范围内的IP才会被分配给虚拟机。

每个ip allocation pool可以划分为多个ip availability range。ip availablity range和ipallocations的并集等于ip allocation pooll。

Subnet中未分配的IP属于ip availability range集合。
Subnet中已经分配出去的IP属于ip allocations集合。

一图胜千言 20131219110720593.jpg

在哪里修改代码?如果你想要实现更新Subnet网络地址范围的功能,请修改db/db_base_plugin_v2.py中update_subnet方法的代码。另外,需要修改api/v2/attributes.py文件中的代码
  1. # allow_put的值要修改为True
复制代码
  1. 'allocation_pools': {'allow_post': True, 'allow_put': False,
  2.                              'default': ATTR_NOT_SPECIFIED,
  3.                              'validate': {'type:ip_pools': None},
  4.                              'is_visible': True},
复制代码
Neutron现在为虚拟机分配IP地址的规则是不可配置的。社区已经提交了使IP分配规则可配置的blueprint,Icehouse版本发布之后应该可以看到这个功能。上面希望对大家有所帮助。

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条