Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions f5lbaasdriver/v2/bigip/disconnected_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,14 @@
# limitations under the License.
#

from neutron.db import segments_db
from neutron.plugins.ml2 import db

try:
from neutron.db import segments_db
except ImportError:
# Mitaka compatibility
segments_db = db

from neutron.plugins.ml2 import models

from oslo_log import log as logging
Expand Down Expand Up @@ -52,7 +58,12 @@ def get_network_segment(self, context, agent_configuration, network):
agent_configuration.get('tunnel_types', [])
]
# look up segment details in the ml2_network_segments table
segments = segments_db.get_network_segments(context, network['id'],
if db == segments_db:
# Mitaka compatibility
ctx = context.session
else:
ctx = context
segments = segments_db.get_network_segments(ctx, network['id'],
filter_dynamic=None)

for segment in segments:
Expand Down Expand Up @@ -98,8 +109,13 @@ def get_segment_id(self, context, port_id, agent_hosts):
for level in levels:
if level.driver in ('f5networks', 'huawei_ac_ml2'):
LOG.debug('level with driver f5networks')
if db == segments_db:
# Mitaka compatibility
ctx = context.session
else:
ctx = context
segment = segments_db.get_segment_by_id(
context, level.segment_id
ctx, level.segment_id
)
LOG.debug(
'vxlan 2 vlan seg id %s: segment %s'
Expand Down
16 changes: 14 additions & 2 deletions f5lbaasdriver/v2/bigip/driver_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,13 @@
from neutron.callbacks import registry
from neutron.callbacks import resources
from neutron.plugins.common import constants as plugin_constants
from neutron_lib.api.definitions import portbindings

try:
from neutron_lib.api.definitions import portbindings
except ImportError:
# Mitaka compatibility
from neutron.extensions import portbindings

from neutron_lib import constants as q_const

from neutron_lbaas.db.loadbalancer import models
Expand Down Expand Up @@ -122,9 +128,15 @@ def __init__(self, plugin=None, env=None):
self.plugin.agent_notifiers.update(
{q_const.AGENT_TYPE_LOADBALANCER: self.agent_rpc})

try:
after_init = events.AFTER_INIT
except AttributeError:
# Mitaka compatibility
after_init = events.AFTER_CREATE

registry.subscribe(self._bindRegistryCallback(),
resources.PROCESS,
events.AFTER_INIT)
after_init)

def _bindRegistryCallback(self):
# Defines a callback function with name tied to driver env. Need to
Expand Down
6 changes: 5 additions & 1 deletion f5lbaasdriver/v2/bigip/neutron_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@
from oslo_log import helpers as log_helpers
from oslo_log import log as logging

from neutron_lib.api.definitions import portbindings
try:
from neutron_lib.api.definitions import portbindings
except ImportError:
# Mitaka compatibility
from neutron.extensions import portbindings

LOG = logging.getLogger(__name__)

Expand Down
15 changes: 13 additions & 2 deletions f5lbaasdriver/v2/bigip/plugin_rpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,25 @@

from neutron.common import rpc as neutron_rpc
from neutron.db import agents_db
from neutron.db.models import agent as agents_model

try:
from neutron.db.models import agent as agents_model
except ImportError:
# Mitaka compatibility
agents_model = agents_db

from neutron.plugins.common import constants as plugin_constants

from neutron_lbaas.db.loadbalancer import models
from neutron_lbaas.services.loadbalancer import constants as nlb_constant
from neutron_lbaas.services.loadbalancer.data_models import LoadBalancer

from neutron_lib.api.definitions import portbindings
try:
from neutron_lib.api.definitions import portbindings
except ImportError:
# Mitaka compatibility
from neutron.extensions import portbindings

from neutron_lib import constants as neutron_const
from neutron_lib import exceptions as q_exc
from oslo_log import helpers as log_helpers
Expand Down