您的位置:首页 > 其它

horizon 实例列表中实例的操作出不来的原因和解决办法

2013-01-23 14:13 155 查看
虚拟机列表中虚拟机的操作出不来,只有一个终止实例功能

其他功能出不了

完整的功能应该是:



以快照为例: horizon/dashboard/nova/instances_and_volumes/instances/tables.py 中

class SnapshotLink(tables.LinkAction):

name = "snapshot"

verbose_name = _("Snapshot")

url = "horizon:nova:images_and_snapshots:snapshots:create"

classes = ("ajax-modal", "btn-camera")

def allowed(self, request, instance=None):

return instance.status in ACTIVE_STATES 返回True 则有这个功能,返回False没有这个功能

原因:horizon/dashboard/nova/instances_and_volumes/instances/tables.py 中设置:

ACTIVE_STATES = ("ACTIVE",)

而数据库中instances的vm_state字段是active。大小写导致的。

allowed都是返回False。

解决:添加一个状态:

ACTIVE_STATES = ("ACTIVE", "active")

比较诡异的事情是,数据库中一直是active,装了好几个环境,有的环境取到的值就是active 有的就是ACTIVE。 在instances_and_volumes/views.py中打印

for instance in instances:

LOG.error(instance.status)

有的环境是ACTIVE 有的环境是active
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐