← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1746707] [NEW] Neutron DB is made inconsistent when plugin fails

 

Public bug reported:

Numerous issues identified due to the fact that there is no
transactional consistency between Neutrons own Database operations and
implementing plugin operations.

Specifically issue identified with the use of NSXV plugin.

Situation#1:
- Load Balancer being created
- Healthmonitor created
- Pool created
- Provisioning fails due to NSX Manager API error assigning the monitor to the pool
- Yet, details of the pool association are recorded into the Neutron Database
- Subsequent deletion of the pool will fail inside NSXV plugin due to DB inconsistency

Situation#2:
- Similar situation
- Pool creation may fail due to NSX issues
- Neutron erroneously records the new pool details despite the provisioning errors
- Deletion attempts of such pool will fail

Situation#3:
- Security group creation
- Security group fails to create firewall section in NSXV, but group is recorded in Openstack
- Deletion attempts of this group will fail

General note:
- Can the MySQL Database transaction wrap be used as a general rule to prevent inconsistent DB updates where backing plugin actions result in an exception ?

Even though NSXV is clearly identified as a culprit in this case, other
plugins may easily fail in exactly the same way. End to end API call
consistency is important, as partial updates may harm operations in a
variety of ways.

Neutron Version: Mitaka as supplied with VMWARE Integrated Openstack 3.1
NSX Version: 6.3.0

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1746707

Title:
  Neutron DB is  made inconsistent when plugin fails

Status in neutron:
  New

Bug description:
  Numerous issues identified due to the fact that there is no
  transactional consistency between Neutrons own Database operations and
  implementing plugin operations.

  Specifically issue identified with the use of NSXV plugin.

  Situation#1:
  - Load Balancer being created
  - Healthmonitor created
  - Pool created
  - Provisioning fails due to NSX Manager API error assigning the monitor to the pool
  - Yet, details of the pool association are recorded into the Neutron Database
  - Subsequent deletion of the pool will fail inside NSXV plugin due to DB inconsistency

  Situation#2:
  - Similar situation
  - Pool creation may fail due to NSX issues
  - Neutron erroneously records the new pool details despite the provisioning errors
  - Deletion attempts of such pool will fail

  Situation#3:
  - Security group creation
  - Security group fails to create firewall section in NSXV, but group is recorded in Openstack
  - Deletion attempts of this group will fail

  General note:
  - Can the MySQL Database transaction wrap be used as a general rule to prevent inconsistent DB updates where backing plugin actions result in an exception ?

  Even though NSXV is clearly identified as a culprit in this case,
  other plugins may easily fail in exactly the same way. End to end API
  call consistency is important, as partial updates may harm operations
  in a variety of ways.

  Neutron Version: Mitaka as supplied with VMWARE Integrated Openstack 3.1
  NSX Version: 6.3.0

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


Follow ups