← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1817542] Re: nova instance-action fails if project_id=NULL

 

Reviewed:  https://review.openstack.org/639936
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=31fe7c76009e1c6d7859036e44b057d081b059b5
Submitter: Zuul
Branch:    master

commit 31fe7c76009e1c6d7859036e44b057d081b059b5
Author: Takashi NATSUME <natsume.takashi@xxxxxxxxxxxxx>
Date:   Thu Feb 28 13:49:41 2019 +0900

    Fix an error when generating a host ID
    
    When instance action events are created by periodic tasks,
    the project IDs of them become null (None).
    It causes an error when 'hostId' is generated
    in the "Show Server Action Details"
    (GET /servers/{server_id}/os-instance-actions/{request_id})
    API.
    
    Fix the issue by using the project ID of the server
    if the project ID of the event is None.
    
    Change-Id: Iac07fcddd4cc3321c6efe702066eb8af6a875418
    Closes-Bug: #1817542


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

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1817542

Title:
  nova instance-action fails if project_id=NULL

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) rocky series:
  Triaged

Bug description:
  nova instance-action fails if project_id=NULL

  Starting in api version 2.62 "an obfuscated hashed host id is returned"
  To generate the host_id it uses utils.generate_hostid() that uses (in this case) the project_id and the host of the action.

  However, we can have actions without a user_id/project_id defined.
  For example, when something happens outside nova API (user shutdown the VM inside the guest OS).
  In this case we have an action "stop", without a user_id/project_id.

  When running 2.62 it fails when performing:
  nova instance-action <instance_uuid> <req_uuid>

  no issues if using:
  --os-compute-api-version 2.60 

  ===
  The trace in nova-api logs:

  Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py", line 801, in wrapped
      return f(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/instance_actions.py", line 169, in show
      ) for evt in events_raw]
    File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/instance_actions.py", line 69, in _format_event
      project_id)
    File "/usr/lib/python2.7/site-packages/nova/utils.py", line 1295, in generate_hostid
      data = (project_id + host).encode('utf-8')
  TypeError: unsupported operand type(s) for +: 'NoneType' and 'unicode'

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


References