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
其他功能出不了
完整的功能应该是:
以快照为例: 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
相关文章推荐
- Android内存泄漏的本质原因、解决办法、操作实例
- 从 IClassFactory 为 CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 组件创建实例失败,原因是出现以下错误: 8001010a解决办法 .
- IE打开页面报错:已终止操作 原因及解决办法
- 【实例说明FTP无法列表的原因及解决方式】
- 错误“操作必须使用一个可更新的查询”原因及解决办法
- 错误"操作必须使用一个可更新的查询"原因及解决办法
- SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法
- 错误“操作必须使用一个可更新的查询”原因及解决办法
- 实例说明FTP无法列表的原因及解决方式
- 关于IE某些原因导致下拉列表弹出阻止窗口的解决办法
- 错误“操作必须使用一个可更新的查询”原因及解决办法
- Jquery Ajax请求文件下载操作失败的原因分析及解决办法
- 错误“操作必须使用一个可更新的查询”原因及解决办法
- 错误“操作必须使用一个可更新的查询”原因及解决办法
- asp+access中 打开网页时出现“操作必须使用一个可更新的查询”原因及解决办法
- 关于“DropDownList 有一个无效 SelectedValue,原因是它不存在于项目列表中”的解决办法
- 在Linux(红旗AdvanceServer4.1)执行oracle的imp操作报错的原因和解决的办法
- SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法
- 错误“操作必须使用一个可更新的查询”原因及解决办法
- asp中 打开网页时出现“操作必须使用一个可更新的查询”原因及解决办法