[BUG] Dashboard报错:if usages['subnets']['available'] <= 0: KeyError: 'available'

时间:2022-01-14 03:56:42

Openstack版本号:Liberty

系统平台:CentOS 7.2 64bit

###############################################################

1.现象:

管理员登陆Dasgboard,查看项目》网络》网络》选择一个网络》选择一个子网》查看网络ID,例如以下:

[BUG] Dashboard报错:if usages['subnets']['available'] &lt;= 0: KeyError: 'available'

查看httpd日志报错例如以下:

tail -f /etc/httpd/logs/error_log
[Tue Apr 12 10:24:08.830778 2016] [:error] [pid 94866] Error while checking action permissions.
[Tue Apr 12 10:24:08.830848 2016] [:error] [pid 94866] Traceback (most recent call last):
[Tue Apr 12 10:24:08.830854 2016] [:error] [pid 94866] File "/usr/lib/python2.7/site-packages/horizon/tables/base.py", line 1270, in _filter_action
[Tue Apr 12 10:24:08.830859 2016] [:error] [pid 94866] return action._allowed(request, datum) and row_matched
[Tue Apr 12 10:24:08.830862 2016] [:error] [pid 94866] File "/usr/lib/python2.7/site-packages/horizon/tables/actions.py", line 135, in _allowed
[Tue Apr 12 10:24:08.830866 2016] [:error] [pid 94866] self.allowed(request, datum))
[Tue Apr 12 10:24:08.830873 2016] [:error] [pid 94866] File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/project/networks/subnets/tables.py", line 103, in allowed
[Tue Apr 12 10:24:08.830883 2016] [:error] [pid 94866] if usages['subnets']['available'] <= 0:
[Tue Apr 12 10:24:08.830899 2016] [:error] [pid 94866] KeyError: 'available'

################################################################

2.问题解决:

改动/usr/share/openstack-dashboard/openstack_dashboard/dashboards/project/networks/subnets/tables.py源码例如以下:

class CreateSubnet(SubnetPolicyTargetMixin, CheckNetworkEditable,
tables.LinkAction):
name = "create"
verbose_name = _("Create Subnet")
url = "horizon:project:networks:addsubnet"
classes = ("ajax-modal",)
icon = "plus"
policy_rules = (("network", "create_subnet"),) def get_link_url(self, datum=None):
network_id = self.table.kwargs['network_id']
return reverse(self.url, args=(network_id,)) def allowed(self, request, datum=None):
usages = quotas.tenant_quota_usages(request)
if usages['subnets'].get('available', 1) <= 0:
if 'disabled' not in self.classes:
self.classes = [c for c in self.classes] + ['disabled']
self.verbose_name = _('Create Subnet (Quota exceeded)')
else:
self.verbose_name = _('Create Subnet')
self.classes = [c for c in self.classes if c != 'disabled'] return True

[BUG] Dashboard报错:if usages['subnets']['available'] &lt;= 0: KeyError: 'available'的更多相关文章

  1. pip安装包报错:Microsoft Visual C&plus;&plus; 9&period;0 is required Unable to find vcvarsall&period;bat

    pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat Windows7下pip安装包报错:Microso ...

  2. Windows下pip安装包报错:Microsoft Visual C&plus;&plus; 9&period;0 is required Unable to find vcvarsall&period;bat

    刚在机器上windows环境下装上pip方便以后安装包的时候使用,谁知道第一次使用pip安装asyncio的时候就报错. 在Windows7x64下使用pip安装包的时候提示报错:Microsoft ...

  3. JDK1&period;8环境下依然报错 Unsupported major&period;minor version 52&period;0

    JDK1.8环境下依然报错 Unsupported major.minor version 52.0 在配置elasticsearch-rtf全文搜索引擎时,按照Github上项目readme.md来 ...

  4. pip安装pycrypto报错:Microsoft Visual C&plus;&plus; 14&period;0 is required&period; 和 SSLError&colon; HTTPSConnectionPool的解决办法

    今天本打算把[Python3爬虫]网易云音乐爬虫 的代码敲一遍, 但是在安装pycrypto老是报错, 由于我计算是win10, 并且也有vs2017 python3环境下安装pycrypto的一些问 ...

  5. maven项目中的报错问题——Dynamic Web Module 3&period;0 requires Java 1&period;6 or newer&period;

    转自:http://www.cnblogs.com/beppezhang/p/5919221.html maven项目中的报错问题——Dynamic Web Module 3.0 requires J ...

  6. 从高版本JDK换成低版本JDK报错Unsupported major&period;minor version 52&period;0的解决方案

    从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0 java.lang.UnsupportedClassVersionError: PR/Sor ...

  7. 遇到问题----gradle-----myeclipse的gradle插件导入项目报错nsupported major&period;minor version 51&period;0

    装好了gradle插件之后 想要导入gradle类型的项目,然后在 build model的过程中发现: 报错nsupported major.minor version 51.0 查了下发现是jdk ...

  8. 【python】 Windows下pip安装包报错:Microsoft Visual C&plus;&plus; 9&period;0 is required Unable to find vcvarsall&period;bat

    刚在机器上windows环境下装上pip方便以后安装包的时候使用,谁知道第一次使用pip安装asyncio的时候就报错. 在Windows7x64下使用pip安装包的时候提示报错:Microsoft ...

  9. 安装Scrapy报错 error&colon; Microsoft Visual C&plus;&plus; 14&period;0 is required解决方法

    [问题背景]:在Windows 10系统,pip install Scrapy,报错error: Microsoft Visual C++ 14.0 is required,还有提示Twisted需要 ...

随机推荐

  1. jQuery返回顶部(精简版)

    jQuery返回顶部(精简版) <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  2. Yarn的服务库和事件库使用方法

    事件类型定义: package org.apache.hadoop.event; public enum JobEventType { JOB_KILL, JOB_INIT, JOB_START } ...

  3. vim查找&sol;替换字符串 及一些高级用法

    例: 32 ./run 0_39.pkt 0_39.jpg 33 ./run 0_3.pkt 0_3.jpg 34 ./run 0_40.pkt 0_40.jpg 35 ./run 0_41.pkt ...

  4. ios 设备震动

    使得iOS设备震动有两个方法,均是传入kSystemSoundID_Vibrate常量. AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); Au ...

  5. Android应用程序基础

    Android程序使用Java语言编写.Android开发套件把数据.资源文件和Java代码编译到一个.以.apk为后缀名的Android压缩包中.一个单独的apk文件中的所有代码被认为是一个andr ...

  6. overflow&colon;hidden 你所不知道的事

    overflow:hidden 你所不知道的事 overflow:hidden这个CSS样式是大家常用到的CSS样式,但是大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很了解. ...

  7. linux版powershell安装教程&lpar;&period;net core版&rpar;

    powershell 传教士 原创文章 始于2016-12-20,2017-03-15改.文章版本目前博客园为最新版. 允许转载,但必须保留名字和出处,否则追究法律责任 问:powershell二进制 ...

  8. java 提取目录下所有子目录的文件到指定位置

    package folder; import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExcept ...

  9. C程序第一次作业

    1-1 计算两数的和与差 1 设计思路 (1)主要描述题目算法 第一步:利用指针psum接收sum的地址,指针pdiff接收diff的地址,因此 * psum为sum, * pdiff为diff. 第 ...

  10. web&period;config或App&period;config中AttachDBFilenamex相对路径问题

    <add name="employeeManagerConnectionString" connectionString="Data Source=.\SQLExp ...