← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1597596] [NEW] network not always cleaned up when spawning VMs

 

Public bug reported:

Here are the scenario:
1). Nova scheduler/conductor selects a nova-compute A to spin a VM
2). Nova compute A tries to spin the VM, but the process failed, and generates a RE-SCHEDULE exception.
3). in re-schedule exception, only when retry is none, network resource is properly cleaned up. when retry is not none, the network is not cleaned up, the port information still stays with the VM.
4). Nova condutor was notified about the failure. It selects nova-compute-B to spin VM.
5). nova compute B spins up VM successfully. However, from the instance_info_cache, the network_info showed two ports allocated for VM, one from the origin network A that associated with nova-compute A nad one from network B that associated with nova compute B.

To simulate the case, raise a fake exception in
_do_build_and_run_instance in nova-compute A:

diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index ac6d92c..8ce8409 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -1746,6 +1746,7 @@ class ComputeManager(manager.Manager):
                         filter_properties)
             LOG.info(_LI('Took %0.2f seconds to build instance.'),
                      timer.elapsed(), instance=instance)
+            raise exception.RescheduledException( instance_uuid=instance.uuid, reason="simulated-fault")
             return build_results.ACTIVE
         except exception.RescheduledException as e:
             retry = filter_properties.get('retry')

environments: 
*) nova master branch
*) ubuntu 12.04
*) kvm
*) bridged network.

** Affects: nova
     Importance: Undecided
     Assignee: Aihua Edward Li (aihuaedwardli)
         Status: New

** Summary changed:

- network not alwasy cleaned up when spawning VMs
+ network not always cleaned up when spawning VMs

** Changed in: nova
     Assignee: (unassigned) => Aihua Edward Li (aihuaedwardli)

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

Title:
  network not always cleaned up when spawning VMs

Status in OpenStack Compute (nova):
  New

Bug description:
  Here are the scenario:
  1). Nova scheduler/conductor selects a nova-compute A to spin a VM
  2). Nova compute A tries to spin the VM, but the process failed, and generates a RE-SCHEDULE exception.
  3). in re-schedule exception, only when retry is none, network resource is properly cleaned up. when retry is not none, the network is not cleaned up, the port information still stays with the VM.
  4). Nova condutor was notified about the failure. It selects nova-compute-B to spin VM.
  5). nova compute B spins up VM successfully. However, from the instance_info_cache, the network_info showed two ports allocated for VM, one from the origin network A that associated with nova-compute A nad one from network B that associated with nova compute B.

  To simulate the case, raise a fake exception in
  _do_build_and_run_instance in nova-compute A:

  diff --git a/nova/compute/manager.py b/nova/compute/manager.py
  index ac6d92c..8ce8409 100644
  --- a/nova/compute/manager.py
  +++ b/nova/compute/manager.py
  @@ -1746,6 +1746,7 @@ class ComputeManager(manager.Manager):
                           filter_properties)
               LOG.info(_LI('Took %0.2f seconds to build instance.'),
                        timer.elapsed(), instance=instance)
  +            raise exception.RescheduledException( instance_uuid=instance.uuid, reason="simulated-fault")
               return build_results.ACTIVE
           except exception.RescheduledException as e:
               retry = filter_properties.get('retry')

  environments: 
  *) nova master branch
  *) ubuntu 12.04
  *) kvm
  *) bridged network.

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


Follow ups