yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #75270
[Bug 1798048] Re: cant modify project quotas
** Also affects: centos
Importance: Undecided
Status: New
** No longer affects: centos
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1798048
Title:
cant modify project quotas
Status in OpenStack Dashboard (Horizon):
New
Bug description:
error_log (httpd)
[Tue Oct 16 04:42:47.473489 2018] [:error] [pid 4688] Traceback (most recent call last):
[Tue Oct 16 04:42:47.473635 2018] [:error] [pid 4688] File "/usr/lib64/python2.7/logging/__init__.py", line 851, in emit
[Tue Oct 16 04:42:47.473780 2018] [:error] [pid 4688] msg = self.format(record)
[Tue Oct 16 04:42:47.473817 2018] [:error] [pid 4688] File "/usr/lib64/python2.7/logging/__init__.py", line 724, in format
[Tue Oct 16 04:42:47.473867 2018] [:error] [pid 4688] return fmt.format(record)
[Tue Oct 16 04:42:47.473896 2018] [:error] [pid 4688] File "/usr/lib64/python2.7/logging/__init__.py", line 464, in format
[Tue Oct 16 04:42:47.473943 2018] [:error] [pid 4688] record.message = record.getMessage()
[Tue Oct 16 04:42:47.473971 2018] [:error] [pid 4688] File "/usr/lib64/python2.7/logging/__init__.py", line 328, in getMessage
[Tue Oct 16 04:42:47.474014 2018] [:error] [pid 4688] msg = msg % self.args
[Tue Oct 16 04:42:47.474084 2018] [:error] [pid 4688] TypeError: not all arguments converted during string formatting
[Tue Oct 16 04:42:47.474109 2018] [:error] [pid 4688] Logged from file quotas.py, line 242
[Tue Oct 16 04:42:47.474415 2018] [:error] [pid 4688] UnhashableKeyWarning: The key of openstack_dashboard.usage.quotas tenant_quota_usages is not hashable and cannot be memoized: ((<weakref at 0x7ff30e987e68; to 'WSGIRequest' at 0x7ff30eb6a8d0>,), (('targets', ('share_snapshots', 'share_gigabytes', 'share_snapshot_gigabytes', 'shares', 'share_networks')), ('tenant_id', u'81cc9c2be8a9476fbf81f9fbe4d2c86b')))
[Tue Oct 16 04:42:47.474589 2018] [:error] [pid 4688] Traceback (most recent call last):
[Tue Oct 16 04:42:47.474635 2018] [:error] [pid 4688] File "/usr/lib64/python2.7/logging/__init__.py", line 851, in emit
[Tue Oct 16 04:42:47.474685 2018] [:error] [pid 4688] msg = self.format(record)
[Tue Oct 16 04:42:47.474713 2018] [:error] [pid 4688] File "/usr/lib64/python2.7/logging/__init__.py", line 724, in format
[Tue Oct 16 04:42:47.474752 2018] [:error] [pid 4688] return fmt.format(record)
[Tue Oct 16 04:42:47.474778 2018] [:error] [pid 4688] File "/usr/lib64/python2.7/logging/__init__.py", line 464, in format
[Tue Oct 16 04:42:47.474827 2018] [:error] [pid 4688] record.message = record.getMessage()
[Tue Oct 16 04:42:47.474856 2018] [:error] [pid 4688] File "/usr/lib64/python2.7/logging/__init__.py", line 328, in getMessage
[Tue Oct 16 04:42:47.474895 2018] [:error] [pid 4688] msg = msg % self.args
[Tue Oct 16 04:42:47.474931 2018] [:error] [pid 4688] TypeError: not all arguments converted during string formatting
[Tue Oct 16 04:42:47.474951 2018] [:error] [pid 4688] Logged from file quotas.py, line 242
[Tue Oct 16 04:42:47.476646 2018] [:error] [pid 4688] ERROR django.request Internal Server Error: /dashboard/identity/81cc9c2be8a9476fbf81f9fbe4d2c86b/update_quotas/
[Tue Oct 16 04:42:47.476673 2018] [:error] [pid 4688] Traceback (most recent call last):
[Tue Oct 16 04:42:47.476684 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
[Tue Oct 16 04:42:47.476694 2018] [:error] [pid 4688] response = get_response(request)
[Tue Oct 16 04:42:47.476703 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
[Tue Oct 16 04:42:47.476712 2018] [:error] [pid 4688] response = self.process_exception_by_middleware(e, request)
[Tue Oct 16 04:42:47.476721 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
[Tue Oct 16 04:42:47.476731 2018] [:error] [pid 4688] response = wrapped_callback(request, *callback_args, **callback_kwargs)
[Tue Oct 16 04:42:47.476740 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/horizon/decorators.py", line 36, in dec
[Tue Oct 16 04:42:47.476749 2018] [:error] [pid 4688] return view_func(request, *args, **kwargs)
[Tue Oct 16 04:42:47.476758 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/horizon/decorators.py", line 52, in dec
[Tue Oct 16 04:42:47.476767 2018] [:error] [pid 4688] return view_func(request, *args, **kwargs)
[Tue Oct 16 04:42:47.476785 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/horizon/decorators.py", line 36, in dec
[Tue Oct 16 04:42:47.476796 2018] [:error] [pid 4688] return view_func(request, *args, **kwargs)
[Tue Oct 16 04:42:47.476805 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/horizon/decorators.py", line 113, in dec
[Tue Oct 16 04:42:47.476814 2018] [:error] [pid 4688] return view_func(request, *args, **kwargs)
[Tue Oct 16 04:42:47.476822 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 68, in view
[Tue Oct 16 04:42:47.476831 2018] [:error] [pid 4688] return self.dispatch(request, *args, **kwargs)
[Tue Oct 16 04:42:47.476840 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 88, in dispatch
[Tue Oct 16 04:42:47.476849 2018] [:error] [pid 4688] return handler(request, *args, **kwargs)
[Tue Oct 16 04:42:47.476858 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/horizon/workflows/views.py", line 172, in post
[Tue Oct 16 04:42:47.476867 2018] [:error] [pid 4688] context = self.get_context_data(**kwargs)
[Tue Oct 16 04:42:47.476876 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/horizon/workflows/views.py", line 92, in get_context_data
[Tue Oct 16 04:42:47.476885 2018] [:error] [pid 4688] workflow = self.get_workflow()
[Tue Oct 16 04:42:47.476893 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/horizon/workflows/views.py", line 82, in get_workflow
[Tue Oct 16 04:42:47.476902 2018] [:error] [pid 4688] entry_point=entry_point)
[Tue Oct 16 04:42:47.476910 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/horizon/workflows/base.py", line 687, in __init__
[Tue Oct 16 04:42:47.476919 2018] [:error] [pid 4688] valid = step.action.is_valid()
[Tue Oct 16 04:42:47.476928 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/django/forms/forms.py", line 183, in is_valid
[Tue Oct 16 04:42:47.476937 2018] [:error] [pid 4688] return self.is_bound and not self.errors
[Tue Oct 16 04:42:47.476945 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/django/forms/forms.py", line 175, in errors
[Tue Oct 16 04:42:47.476954 2018] [:error] [pid 4688] self.full_clean()
[Tue Oct 16 04:42:47.476963 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/django/forms/forms.py", line 385, in full_clean
[Tue Oct 16 04:42:47.476971 2018] [:error] [pid 4688] self._clean_form()
[Tue Oct 16 04:42:47.476980 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/django/forms/forms.py", line 412, in _clean_form
[Tue Oct 16 04:42:47.476989 2018] [:error] [pid 4688] cleaned_data = self.clean()
[Tue Oct 16 04:42:47.476998 2018] [:error] [pid 4688] File "/usr/share/openstack-dashboard/openstack_dashboard/dashboards/identity/projects/workflows.py", line 68, in clean
[Tue Oct 16 04:42:47.477007 2018] [:error] [pid 4688] targets=tuple(self._quota_fields))
[Tue Oct 16 04:42:47.477016 2018] [:error] [pid 4688] File "/usr/lib/python2.7/site-packages/horizon/utils/memoized.py", line 105, in wrapped
[Tue Oct 16 04:42:47.477024 2018] [:error] [pid 4688] value = func(*args, **kwargs)
[Tue Oct 16 04:42:47.477033 2018] [:error] [pid 4688] File "/usr/share/openstack-dashboard/openstack_dashboard/usage/quotas.py", line 425, in tenant_quota_usages
[Tue Oct 16 04:42:47.477042 2018] [:error] [pid 4688] disabled_quotas = get_disabled_quotas(request, targets)
[Tue Oct 16 04:42:47.477051 2018] [:error] [pid 4688] File "/usr/share/openstack-dashboard/openstack_dashboard/usage/quotas.py", line 244, in get_disabled_quotas
[Tue Oct 16 04:42:47.477072 2018] [:error] [pid 4688] % set(targets) - QUOTA_FIELDS)
[Tue Oct 16 04:42:47.477082 2018] [:error] [pid 4688] TypeError: unsupported operand type(s) for -: 'str' and 'set'
my local_settings:
import os
from django.utils.translation import ugettext_lazy as _
from openstack_dashboard.settings import HORIZON_CONFIG
DEBUG = False
WEBROOT = '/dashboard/'
ALLOWED_HOSTS = ['openstack.luselab.local']
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
OPENSTACK_API_VERSIONS = {
"identity": 3,
"volume": 2,
"compute": 2,
}
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'
LOCAL_PATH = '/tmp'
SECRET_KEY='f0b0174732bef7dc3d78'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
},
}
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
OPENSTACK_HOST = "openstack.luselab.local"
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
OPENSTACK_KEYSTONE_URL = "http://controller:5000/v3"
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "myrole"
OPENSTACK_KEYSTONE_BACKEND = {
'name': 'native',
'can_edit_user': True,
'can_edit_group': True,
'can_edit_project': True,
'can_edit_domain': True,
'can_edit_role': True,
}
OPENSTACK_HYPERVISOR_FEATURES = {
'can_set_mount_point': False,
'can_set_password': False,
'requires_keypair': False,
'enable_quotas': True
}
OPENSTACK_CINDER_FEATURES = {
'enable_backup': False,
}
OPENSTACK_SOURCE_BOOT = {
'enable_image': True,
'enable_snapshot': True,
'enable_volume': True,
}
OPENSTACK_NEUTRON_NETWORK = {
'enable_router': True,
'enable_quotas': True,
'enable_ipv6': True,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_fip_topology_check': True,
# Default dns servers you would like to use when a subnet is
# created. This is only a default, users can still choose a different
# list of dns servers when creating a new subnet.
# The entries below are examples only, and are not appropriate for
# real deployments
# 'default_dns_nameservers': ["8.8.8.8", "8.8.4.4", "208.67.222.222"],
# Set which provider network types are supported. Only the network types
# in this list will be available to choose from when creating a network.
# Network types include local, flat, vlan, gre, vxlan and geneve.
# 'supported_provider_types': ['*'],
# You can configure available segmentation ID range per network type
# in your deployment.
# 'segmentation_id_range': {
# 'vlan': [1024, 2048],
# 'vxlan': [4094, 65536],
# },
# You can define additional provider network types here.
# 'extra_provider_types': {
# 'awesome_type': {
# 'display_name': 'Awesome New Type',
# 'require_physical_network': False,
# 'require_segmentation_id': True,
# }
# },
# Set which VNIC types are supported for port binding. Only the VNIC
# types in this list will be available to choose from when creating a
# port.
# VNIC types include 'normal', 'direct', 'direct-physical', 'macvtap',
# 'baremetal' and 'virtio-forwarder'
# Set to empty list or None to disable VNIC type selection.
'supported_vnic_types': ['*'],
# Set list of available physical networks to be selected in the physical
# network field on the admin create network modal. If it's set to an empty
# list, the field will be a regular input field.
# e.g. ['default', 'test']
'physical_networks': [],
}
OPENSTACK_HEAT_STACK = {
'enable_user_pass': True,
}
IMAGE_CUSTOM_PROPERTY_TITLES = {
"architecture": _("Architecture"),
"kernel_id": _("Kernel ID"),
"ramdisk_id": _("Ramdisk ID"),
"image_state": _("Euca2ools state"),
"project_id": _("Project ID"),
"image_type": _("Image Type"),
}
IMAGE_RESERVED_CUSTOM_PROPERTIES = []
API_RESULT_LIMIT = 1000
API_RESULT_PAGE_SIZE = 20
SWIFT_FILE_TRANSFER_CHUNK_SIZE = 512 * 1024
INSTANCE_LOG_LENGTH = 35
DROPDOWN_MAX_ITEMS = 30
TIME_ZONE = "America/New_York"
POLICY_FILES_PATH = '/etc/openstack-dashboard'
LOGGING = {
'version': 1,
# When set to True this will disable all logging except
# for loggers specified in this configuration dictionary. Note that
# if nothing is specified here and disable_existing_loggers is True,
# django.db.backends will still log unless it is disabled explicitly.
'disable_existing_loggers': False,
# If apache2 mod_wsgi is used to deploy OpenStack dashboard
# timestamp is output by mod_wsgi. If WSGI framework you use does not
# output timestamp for logging, add %(asctime)s in the following
# format definitions.
'formatters': {
'console': {
'format': '%(levelname)s %(name)s %(message)s'
},
'operation': {
# The format of "%(message)s" is defined by
# OPERATION_LOG_OPTIONS['format']
'format': '%(message)s'
},
},
'handlers': {
'null': {
'level': 'DEBUG',
'class': 'logging.NullHandler',
},
'console': {
# Set the level to "DEBUG" for verbose output logging.
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'console',
},
'operation': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'operation',
},
},
'loggers': {
'horizon': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'horizon.operation_log': {
'handlers': ['operation'],
'level': 'INFO',
'propagate': False,
},
'openstack_dashboard': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'novaclient': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'cinderclient': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'keystoneauth': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'keystoneclient': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'glanceclient': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'neutronclient': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'swiftclient': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'oslo_policy': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'openstack_auth': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'django': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
# Logging from django.db.backends is VERY verbose, send to null
# by default.
'django.db.backends': {
'handlers': ['null'],
'propagate': False,
},
'requests': {
'handlers': ['null'],
'propagate': False,
},
'urllib3': {
'handlers': ['null'],
'propagate': False,
},
'chardet.charsetprober': {
'handlers': ['null'],
'propagate': False,
},
'iso8601': {
'handlers': ['null'],
'propagate': False,
},
'scss': {
'handlers': ['null'],
'propagate': False,
},
},
}
SECURITY_GROUP_RULES = {
'all_tcp': {
'name': _('All TCP'),
'ip_protocol': 'tcp',
'from_port': '1',
'to_port': '65535',
},
'all_udp': {
'name': _('All UDP'),
'ip_protocol': 'udp',
'from_port': '1',
'to_port': '65535',
},
'all_icmp': {
'name': _('All ICMP'),
'ip_protocol': 'icmp',
'from_port': '-1',
'to_port': '-1',
},
'ssh': {
'name': 'SSH',
'ip_protocol': 'tcp',
'from_port': '22',
'to_port': '22',
},
'smtp': {
'name': 'SMTP',
'ip_protocol': 'tcp',
'from_port': '25',
'to_port': '25',
},
'dns': {
'name': 'DNS',
'ip_protocol': 'tcp',
'from_port': '53',
'to_port': '53',
},
'http': {
'name': 'HTTP',
'ip_protocol': 'tcp',
'from_port': '80',
'to_port': '80',
},
'pop3': {
'name': 'POP3',
'ip_protocol': 'tcp',
'from_port': '110',
'to_port': '110',
},
'imap': {
'name': 'IMAP',
'ip_protocol': 'tcp',
'from_port': '143',
'to_port': '143',
},
'ldap': {
'name': 'LDAP',
'ip_protocol': 'tcp',
'from_port': '389',
'to_port': '389',
},
'https': {
'name': 'HTTPS',
'ip_protocol': 'tcp',
'from_port': '443',
'to_port': '443',
},
'smtps': {
'name': 'SMTPS',
'ip_protocol': 'tcp',
'from_port': '465',
'to_port': '465',
},
'imaps': {
'name': 'IMAPS',
'ip_protocol': 'tcp',
'from_port': '993',
'to_port': '993',
},
'pop3s': {
'name': 'POP3S',
'ip_protocol': 'tcp',
'from_port': '995',
'to_port': '995',
},
'ms_sql': {
'name': 'MS SQL',
'ip_protocol': 'tcp',
'from_port': '1433',
'to_port': '1433',
},
'mysql': {
'name': 'MYSQL',
'ip_protocol': 'tcp',
'from_port': '3306',
'to_port': '3306',
},
'rdp': {
'name': 'RDP',
'ip_protocol': 'tcp',
'from_port': '3389',
'to_port': '3389',
},
}
REST_API_REQUIRED_SETTINGS = ['OPENSTACK_HYPERVISOR_FEATURES',
'LAUNCH_INSTANCE_DEFAULTS',
'OPENSTACK_IMAGE_FORMATS',
'OPENSTACK_KEYSTONE_BACKEND',
'OPENSTACK_KEYSTONE_DEFAULT_DOMAIN',
'CREATE_IMAGE_DEFAULTS',
'ENFORCE_PASSWORD_CHECK']
ALLOWED_PRIVATE_SUBNET_CIDR = {'ipv4': [], 'ipv6': []}
To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1798048/+subscriptions
References