neutron/neutron/agent/common/ip_lib.py
Claudiu Belu fee630efaa Fix neutron-openvswitch-agent Windows support
Currently, the neutron-openvswitch-agent does not start on Windows
due to Linux specific imports. This patch addresses this issue.

Also, we're wrapping the object returned by subprocess.Popen using
tpool.Proxy in order to prevent IO operations on the stream
handles from blocking other threads. Currently, the ovs db monitor
blocks the whole process.

Closes-Bug: #1775382

Co-Authored-By: Lucian Petrut <lpetrut@cloudbasesolutions.com>
Change-Id: I8bbc9d1f8332e5644a6071f599a7c6a66bef7928
2018-07-18 14:41:21 +03:00

32 lines
1.0 KiB
Python

# Copyright 2016 Cloudbase Solutions.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import os
if os.name == 'nt':
from neutron.agent.windows import ip_lib
from neutron.conf.agent import windows
OPTS = windows.IP_LIB_OPTS_WINDOWS
else:
from neutron.agent.linux import ip_lib
from neutron.conf.agent import linux
OPTS = linux.IP_LIB_OPTS_LINUX
IPWrapper = ip_lib.IPWrapper
IPDevice = ip_lib.IPDevice
add_namespace_to_cmd = ip_lib.add_namespace_to_cmd