OpenStack Folsom创建实例失败之Quota_Fixed_IP篇

15 篇文章 0 订阅
14 篇文章 0 订阅

OpenStack Folsom中有一个BUG,那就是Fixed_Ips的配额问题


查阅官方文档得出,OpenStack的的默认quota配额如下:


Table 3.1. Description of nova.conf file configuration options for quotas
Configuration option=Default value(Type) Description

quota_cores=20

(IntOpt) number of instance cores allowed per project (tenant)

quota_floating_ips=10

(IntOpt) number of floating ips allowed per project (tenant)

quota_gigabytes=1000

(IntOpt) number of volume gigabytes allowed per project (tenant)

quota_injected_file_content_bytes=10240

(IntOpt) number of bytes allowed per injected file

quota_injected_file_path_bytes=255

(IntOpt) number of bytes allowed per injected file path

quota_injected_files=5

(IntOpt) number of injected files allowed

quota_instances=10

(IntOpt) number of instances allowed per project (tenant)

quota_key_pairs=100

(IntOpt) number of key pairs allowed per user

quota_metadata_items=128

(IntOpt) number of metadata items allowed per instance

quota_ram=51200

(IntOpt) megabytes of instance ram allowed per project (tenant)

quota_security_group_rules=20

(IntOpt) number of security rules per security group

quota_security_groups=10

(IntOpt) number of security groups per project (tenant)

quota_volumes=10

(IntOpt) number of volumes allowed per project (tenant)

其中并没有指出Fixed_Ips的参数和配置,而使用管理员在Dashboard控制台中查看默认默认Quota的时候,显示如下图:


在控制台的Project中可Modify Quotas的功能中,也没有发现可修改的Fix_Ips项,如下图:


再查阅官方Nova配置文档,表明Quotas默认值可以通过修改nova配置文件/etc/nova/nova.conf进行配置,官方文档地址:http://docs.openstack.org/folsom/openstack-compute/admin/content/list-of-compute-config-options.html,其中关于quotas的配置参数说明如下:


Table 5.8. Description of nova.conf file configuration options for quotas

Configuration option=Default value

(Type) Description

max_age=0

(IntOpt) number of seconds between subsequent usage refreshes

quota_cores=20

(IntOpt) number of instance cores allowed per project (tenant)

quota_driver=nova.quota.DbQuotaDriver

(StrOpt) Default driver to use for quota checks

quota_floating_ips=10

(IntOpt) number of floating ips allowed per project (tenant)

quota_gigabytes=1000

(IntOpt) number of volume gigabytes allowed per project (tenant)

quota_injected_file_content_bytes=10240

(IntOpt) number of bytes allowed per injected file

quota_injected_file_path_bytes=255

(IntOpt) number of bytes allowed per injected file path

quota_injected_files=5

(IntOpt) number of injected files allowed

quota_instances=10

(IntOpt) number of instances allowed per project (tenant)

quota_key_pairs=100

(IntOpt) number of key pairs allowed per user

quota_metadata_items=128

(IntOpt) number of metadata items allowed per instance

quota_ram=51200

(IntOpt) megabytes of instance ram allowed per project (tenant)

quota_security_group_rules=20

(IntOpt) number of security rules per security group

quota_security_groups=10

(IntOpt) number of security groups per project (tenant)

quota_volumes=10

(IntOpt) number of volumes allowed per project (tenant)

reservation_expire=86400

(IntOpt) number of seconds until a reservation expires

until_refresh=0

(IntOpt) count of reservations until usage is refreshed

仔细查找,其中并无关于Fixed_Ips的配置,比较疑惑,但是问题的确存在,在Project中创建超过10个实例时发生错误,日志显示错误内容如下:

2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca] Traceback (most recent call last):
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 749, in _spawn
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]     block_device_info)
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]   File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 117, in wrapped
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]     temp_level, payload)
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]   File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]     self.gen.next()
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]   File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 92, in wrapped
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]     return f(*args, **kw)
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1086, in spawn
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]     block_device_info=block_device_info)
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1863, in to_xml
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]     rescue, block_device_info)
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1821, in get_guest_config
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]     cfg = self.vif_driver.plug(instance, (network, mapping))
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/vif.py", line 111, in plug
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]     return self._get_configurations(instance, network, mapping)
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/vif.py", line 68, in _get_configurations
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca]     conf.add_filter_param("IP", mapping['ips'][0]['ip'])
2013-04-24 12:14:05 10555 TRACE nova.compute.manager [instance: cc8a04a5-c320-464a-b21c-9014ce3e56ca] IndexError: list index out of range

百思不得其解,Google也未找到问题,官方bug修改只说已经修改该BUG,并且在最新的Grizzly版本中已经没有该问题,但是并未给出Folsom版和Essex版本中的解决办法,于是,抱着侥幸心理根据官方文档中Quota其他参数的配置,在nova.conf文件中添加了一条配置:

quota_fixed_ips=100

然后重启nova服务

cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done

在控制节点和网络节点都执行一遍,回到Dashboard控制台一看,发现Quotas中的Fixed Ips已经改变,并且再创建实例,正常,问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值