summaryrefslogtreecommitdiff
path: root/windows
diff options
context:
space:
mode:
authorAlin Serdean <aserdean@cloudbasesolutions.com>2017-02-21 21:50:53 +0000
committerGurucharan Shetty <guru@ovn.org>2017-02-27 10:40:43 -0800
commit7a983037025d93745699296bda5fb92367822343 (patch)
treeff3cee1e9f21537705c8a9c7903f42cbc13af987 /windows
parent9ab5390d6de42fc59c37afc3b761c05b49b5783c (diff)
downloadopenvswitch-7a983037025d93745699296bda5fb92367822343.tar.gz
msi: add ovs-vswitchd trigger info
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 <aserdean@cloudbasesolutions.com> Acked-by: Sairam Venugopal <vsairam@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Diffstat (limited to 'windows')
-rw-r--r--windows/ovs-windows-installer/CustomActions.wxs6
-rw-r--r--windows/ovs-windows-installer/Product.wxs4
2 files changed, 9 insertions, 1 deletions
diff --git a/windows/ovs-windows-installer/CustomActions.wxs b/windows/ovs-windows-installer/CustomActions.wxs
index bce945518..422f95169 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 0cdc9a88a..23bc8805d 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">