@@ -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>
@@ -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">
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 <aserdean@cloudbasesolutions.com> --- Intended for branch-2.7, master. --- windows/ovs-windows-installer/CustomActions.wxs | 6 ++++++ windows/ovs-windows-installer/Product.wxs | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-)