Fixes "OVS Agent doesn't start on Windows"

The OVS Agent doesn't start on Windows because of Windows
specific import.

The fix is trivial and consists in implementing InterfacePollingMinimizer
as a empty class for Windows and importing polling from common.

Closes-Bug: #1556992

Change-Id: Ie43c841bf05b4b011a74a3f8198576cbc41bcbbb
This commit is contained in:
Adelina Tuvenie 2016-03-14 16:32:11 +02:00 committed by Armando Migliaccio
parent 412012de59
commit bbdcc6d4af
3 changed files with 8 additions and 2 deletions

View File

@ -22,3 +22,4 @@ else:
from neutron.agent.linux import polling
get_polling_manager = polling.get_polling_manager
InterfacePollingMinimizer = polling.InterfacePollingMinimizer

View File

@ -22,3 +22,9 @@ from neutron.agent.common import base_polling
def get_polling_manager(minimize_polling, ovsdb_monitor_respawn_interval):
pm = base_polling.AlwaysPoll()
yield pm
# TODO(atuvenie): make this manager inherit from
# that fully fledged polling manager interface
class InterfacePollingMinimizer(object):
pass

View File

@ -34,7 +34,6 @@ from neutron.agent.common import polling
from neutron.agent.common import utils
from neutron.agent.l2.extensions import manager as ext_manager
from neutron.agent.linux import ip_lib
from neutron.agent.linux import polling as linux_polling
from neutron.agent import rpc as agent_rpc
from neutron.agent import securitygroups_rpc as sg_rpc
from neutron.api.rpc.callbacks import resources
@ -1913,7 +1912,7 @@ class OVSNeutronAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin,
# BasePollingManager that will be implemented by AlwaysPoll as
# no action and by InterfacePollingMinimizer as start/stop
if isinstance(
polling_manager, linux_polling.InterfacePollingMinimizer):
polling_manager, polling.InterfacePollingMinimizer):
polling_manager.stop()
polling_manager.start()
elif ovs_status == constants.OVS_DEAD: