From: Alin Serdean <[email protected]> This patch changes the service ovs-vswitchd from "auto" execution to "demand" start.
This patch also introduces a custom action for the ovs-vswitchd service in which the following command will be executed before the service startup: sc triggerinfo ovs-vswitchd \ start/strcustom/6066F867-7CA1-4418-85FD-36E3F9C0600C/VmmsWmiEventProvider The above command is a service trigger available since Windows 7. More on the topic: https://msdn.microsoft.com/en-us/library/windows/desktop/dd405513%28v=vs.85%29.aspx In out case we will wait until Microsoft-Windows-Hyper-V-VMMS has triggered that the WMI provider: VmmsWmiEventProvider has started. The change is needed because the network service inside VMMS starts slower than ovs-vswitchd, which will cause a race condition because we check if the OVS extension is enabled on a single switch. Signed-off-by: Alin Gabriel Serdean <[email protected]> --- Intended for branch-2.7, master. v2: Change title. --- windows/ovs-windows-installer/CustomActions.wxs | 6 ++++++ windows/ovs-windows-installer/Product.wxs | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/windows/ovs-windows-installer/CustomActions.wxs b/windows/ovs-windows-installer/CustomActions.wxs index bce9455..422f951 100644 --- a/windows/ovs-windows-installer/CustomActions.wxs +++ b/windows/ovs-windows-installer/CustomActions.wxs @@ -63,5 +63,11 @@ <CustomAction Id="ChangeOvsVSwitchdService" BinaryKey="OVSActions" JScriptCall="changeServiceAction" Execute="deferred" Return="check" Impersonate="no" /> + <CustomAction Id="AddTriggerToOvsVswitchdService_Prop" Property="AddTriggerToOvsVswitchdService" + Value='"[System64Folder]sc.exe" triggerinfo ovs-vswitchd "start/strcustom/6066F867-7CA1-4418-85FD-36E3F9C0600C/VmmsWmiEventProvider"|0|failed to add triggerinfo to ovs-vswitchd service' + Execute="immediate" /> + <CustomAction Id="AddTriggerToOvsVswitchdService" + BinaryKey="OVSActions" + JScriptCall="runCommandAction" Execute="deferred" Return="check" Impersonate="no" /> </Fragment> </Wix> diff --git a/windows/ovs-windows-installer/Product.wxs b/windows/ovs-windows-installer/Product.wxs index 0cdc9a8..23bc880 100644 --- a/windows/ovs-windows-installer/Product.wxs +++ b/windows/ovs-windows-installer/Product.wxs @@ -83,6 +83,8 @@ <Custom Action="InitializeDB_Prop" After="CostFinalize"><![CDATA[REMOVE <> "ALL" AND (&OpenvSwitchDriver = 3)]]></Custom> <Custom Action="InitializeDB" After="ChangeOvsdbServerService" ><![CDATA[REMOVE <> "ALL" AND (&OpenvSwitchDriver = 3)]]></Custom> + <Custom Action="AddTriggerToOvsVswitchdService_Prop" After="CostFinalize"><![CDATA[NOT Installed AND (&OpenvSwitchDriver = 3)]]></Custom> + <Custom Action="AddTriggerToOvsVswitchdService" Before="ChangeOvsVSwitchdService"><![CDATA[NOT Installed AND (&OpenvSwitchDriver = 3)]]></Custom> <Custom Action="StartOvsVSwitchdService_Prop" After="CostFinalize"><![CDATA[NOT Installed AND (&OpenvSwitchDriver = 3)]]></Custom> <Custom Action="RestartOvsVSwitchdService_Prop" After="CostFinalize"><![CDATA[Installed AND REMOVE <> "ALL" AND (&OpenvSwitchDriver = 3)]]></Custom> <Custom Action="ChangeOvsVSwitchdService" Before="InstallFinalize"><![CDATA[REMOVE <> "ALL" AND (&OpenvSwitchDriver = 3)]]></Custom> @@ -207,7 +209,7 @@ Name="ovs-vswitchd" DisplayName="Open vSwitch Service" Description="Open vSwitch Service" - Start="auto" + Start="demand" Account="LocalSystem" ErrorControl="ignore" Interactive="no"> -- 2.10.2.windows.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
