← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1839295] [NEW] UnhashableKeyWarning: The key of openstack_dashboard .api.nova novaclient is not hashable and cannot be memoized

 

Public bug reported:

To reproduce: Navigate to "projectName/tenantName"/Instances.

Produces a warning;

 UnhashableKeyWarning: The key of openstack_dashboard
.api.nova novaclient is not hashable and cannot be memoized: ((('admin',
<crypto key>, <crypto key 2>, 'default', 'http://<IP>:8774/v2.1',
'http://<IP>:5000'),), (('version', <weakref at 0x7fb50b963ae8; to
'APIVersion' at 0x7fb509a0d6d8>),)), referer:
http://<IP>/horizon/admin/instances/

I found I can resolve the warning by replacing this code in
/openstack_dashboard/api/nova;

@memoized_with_request(get_auth_params_from_request)
def novaclient(request_auth_params, version=None):
    (
        username,
        token_id,
        project_id,
        project_domain_id,
        nova_url,
        auth_url
    ) = request_auth_params

With the following (basically removing the 'memoized' decorator);

def novaclient(request, version=None):
    (
        username,
        token_id,
        project_id,
        project_domain_id,
        nova_url,
        auth_url
    ) = get_auth_params_from_request(request)

** Affects: horizon
     Importance: Undecided
         Status: New

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

Title:
  UnhashableKeyWarning: The key of openstack_dashboard
  .api.nova novaclient is not hashable and cannot be memoized

Status in OpenStack Dashboard (Horizon):
  New

Bug description:
  To reproduce: Navigate to "projectName/tenantName"/Instances.

  Produces a warning;

   UnhashableKeyWarning: The key of openstack_dashboard
  .api.nova novaclient is not hashable and cannot be memoized:
  ((('admin', <crypto key>, <crypto key 2>, 'default',
  'http://<IP>:8774/v2.1', 'http://<IP>:5000'),), (('version', <weakref
  at 0x7fb50b963ae8; to 'APIVersion' at 0x7fb509a0d6d8>),)), referer:
  http://<IP>/horizon/admin/instances/

  I found I can resolve the warning by replacing this code in
  /openstack_dashboard/api/nova;

  @memoized_with_request(get_auth_params_from_request)
  def novaclient(request_auth_params, version=None):
      (
          username,
          token_id,
          project_id,
          project_domain_id,
          nova_url,
          auth_url
      ) = request_auth_params

  With the following (basically removing the 'memoized' decorator);

  def novaclient(request, version=None):
      (
          username,
          token_id,
          project_id,
          project_domain_id,
          nova_url,
          auth_url
      ) = get_auth_params_from_request(request)

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