host-update --maintenance enable regression for vmware VCDriver

Bug #1274129 reported by Divakar Padiyar Nandavar
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Gary Kotton

Bug Description

2014-01-29 13:53:33.676 11460 WARNING nova.virt.vmwareapi.driver [-] Task [EnterMaintenanceMode_Task] (returnval){
   value = "task-16575"
   _type = "Task"
 } status: error The operation is not allowed in the current state.
2014-01-29 13:53:33.735 11460 ERROR nova.openstack.common.rpc.amqp [req-6f322278-1678-4d67-a13f-14cdf15540f8 1046177891a84835b30a1560373055bf 2d7cc2bff7f44dd8aa09c9b64108ee90] Exception during message handling
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last):
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 461, in _process_data
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp **args)
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp result = getattr(proxyobj, method)(ctxt, **kwargs)
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/exception.py", line 90, in wrapped
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp payload)
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/exception.py", line 73, in wrapped
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp return f(self, context, *args, **kw)
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 3255, in host_maintenance_mode
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp return self.driver.host_maintenance_mode(host, mode)
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/virt/vmwareapi/driver.py", line 353, in host_maintenance_mode
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp return self._host.host_maintenance_mode(host, mode)
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/virt/vmwareapi/host.py", line 76, in host_maintenance_mode
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp self._session._wait_for_task(host, host_task)
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/virt/vmwareapi/driver.py", line 898, in _wait_for_task
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp ret_val = done.wait()
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/eventlet/event.py", line 116, in wait
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp return hubs.get_hub().switch()
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/eventlet/hubs/hub.py", line 177, in switch
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp return self.greenlet.switch()
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp NovaException: The operation is not allowed in the current state.
2014-01-29 13:53:33.735 11460 TRACE nova.openstack.common.rpc.amqp
2014-01-29 13:53:33.745 11460 ERROR nova.openstack.common.rpc.common [req-6f322278-1678-4d67-a13f-14cdf15540f8 1046177891a84835b30a1560373055bf 2d7cc2bff7f44dd8aa09c9b64108ee90] Returning exception The operation is not allowed in the current state. to caller
2014-01-29 13:53:33.746 11460 ERROR nova.openstack.common.rpc.common [req-6f322278-1678-4d67-a13f-14cdf15540f8 1046177891a84835b30a1560373055bf 2d7cc2bff7f44dd8aa09c9b64108ee90] ['Traceback (most recent call last):\n', ' File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 461, in _process_data\n **args)\n', ' File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch\n result = getattr(proxyobj, method)(ctxt, **kwargs)\n', ' File "/usr/lib/python2.6/site-packages/nova/exception.py", line 90, in wrapped\n payload)\n', ' File "/usr/lib/python2.6/site-packages/nova/exception.py", line 73, in wrapped\n return f(self, context, *args, **kw)\n', ' File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 3255, in host_maintenance_mode\n return self.driver.host_maintenance_mode(host, mode)\n', ' File "/usr/lib/python2.6/site-packages/nova/virt/vmwareapi/driver.py", line 353, in host_maintenance_mode\n return self._host.host_maintenance_mode(host, mode)\n', ' File "/usr/lib/python2.6/site-packages/nova/virt/vmwareapi/host.py", line 76, in host_maintenance_mode\n self._session._wait_for_task(host, host_task)\n', ' File "/usr/lib/python2.6/site-packages/nova/virt/vmwareapi/driver.py", line 898, in _wait_for_task\n ret_val = done.wait()\n', ' File "/usr/lib/python2.6/site-packages/eventlet/event.py", line 116, in wait\n return hubs.get_hub().switch()\n', ' File "/usr/lib/python2.6/site-packages/eventlet/hubs/hub.py", line 177, in switch\n return self.greenlet.switch()\n', 'NovaException: The operation is not allowed in the current state.\n']
2014-01-29 13:53:38.675 11460 WARNING nova.virt.vmwareapi.driver [-] Task [EnterMaintenanceMode_Task] (returnval){
   value = "task-16575"
   _type = "Task"
 } status: error The operation is not allowed in the current state.

Revision history for this message
Divakar Padiyar Nandavar (divakar-padiyar-nandavar) wrote :

On execution of nova host-update compute-01 --maintenance enable I see that it errors out with VMwareVCDriver and other side effect of this is that it puts the first host in the Cluster in the maintenance mode. Better to mark this operation in VMwareVCDriver as NotImplemented to avoid this side effect until a permanent solution is added.

Revision history for this message
Gary Kotton (garyk) wrote :

Hi,
The problem occurs when there is more than one host in the cluster
Thanks
Gary

Changed in nova:
status: New → Confirmed
Revision history for this message
Gary Kotton (garyk) wrote :

These operations are unable to supported with the cluster. Following your suggestion they will be NotImplemented. The work around would be for the administrator to set them accordingly in the VC.

Changed in nova:
importance: Undecided → High
assignee: nobody → Gary Kotton (garyk)
milestone: none → icehouse-3
tags: added: havana-backport-potential
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/72143

Changed in nova:
status: Confirmed → In Progress
Thierry Carrez (ttx)
Changed in nova:
milestone: icehouse-3 → icehouse-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/72143
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=c815ce12bae083d15de1695fa63ca729091dce72
Submitter: Jenkins
Branch: master

commit c815ce12bae083d15de1695fa63ca729091dce72
Author: Gary Kotton <email address hidden>
Date: Sun Feb 9 06:39:40 2014 -0800

    VMware: bug fix for host operations when using VMwareVCDriver

    Currently the driver does not have a mapping between a Nova 'host'
    and a VMware 'cluster'. A host operation would update the state of
    one of the hosts in one of the configured clusters.

    The solution is for the driver to raise a NotImplemented exception.

    Change-Id: Idd78020374a6fe2d34bf8d860c30e2ed8c719903
    Closes-bug: #1274129

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: icehouse-rc1 → 2014.1
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.