affinity filters don't work if scheduler_hints is None

Bug #1007573 reported by Vish Ishaya
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Vish Ishaya
Essex
Fix Released
Medium
Unassigned
nova (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
Critical
Unassigned

Bug Description

If scheduler_hints is set to None (for example via cloudpipe create instance command), then the affinity filters fail with the following traceback:

2012-06-01 17:41:41 ERROR nova.rpc.amqp [req-895ca733-3f5a-4be8-bd63-cecb71d7e8d3 project-vpn production] Returning exception 'NoneType' object has no attribute 'get' to caller
2012-06-01 17:41:41 ERROR nova.rpc.amqp [req-895ca733-3f5a-4be8-bd63-cecb71d7e8d3 project-vpn production] ['Traceback (most recent call last):\n', ' File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 252, in _process_data\n rval = node_func(context=ctxt, **node_args)\n', ' File "/usr/lib/python2.7/dist-packages/nova/scheduler/manager.py", line 115, in run_instance\n context, ex, *args, **kwargs)\n', ' File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__\n self.gen.next()\n', ' File "/usr/lib/python2.7/dist-packages/nova/scheduler/manager.py", line 105, in run_instance\n return self.driver.schedule_run_instance(*args, **kwargs)\n', ' File "/usr/lib/python2.7/dist-packages/nova/scheduler/multi.py", line 78, in schedule_run_instance\n return self.drivers[\'compute\'].schedule_run_instance(*args, **kwargs)\n', ' File "/usr/lib/python2.7/dist-packages/nova/scheduler/filter_scheduler.py", line 72, in schedule_run_instance\n *args, **kwargs)\n', ' File "/usr/lib/python2.7/dist-packages/nova/scheduler/filter_scheduler.py", line 194, in _schedule\n filter_properties)\n', ' File "/usr/lib/python2.7/dist-packages/nova/scheduler/host_manager.py", line 218, in filter_hosts\n if host.passes_filters(filter_fns, filter_properties):\n', ' File "/usr/lib/python2.7/dist-packages/nova/scheduler/host_manager.py", line 156, in passes_filters\n if not filter_fn(self, filter_properties):\n', ' File "/usr/lib/python2.7/dist-packages/nova/scheduler/filters/affinity_filter.py", line 41, in host_passes\n affinity_uuids = scheduler_hints.get(\'different_host\', [])\n', "AttributeError: 'NoneType' object has no attribute 'get'\n"]

Related branches

Changed in nova:
status: New → Triaged
importance: Undecided → Medium
assignee: nobody → Vish Ishaya (vishvananda)
Changed in nova:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/8058
Committed: http://github.com/openstack/nova/commit/4803074f2c02c87310c486f66fb66be98533805f
Submitter: Jenkins
Branch: master

commit 4803074f2c02c87310c486f66fb66be98533805f
Author: Vishvananda Ishaya <email address hidden>
Date: Fri Jun 1 12:29:24 2012 -0700

    Fixes affinity filters when hints is None

     * Fixes bug 1007573
     * Includes failing tests

    Change-Id: I827588f0694c5dd7b5e8ff3173d4794a55946d81

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → folsom-2
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/essex)

Fix proposed to branch: stable/essex
Review: https://review.openstack.org/9693

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/essex)

Reviewed: https://review.openstack.org/9693
Committed: http://github.com/openstack/nova/commit/2efc87cc08e227d5623ff58c5c6fdfd02c8578df
Submitter: Jenkins
Branch: stable/essex

commit 2efc87cc08e227d5623ff58c5c6fdfd02c8578df
Author: Vishvananda Ishaya <email address hidden>
Date: Fri Jun 1 12:29:24 2012 -0700

    Fixes affinity filters when hints is None

     * Fixes bug 1007573
     * Includes failing tests

    Change-Id: I827588f0694c5dd7b5e8ff3173d4794a55946d81
    (cherry picked from commit 4803074f2c02c87310c486f66fb66be98533805f)

Dave Walker (davewalker)
Changed in nova (Ubuntu):
status: New → Fix Released
Changed in nova (Ubuntu Precise):
status: New → Confirmed
Changed in nova (Ubuntu Precise):
importance: Undecided → Critical
Revision history for this message
Adam Gandelman (gandelman-a) wrote :

FYI, this fix and others are part of the nova package that is currently in precise-proposed and should be making its way to precise-updates soon. You may track the progress of it making its way to precise-updates via it and other updates via Bug #1041120. If you'd like to test this update, please see https://wiki.edubuntu.org/Testing/EnableProposed.

Revision history for this message
Adam Gandelman (gandelman-a) wrote : Verification report.

Please find the attached test log from the Ubuntu Server Team's CI infrastructure. As part of the verification process for this bug, Nova has been deployed and configured across multiple nodes using precise-proposed as an installation source. After successful bring-up and configuration of the cluster, a number of exercises and smoke tests have be invoked to ensure the updated package did not introduce any regressions. A number of test iterations were carried out to catch any possible transient errors.

Please Note the list of installed packages at the top and bottom of the report.

For records of upstream test coverage of this update, please see the Jenkins links in the comments of the relevant upstream code-review(s):

Trunk review: https://review.openstack.org/8058
Stable review: https://review.openstack.org/9693

As per the provisional Micro Release Exception granted to this package by the Technical Board, we hope this contributes toward verification of this update.

Revision history for this message
Adam Gandelman (gandelman-a) wrote :

Test coverage log.

tags: added: verification-done
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.4 KiB)

This bug was fixed in the package nova - 2012.1.3+stable-20120827-4d2a4afe-0ubuntu1

---------------
nova (2012.1.3+stable-20120827-4d2a4afe-0ubuntu1) precise-proposed; urgency=low

  * New upstream snapshot, fixes FTBFS in -proposed. (LP: #1041120)
  * Resynchronize with stable/essex (4d2a4afe):
    - [5d63601] Inappropriate exception handling on kvm live/block migration
      (LP: #917615)
    - [ae280ca] Deleted floating ips can cause instance delete to fail
      (LP: #1038266)

nova (2012.1.3+stable-20120824-86fb7362-0ubuntu1) precise-proposed; urgency=low

  * New upstream snapshot. (LP: #1041120)
  * Dropped, superseded by new snapshot:
    - debian/patches/CVE-2012-3447.patch: [d9577ce]
    - debian/patches/CVE-2012-3371.patch: [25f5bd3]
    - debian/patches/CVE-2012-3360+3361.patch: [b0feaff]
  * Resynchronize with stable/essex (86fb7362):
    - [86fb736] Libvirt driver reports incorrect error when volume-detach fails
      (LP: #1029463)
    - [272b98d] nova delete lxc-instance umounts the wrong rootfs (LP: #971621)
    - [09217ab] Block storage connections are NOT restored on system reboot
      (LP: #1036902)
    - [d9577ce] CVE-2012-3361 not fully addressed (LP: #1031311)
    - [e8ef050] pycrypto is unused and the existing code is potentially insecure
      to use (LP: #1033178)
    - [3b4ac31] cannot umount guestfs (LP: #1013689)
    - [f8255f3] qpid_heartbeat setting in ineffective (LP: #1030430)
    - [413c641] Deallocation of fixed IP occurs before security group refresh
      leading to potential security issue in error / race conditions
      (LP: #1021352)
    - [219c5ca] Race condition in network/deallocate_for_instance() leads to
      security issue (LP: #1021340)
    - [f2bc403] cleanup_file_locks does not remove stale sentinel files
      (LP: #1018586)
    - [4c7d671] Deleting Flavor currently in use by instance creates error
      (LP: #994935)
    - [7e88e39] nova testsuite errors on newer versions of python-boto (e.g.
      2.5.2) (LP: #1027984)
    - [80d3026] NoMoreFloatingIps: Zero floating ips available after repeatedly
      creating and destroying instances over time (LP: #1017418)
    - [4d74631] Launching with source groups under load produces lazy load error
      (LP: #1018721)
    - [08e5128] API 'v1.1/{tenant_id}/os-hosts' does not return a list of hosts
      (LP: #1014925)
    - [801b94a] Restarting nova-compute removes ip packet filters (LP: #1027105)
    - [f6d1f55] instance live migration should create virtual_size disk image
      (LP: #977007)
    - [4b89b4f] [nova][volumes] Exceeding volumes, gigabytes and floating_ips
      quotas returns general uninformative HTTP 500 error (LP: #1021373)
    - [6e873bc] [nova][volumes] Exceeding volumes, gigabytes and floating_ips
      quotas returns general uninformative HTTP 500 error (LP: #1021373)
    - [7b215ed] Use default qemu-img cluster size in libvirt connection driver
    - [d3a87a2] Listing flavors with marker set returns 400 (LP: #956096)
    - [cf6a85a] nova-rootwrap hardcodes paths instead of using
      /sbin:/usr/sbin:/usr/bin:/bin (LP: #1013147)
    - [2efc87c] affinity filters don't work if scheduler_hints is None
      (LP: #1007573)
  ...

Read more...

Changed in nova (Ubuntu Precise):
status: Confirmed → Fix Released
Revision history for this message
Clint Byrum (clint-fewbar) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Thierry Carrez (ttx)
Changed in nova:
milestone: folsom-2 → 2012.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.