← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1722443] Re: Incorrect checking shared storages on resizing VM instances

 

** Changed in: nova
       Status: In Progress => 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/1722443

Title:
  Incorrect checking shared storages on resizing VM instances

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  
  Description
  ===========
  When resizing instances, eventhough a destination host is different with a source host and they don't have a shared storage, nova deal with it as a shared storage.
  The reason is that the source host and destination have the same host_ip i.e 127.0.0.1
  So the source and dest IP are the same, nova think that they are on the same filesystem. 
  (https://github.com/openstack/nova/blob/stable/ocata/nova/virt/libvirt/driver.py#L7250)

      shared_storage = (dest == self.get_host_ip_addr()
   
  However, in fact, the source host is different with destination host
  127.0.0.1 is the default config of my_ip in nova.conf
  (https://github.com/openstack/nova/blob/stable/ocata/nova/conf/netconf.py#L26 and https://github.com/openstack/oslo.utils/blob/master/oslo_utils/netutils.py#L301)


  Steps to reproduce
  ==================
  Preconditions
  * Did NOT use shared storages.
  * checked there is no default gateway in 2 hypepvisor hosts. (If there is, remove it.)

   [root@compute2 ~]# route
   Kernel IP routing table
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
   128.80.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eno2
   link-local      0.0.0.0         255.255.0.0     U     1003   0        0 eno2
   [root@compute2 ~]#
   
  1. I installed OpenStack with the 2 compute nodes
  2. then I checked the hypervisor host_ip

   # nova hypervisor-show compute1 | grep host_ip
   | host_ip                   | 127.0.0.1                                |
   # nova hypervisor-show compute2 | grep host_ip
   | host_ip                   | 127.0.0.1                                | 

  3. create a vm
  4. resize the vm

  Expected result
  ===============
  Resize should be failed.

  Actual result
  =============
  Resize go with incorrect images

  Environment
  ===========
  1. Exact version of OpenStack you are running. 

     Ocata, (Pike and master may be same)

  2. Which hypervisor did you use?
     Libvirt + KVM
     
  2. Which storage type did you use?
     N/A (lvm)

  3. Which networking type did you use?
     Neutron

  Logs & Configs
  ==============
  There is no my_ip value of nova.conf in all compute nodes

   # ssh compute1 grep ^my_ip /etc/nova/nova.conf
   # ssh compute2 grep ^my_ip /etc/nova/nova.conf
   #

  allow_resize_to_same_host should be false

   # ssh compute1 grep ^allow_resize_to_same_host /etc/nova/nova.conf
  allow_resize_to_same_host=False

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


References