get_available_resource not implemented in PowerVM compute driver

Bug #1040789 reported by David Peraza
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Tiago Mello

Bug Description

If powervm is the first driver that is used after a fresh nova install, nova scheduler fails to find a host during spawn. The problem is that the nova.compute_nodes table is empty. This usually gets populated and update in implementation of update_available_resource of each driver. See method in virt.libvirt.driver for an example

Tags: powervm
Dan Prince (dan-prince)
Changed in nova:
milestone: none → folsom-rc1
status: New → Triaged
importance: Undecided → Medium
Tiago Mello (timello)
Changed in nova:
assignee: nobody → Tiago Rodrigues de Mello (tmello)
Tiago Mello (timello)
Changed in nova:
status: Triaged → Confirmed
Revision history for this message
Tiago Mello (timello) wrote :

The non-implemented method is actually get_available_resource. update_available_resource is already implemented.

summary: - update_available_resource not implemented in PowerVM compute driver
+ get_available_resource not implemented in PowerVM compute driver
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/12014

Changed in nova:
status: Confirmed → In Progress
Revision history for this message
Tiago Mello (timello) wrote :

This is the error when launching nova compute with PowerVM driver:

config_file : ['/etc/cinder/cinder.conf']
2012-08-28 14:04:00 DEBUG cinder.service [-] instance_uuid_format : [instance: %(uuid)s] from (pid=12655) wait /opt/stack/cinder/cinder/service.py:420
n <module>
2012-08-28 14:04:04 TRACE nova service.wait()
2012-08-28 14:04:04 TRACE nova File "/opt/stack/nova/nova/service.py", line 659, in wait
2012-08-28 14:04:04 TRACE nova _launcher.wait()
2012-08-28 14:04:04 TRACE nova File "/opt/stack/nova/nova/service.py", line 192, in wait
2012-08-28 14:04:04 TRACE nova super(ServiceLauncher, self).wait()
2012-08-28 14:04:04 TRACE nova File "/opt/stack/nova/nova/service.py", line 162, in wait
2012-08-28 14:04:04 TRACE nova service.wait()
2012-08-28 14:04:04 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 166, in wait
2012-08-28 14:04:04 TRACE nova return self._exit_event.wait()
2012-08-28 14:04:04 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait
2012-08-28 14:04:04 TRACE nova return hubs.get_hub().switch()
2012-08-28 14:04:04 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 177, in switch
2012-08-28 14:04:04 TRACE nova return self.greenlet.switch()
2012-08-28 14:04:04 TRACE nova File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 192, in main
2012-08-28 14:04:04 TRACE nova result = function(*args, **kwargs)
2012-08-28 14:04:04 TRACE nova File "/opt/stack/nova/nova/service.py", line 132, in run_server
2012-08-28 14:04:04 TRACE nova server.start()
2012-08-28 14:04:04 TRACE nova File "/opt/stack/nova/nova/service.py", line 410, in start
2012-08-28 14:04:04 TRACE nova self.manager.update_available_resource(ctxt)
2012-08-28 14:04:04 TRACE nova File "/opt/stack/nova/nova/compute/manager.py", line 2927, in update_available_resource
2012-08-28 14:04:04 TRACE nova self.resource_tracker.update_available_resource(context)
2012-08-28 14:04:04 TRACE nova File "/opt/stack/nova/nova/utils.py", line 733, in inner
2012-08-28 14:04:04 TRACE nova retval = f(*args, **kwargs)
2012-08-28 14:04:04 TRACE nova File "/opt/stack/nova/nova/compute/resource_tracker.py", line 313, in update_available_resource
2012-08-28 14:04:04 TRACE nova resources = self.driver.get_available_resource()
2012-08-28 14:04:04 TRACE nova File "/opt/stack/nova/nova/virt/driver.py", line 336, in get_available_resource
2012-08-28 14:04:04 TRACE nova raise NotImplementedError()
2012-08-28 14:04:04 TRACE nova NotImplementedError
2012-08-28 14:04:04 TRACE nova

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

Reviewed: https://review.openstack.org/12014
Committed: http://github.com/openstack/nova/commit/e5bec8b913a1f2fb2e15710bc9401e3384470cce
Submitter: Jenkins
Branch: master

commit e5bec8b913a1f2fb2e15710bc9401e3384470cce
Author: Tiago Mello <email address hidden>
Date: Mon Aug 27 14:46:48 2012 -0400

    Implements PowerVM get_available_resource method.

    Implements get_available_resource method in the PowerVM driver to
    fix the failure when launching nova-compute. Also, it removes the
    update_available_resource method from PowerVMDriver which is no longer
    required.

    Fixes bug 1040789

    Change-Id: Ibc7e9b80e6d9b8ef3c1a844783a890c592517f89

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: folsom-rc1 → 2012.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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