分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

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

发布时间:2023-09-06 01:50责任编辑:彭小芳关键词:暂无标签
???????????????????????????
???????????????????????

Openstack版本号:Liberty

系统平台:CentOS 7.2 64bit

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

1.现象:

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


查看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'

原文地址:https://www.cnblogs.com/zhchoutai/p/8901089.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved