← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1483104] [NEW] VMware: host-describe only return the result of one VC cluster when we map one nova-compute to multiple VC cluster

 

Public bug reported:

We use nova vCenter driver, and config one nova-compute to manage two VC
clusters, like this:

CONF.vmware.cluster_name = ClusterA, ClusterB

when we use 'nova host-describe' to get statistical information of the
nova-compute host, it only return the result of one VC cluster.

We check objects.ComputeNode.get_first_node_by_host_for_old_compat(), it
only return the first compute-node and ignore others.

    @base.remotable_classmethod
    def get_first_node_by_host_for_old_compat(cls, context, host,
                                              use_slave=False):
        computes = ComputeNodeList.get_all_by_host(context, host, use_slave)
        # FIXME(sbauza): Some hypervisors (VMware, Ironic) can return multiple
        # nodes per host, we should return all the nodes and modify the callers
        # instead.
        # Arbitrarily returning the first node.
        return computes[0]

Code base:

$ git log -1
commit 744f98c8e5bc911a87cbdee28d6ccc3d914c8238
Merge: cdfd489 0adde67
Author: Jenkins <jenkins@xxxxxxxxxxxxxxxxxxxx>
Date:   Sun Aug 9 19:14:36 2015 +0000

    Merge "libvirt: convert GlusterFS driver to
LibvirtBaseFileSystemVolumeDriver"

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: compute vmware

** Description changed:

  We use nova vCenter driver, and config one nova-compute to manage two VC
  clusters, like this:
  
  CONF.vmware.cluster_name = ClusterA, ClusterB
  
  when we use 'nova host-describe' to get statistical information of the
  nova-compute host, it only return the result of one VC cluster.
  
  We check objects.ComputeNode.get_first_node_by_host_for_old_compat(), it
  only return the first compute-node and ignore others.
  
-     @base.remotable_classmethod
-     def get_first_node_by_host_for_old_compat(cls, context, host,
-                                               use_slave=False):
-         computes = ComputeNodeList.get_all_by_host(context, host, use_slave)
-         # FIXME(sbauza): Some hypervisors (VMware, Ironic) can return multiple
-         # nodes per host, we should return all the nodes and modify the callers
-         # instead.
-         # Arbitrarily returning the first node.
-         return computes[0]
+     @base.remotable_classmethod
+     def get_first_node_by_host_for_old_compat(cls, context, host,
+                                               use_slave=False):
+         computes = ComputeNodeList.get_all_by_host(context, host, use_slave)
+         # FIXME(sbauza): Some hypervisors (VMware, Ironic) can return multiple
+         # nodes per host, we should return all the nodes and modify the callers
+         # instead.
+         # Arbitrarily returning the first node.
+         return computes[0]
+ 
+ Code base:
+ 
+ $ git log -1
+ commit 744f98c8e5bc911a87cbdee28d6ccc3d914c8238
+ Merge: cdfd489 0adde67
+ Author: Jenkins <jenkins@xxxxxxxxxxxxxxxxxxxx>
+ Date:   Sun Aug 9 19:14:36 2015 +0000
+ 
+     Merge "libvirt: convert GlusterFS driver to
+ LibvirtBaseFileSystemVolumeDriver"

-- 
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/1483104

Title:
  VMware: host-describe only return the result of one VC cluster when we
  map one nova-compute to multiple VC cluster

Status in OpenStack Compute (nova):
  New

Bug description:
  We use nova vCenter driver, and config one nova-compute to manage two
  VC clusters, like this:

  CONF.vmware.cluster_name = ClusterA, ClusterB

  when we use 'nova host-describe' to get statistical information of the
  nova-compute host, it only return the result of one VC cluster.

  We check objects.ComputeNode.get_first_node_by_host_for_old_compat(),
  it only return the first compute-node and ignore others.

      @base.remotable_classmethod
      def get_first_node_by_host_for_old_compat(cls, context, host,
                                                use_slave=False):
          computes = ComputeNodeList.get_all_by_host(context, host, use_slave)
          # FIXME(sbauza): Some hypervisors (VMware, Ironic) can return multiple
          # nodes per host, we should return all the nodes and modify the callers
          # instead.
          # Arbitrarily returning the first node.
          return computes[0]

  Code base:

  $ git log -1
  commit 744f98c8e5bc911a87cbdee28d6ccc3d914c8238
  Merge: cdfd489 0adde67
  Author: Jenkins <jenkins@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Aug 9 19:14:36 2015 +0000

      Merge "libvirt: convert GlusterFS driver to
  LibvirtBaseFileSystemVolumeDriver"

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


Follow ups