← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1253960] Re: docker driver reports hypervisor version in wrong format

 

** Changed in: nova
       Status: Fix Committed => 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/1253960

Title:
  docker driver reports hypervisor version in wrong format

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  devstack, `nova --version` reports 2.15.0.81
  VIRT_DRIVER=docker
  database: PostgreSQL

  when starting nova-compute I'm getting an exception:

  2013-11-20 11:41:27.413 DEBUG nova.openstack.common.lockutils [-] Semaphore / lock released "update_available_resource" from (pid=15320) inner /opt/stack/nova/nova/openstack/common/lockutils.py:251
  Traceback (most recent call last):
    File "/usr/local/lib/python2.7/dist-packages/eventlet/queue.py", line 107, in switch
      self.greenlet.switch(value)
    File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 194, in main
      result = function(*args, **kwargs)
    File "/opt/stack/nova/nova/openstack/common/service.py", line 448, in run_service
      service.start()
    File "/opt/stack/nova/nova/service.py", line 164, in start
      self.manager.pre_start_hook()
    File "/opt/stack/nova/nova/compute/manager.py", line 788, in pre_start_hook
      self.update_available_resource(nova.context.get_admin_context())
    File "/opt/stack/nova/nova/compute/manager.py", line 5065, in update_available_resource
      rt.update_available_resource(context)
    File "/opt/stack/nova/nova/openstack/common/lockutils.py", line 248, in inner
      return f(*args, **kwargs)
    File "/opt/stack/nova/nova/compute/resource_tracker.py", line 326, in update_available_resource
      self._sync_compute_node(context, resources)
    File "/opt/stack/nova/nova/compute/resource_tracker.py", line 349, in _sync_compute_node
      self._create(context, resources)
    File "/opt/stack/nova/nova/compute/resource_tracker.py", line 365, in _create
      values)
    File "/opt/stack/nova/nova/conductor/api.py", line 236, in compute_node_create
      return self._manager.compute_node_create(context, values)
    File "/opt/stack/nova/nova/conductor/rpcapi.py", line 356, in compute_node_create
      return cctxt.call(context, 'compute_node_create', values=values)
    File "/opt/stack/nova/nova/rpcclient.py", line 85, in call
      return self._invoke(self.proxy.call, ctxt, method, **kwargs)
    File "/opt/stack/nova/nova/rpcclient.py", line 63, in _invoke
      return cast_or_call(ctxt, msg, **self.kwargs)
    File "/opt/stack/nova/nova/openstack/common/rpc/proxy.py", line 126, in call
      result = rpc.call(context, real_topic, msg, timeout)
    File "/opt/stack/nova/nova/openstack/common/rpc/__init__.py", line 139, in call
      return _get_impl().call(CONF, context, topic, msg, timeout)
    File "/opt/stack/nova/nova/openstack/common/rpc/impl_kombu.py", line 816, in call
      rpc_amqp.get_connection_pool(conf, Connection))
    File "/opt/stack/nova/nova/openstack/common/rpc/amqp.py", line 574, in call
      rv = list(rv)
    File "/opt/stack/nova/nova/openstack/common/rpc/amqp.py", line 539, in __iter__
      raise result
  RemoteError: Remote error: DBError (DataError) invalid input syntax for integer: "1.0"
  LINE 1: ...L, NULL, 0, 5, 1, 11953, 54, 0, 512, 0, 'docker', '1.0', 'hg...
                                                               ^

  (should be in fixed-width font, the circumflex accent points to '1.0')

  This appears to be the same issue as #1195139  but with docker driver.
  Also related to https://blueprints.launchpad.net/nova/+spec/save-
  hypervisor-version-as-string

  nova-compute starts up OK after applying a similar change as for
  #1195139 :

  --- nova/virt/docker/driver.py.orig
  +++ nova/virt/docker/driver.py
  @@ -159,7 +159,7 @@
               'local_gb_used': disk['used'] / unit.Gi,
               'disk_available_least': disk['available'] / unit.Gi,
               'hypervisor_type': 'docker',
  -            'hypervisor_version': '1.0',
  +            'hypervisor_version': utils.convert_version_to_int('1.0'),
               'hypervisor_hostname': self._nodename,
               'cpu_info': '?',
               'supported_instances': jsonutils.dumps([

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