← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1790930] Re: UnhashableKeyWarning in openstack_dashboard.api.nova extension_supported

 

Reviewed:  https://review.openstack.org/600204
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=f9bb10b945c8b00b345e9169ba7faa5d068382a9
Submitter: Zuul
Branch:    master

commit f9bb10b945c8b00b345e9169ba7faa5d068382a9
Author: Akihiro Motoki <amotoki@xxxxxxxxx>
Date:   Wed Sep 5 19:08:33 2018 +0000

    Avoid UnhashableKeyWarning in api.nova.extension_supported
    
    In python3, novaclient ListExtResource is not hashable.
    An error message on UnhashableKeyWarning is emitted repeatedly
    and this can pollute error log with unuseful messages.
    
    A tuple of extension names are now passed to the memoized
    decorator so that the decorator can hash it.
    
    Change-Id: I7f200ee6ece36767586207dc26aed1325b909226
    Closes-Bug: #1790930


** Changed in: horizon
       Status: In Progress => Fix Released

-- 
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/1790930

Title:
  UnhashableKeyWarning in openstack_dashboard.api.nova
  extension_supported

Status in OpenStack Dashboard (Horizon):
  Fix Released

Bug description:
  When horizon runs with tox -e runserver with python3, the following
  message is output as an error message. This potentially pollutes the
  error log file with unnecessary messages.

  UnhashableKeyWarning: The key of openstack_dashboard.api.nova
  extension_supported is not hashable and cannot be memoized:
  (('Aggregates', (<ListExtResource alias=NMN, description=Multiple
  network support., links=[], name=Multinic,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-DCF,
  description=Disk Management Extension., links=[], name=DiskConfig,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-EXT-AZ,
  description=Extended Availability Zone support., links=[],
  name=ExtendedAvailabilityZone,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-EXT-IMG-SIZE,
  description=Adds image size to image listings., links=[],
  name=ImageSize,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-EXT-IPS,
  description=Adds type parameter to the ip list., links=[],
  name=ExtendedIps,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-EXT-IPS-MAC,
  description=Adds mac address parameter to the ip list., links=[],
  name=ExtendedIpsMac,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-EXT-SRV-ATTR,
  description=Extended Server Attributes support., links=[],
  name=ExtendedServerAttributes,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-EXT-STS,
  description=Extended Status support., links=[], name=ExtendedStatus,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-FLV-DISABLED,
  description=Support to show the disabled status of a flavor.,
  links=[], name=FlavorDisabled,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-FLV-EXT-DATA,
  description=Provide additional data for flavors., links=[],
  name=FlavorExtraData,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-SCH-HNT,
  description=Pass arbitrary key/value pairs to the scheduler.,
  links=[], name=SchedulerHints,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=OS-SRV-USG,
  description=Adds launched_at and terminated_at on Servers., links=[],
  name=ServerUsage,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-access-ips,
  description=Access IPs support., links=[], name=AccessIPs,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-admin-
  actions, description=Enable admin-only server actions

      Actions include: resetNetwork, injectNetworkInfo, os-resetState
      , links=[], name=AdminActions, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-admin-password, description=Admin password management support., links=[], name=AdminPassword, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-agents, description=Agents support., links=[], name=Agents, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-aggregates, description=Admin-only aggregate administration., links=[], name=Aggregates, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-assisted-volume-snapshots, description=Assisted volume snapshots., links=[], name=AssistedVolumeSnapshots, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-attach-interfaces, description=Attach interface support., links=[], name=AttachInterfaces, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-availability-zone, description=1. Add availability_zone to the Create Server API.
         2. Add availability zones describing.
      , links=[], name=AvailabilityZone, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-baremetal-ext-status, description=Add extended status in Baremetal Nodes v2 API., links=[], name=BareMetalExtStatus, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-baremetal-nodes, description=Admin-only bare-metal node administration., links=[], name=BareMetalNodes, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-block-device-mapping, description=Block device mapping boot support., links=[], name=BlockDeviceMapping, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-block-device-mapping-v2-boot, description=Allow boot with the new BDM data format., links=[], name=BlockDeviceMappingV2Boot, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-cell-capacities, description=Adding functionality to get cell capacities., links=[], name=CellCapacities, namespace=http://docs.openstack.org/compute/ext/fake_xml, updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-cells, description=Enables cells-related functionality such as adding neighbor cells,

  .....

  iption=Provide data on migrations., links=[], name=Migrations,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-multiple-
  create, description=Allow multiple create in the Create Server v2.1
  API., links=[], name=MultipleCreate,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-networks,
  description=Admin-only Network Management Extension., links=[],
  name=Networks,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-networks-
  associate, description=Network association support., links=[],
  name=NetworkAssociationSupport,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-pause-server,
  description=Enable pause/unpause server actions., links=[],
  name=PauseServer,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-personality,
  description=Personality support., links=[], name=Personality,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-preserve-
  ephemeral-rebuild, description=Allow preservation of the ephemeral
  partition on rebuild., links=[], name=PreserveEphemeralOnRebuild,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-quota-class-
  sets, description=Quota classes management support., links=[],
  name=QuotaClasses,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-quota-sets,
  description=Quotas management support., links=[], name=Quotas,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-rescue,
  description=Instance rescue mode., links=[], name=Rescue,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-security-
  group-default-rules, description=Default rules for security group
  support., links=[], name=SecurityGroupDefaultRules,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-security-
  groups, description=Security group support., links=[],
  name=SecurityGroups,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-server-
  diagnostics, description=Allow Admins to view server diagnostics
  through server action., links=[], name=ServerDiagnostics,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-server-
  external-events, description=Server External Event Triggers.,
  links=[], name=ServerExternalEvents,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-server-group-
  quotas, description=Adds quota support to server groups., links=[],
  name=ServerGroupQuotas,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-server-
  groups, description=Server group support., links=[],
  name=ServerGroups,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-server-list-
  multi-status, description=Allow to filter the servers by a set of
  status values., links=[], name=ServerListMultiStatus,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-server-
  password, description=Server password support., links=[],
  name=ServerPassword,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-server-sort-
  keys, description=Add sorting support in get Server v2 API., links=[],
  name=ServerSortKeys,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-server-start-
  stop, description=Start/Stop instance compute API support., links=[],
  name=ServerStartStop,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-services,
  description=Services support., links=[], name=Services,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-shelve,
  description=Instance shelve mode., links=[], name=Shelve,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-simple-
  tenant-usage, description=Simple tenant usage extension., links=[],
  name=SimpleTenantUsage,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-suspend-
  server, description=Enable suspend/resume server actions., links=[],
  name=SuspendServer,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-tenant-
  networks, description=Tenant-based Network Management Extension.,
  links=[], name=OSTenantNetworks,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-used-limits,
  description=Provide data on limited resources that are being used.,
  links=[], name=UsedLimits,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-used-limits-
  for-admin, description=Provide data to admin on limited resources used
  by other tenants., links=[], name=UsedLimitsForAdmin,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-user-data,
  description=Add user_data to the Create Server API., links=[],
  name=UserData,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-user-quotas,
  description=Project user quota support., links=[], name=UserQuotas,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-virtual-
  interfaces, description=Virtual interface support., links=[],
  name=VirtualInterfaces,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-volume-
  attachment-update, description=Support for updating a volume
  attachment., links=[], name=VolumeAttachmentUpdate,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>, <ListExtResource alias=os-volumes,
  description=Volumes support., links=[], name=Volumes,
  namespace=http://docs.openstack.org/compute/ext/fake_xml,
  updated=2014-12-03T00:00:00Z>)), ())

To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1790930/+subscriptions


References