From d420a8bea77c6740c54b1a57f5d901bcf7c5ae67 Mon Sep 17 00:00:00 2001
From: Ian Wells <iawells@cisco.com>
Date: Thu, 22 Dec 2016 20:11:13 -0800
Subject: [PATCH] Fix Mitaka compatibility

One of the imports works for Newton but not Mitaka, leaving Mitaka
to fall back to a bunch of imports that don't work for it.  Break
conditionals up.

Change-Id: If8d2ba23728646786ab29752b4207de9eece4d2d
---
 networking_vpp/compat.py | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/networking_vpp/compat.py b/networking_vpp/compat.py
index 8b4411f8..4e26f3a2 100644
--- a/networking_vpp/compat.py
+++ b/networking_vpp/compat.py
@@ -20,26 +20,34 @@
 
 
 try:
+    # Mitaka+
     import neutron_lib.constants
-    import neutron_lib.db.model_base
     import neutron_lib.exceptions
-    import neutron_lib.plugins.directory
 
     n_const = neutron_lib.constants
     n_exec = neutron_lib.exceptions
-    model_base = neutron_lib.db.model_base
-    directory = neutron_lib.plugins.directory
 
 except ImportError:
     import neutron.common.exceptions
     import neutron.constants
-    import neutron.db
-    import neutron.manager
 
     n_const = neutron.constants
     n_exec = neutron.common.exceptions
-    model_base = neutron.db.model_base
+
+try:
+    # Newton+
+    import neutron_lib.db.model_base
+    import neutron_lib.plugins.directory
+
+    model_base = neutron_lib.db.model_base
+    directory = neutron_lib.plugins.directory
+
+except ImportError:
+    import neutron.db
+    import neutron.manager
+
     directory = neutron.manager.NeutronManager
+    model_base = neutron.db.model_base
 
 import os