[ovs-dev] [PATCH] Windows: Implement Hyper-V VIF discovery agent.

Yin Lin linyi at vmware.com
Tue Jan 31 22:31:28 UTC 2017


Hi Alin,

The issues compiler complained are all related to WMI. Have you checked if WMI is supported at all in Nano? We need WMI to monitor virtual switch and interface changes no matter what. Even powershell commands are based on WMI queries. If WMI is not available, I highly doubt if there is a way at all to implement the discovery agent. Otherwise, can we install .NET framework on Nano?
Best regards,
Yin Lin

-----Original Message-----
From: Alin Serdean [mailto:aserdean at cloudbasesolutions.com]
Sent: Monday, January 30, 2017 5:42 AM
To: Yin Lin <linyi at vmware.com>; dev at openvswitch.org
Subject: RE: [ovs-dev] [PATCH] Windows: Implement Hyper-V VIF discovery agent.

Hi Yin,



Sorry it took a while to respond.



I tried to test it on NanoServer.



A big problem we have is that the .NET framework isn't available in Nano.

There are a few announcements around the topic, the most convincing one is:

https://urldefense.proofpoint.com/v2/url?u=https-3A__windowsserver.uservoice.com_forums_295068-2Dnano-2Dserver_suggestions_8106009-2Denable-2Dfull-2Dnet-2Dframework-2Don-2Dnano&d=DwIGaQ&c=uilaK90D4TOVoH58JNXRgQ&r=7tMDwzaWrK9qVgcGeEkcCA&m=sNN2xXccf7ls1z2DXPAR7CunlY_G1IOuak3pNoT4CZw&s=6MNgmaWp-4tbVen4LUwiMKiruDWujTx6ty_c5h9KF9Y&e=



Apparently, the go to .NET for Nano is .NET core:

https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.microsoft.com_en-2Dus_dotnet_articles_core_index&d=DwIGaQ&c=uilaK90D4TOVoH58JNXRgQ&r=7tMDwzaWrK9qVgcGeEkcCA&m=sNN2xXccf7ls1z2DXPAR7CunlY_G1IOuak3pNoT4CZw&s=i_CtNYyLWW1nYRAoG9JrRrrt98VvnlQuTkgLNKjUjMc&e=

https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.microsoft.com_en-2Dus_dotnet_articles_framework_docker_index&d=DwIGaQ&c=uilaK90D4TOVoH58JNXRgQ&r=7tMDwzaWrK9qVgcGeEkcCA&m=sNN2xXccf7ls1z2DXPAR7CunlY_G1IOuak3pNoT4CZw&s=stRXFkzKd-Pf65QvMPcKTnyAiLai0AkZ2alBeoPNZIo&e=

https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.microsoft.com_en-2Dus_dotnet_articles_framework_docker_console&d=DwIGaQ&c=uilaK90D4TOVoH58JNXRgQ&r=7tMDwzaWrK9qVgcGeEkcCA&m=sNN2xXccf7ls1z2DXPAR7CunlY_G1IOuak3pNoT4CZw&s=cW8112_Hxg1CpbIKUwTFauoLV5K--gsUnRpRBOKQ8N0&e=



I tried compiling using .NET core, but unfortunately, I could not get it to compile. I think the infrastructure API's are missing. We could try using https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.microsoft.com_en-2Dus_dotnet_articles_core_porting_&d=DwIGaQ&c=uilaK90D4TOVoH58JNXRgQ&r=7tMDwzaWrK9qVgcGeEkcCA&m=sNN2xXccf7ls1z2DXPAR7CunlY_G1IOuak3pNoT4CZw&s=i0SyIWM5ScZNrGe0z9ZOeu7n07ix5PmxryNRg4uSplc&e=  to see what is missing on all the versions (I only generated an output for version 1.1):

https://urldefense.proofpoint.com/v2/url?u=https-3A__1drv.ms_u_s-21ApveFU9IPhe1gxJVpaI-5F4fiufxNa&d=DwIGaQ&c=uilaK90D4TOVoH58JNXRgQ&r=7tMDwzaWrK9qVgcGeEkcCA&m=sNN2xXccf7ls1z2DXPAR7CunlY_G1IOuak3pNoT4CZw&s=iPpvm4TcksBUo48YzPXJ0kf_VqKSrg3kaSFQRYRgBno&e=



Build Output.

OvsDiscoveryService.cs(1,14): error CS0234: The type or namespace name 'ServiceProcess' does not exist in the namespace 'System' (are you missing an assembly reference?)

OvsSwitchMonitor.cs(1,14): error CS0234: The type or namespace name 'Management' does not exist in the namespace 'System' (are you missing an assembly reference?)

Program.cs(2,14): error CS0234: The type or namespace name 'ServiceProcess' does not exist in the namespace 'System' (are you missing an assembly reference?)

VirtualAdapter.cs(1,14): error CS0234: The type or namespace name 'Management' does not exist in the namespace 'System' (are you missing an assembly reference?)

VirtualAdapterManager.cs(3,14): error CS0234: The type or namespace name 'Management' does not exist in the namespace 'System' (are you missing an assembly reference?)

VirtualAdapterMonitor.cs(3,14): error CS0234: The type or namespace name 'Management' does not exist in the namespace 'System' (are you missing an assembly reference?)

WmiMonitor.cs(3,14): error CS0234: The type or namespace name 'Management' does not exist in the namespace 'System' (are you missing an assembly reference?)

WqlHelper.cs(2,14): error CS0234: The type or namespace name 'Management' does not exist in the namespace 'System' (are you missing an assembly reference?)

WqlObject.cs(2,14): error CS0234: The type or namespace name 'Management' does not exist in the namespace 'System' (are you missing an assembly reference?)

OvsDiscoveryService.cs(8,39): error CS0246: The type or namespace name 'ServiceBase' could not be found (are you missing a using directive or an assembly reference?)

WqlObject.cs(38,59): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

WqlObject.cs(46,60): error CS0246: The type or namespace name 'EventArrivedEventArgs' could not be found (are you missing a using directive or an assembly reference?)

WqlObject.cs(42,59): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

WqlObject.cs(50,59): error CS0246: The type or namespace name 'EventArrivedEventArgs' could not be found (are you missing a using directive or an assembly reference?)

WmiMonitor.cs(20,16): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

OvsDiscoveryService.cs(52,33): error CS0115: 'OvsDiscoveryService.OnStart(string[])': no suitable method found to override

OvsDiscoveryService.cs(62,33): error CS0115: 'OvsDiscoveryService.OnStop()': no suitable method found to override

WqlHelper.cs(11,23): error CS0246: The type or namespace name 'ManagementEventWatcher' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(15,23): error CS0246: The type or namespace name 'ManagementEventWatcher' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(20,23): error CS0246: The type or namespace name 'ManagementEventWatcher' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(33,23): error CS0246: The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(38,23): error CS0246: The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(42,23): error CS0246: The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(46,23): error CS0246: The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(68,81): error CS0246: The type or namespace name 'ManagementScope' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(68,23): error CS0246: The type or namespace name 'ManagementObject' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(84,100): error CS0246: The type or namespace name 'EventArrivedEventArgs' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(84,29): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(84,51): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(103,41): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

WqlHelper.cs(103,73): error CS0246: The type or namespace name 'ManagementScope' could not be found (are you missing a using directive or an assembly reference?)

WmiMonitor.cs(32,28): error CS0246: The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?)

WmiMonitor.cs(33,28): error CS0246: The type or namespace name 'ManagementEventWatcher' could not be found (are you missing a using directive or an assembly reference?)

WmiMonitor.cs(35,42): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

WmiMonitor.cs(141,63): error CS0246: The type or namespace name 'EventArrivedEventArgs' could not be found (are you missing a using directive or an assembly reference?)

WmiMonitor.cs(191,19): error CS0246: The type or namespace name 'ManagementEventWatcher' could not be found (are you missing a using directive or an assembly reference?)

VirtualAdapter.cs(21,16): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

Properties\Settings.Designer.cs(16,61): error CS0234: The type or namespace name 'Configuration' does not exist in the namespace 'System' (are you missing an assembly reference?)

OvsSwitchMonitor.cs(34,28): error CS0246: The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?)

VirtualAdapterMonitor.cs(35,28): error CS0246: The type or namespace name 'ManagementObjectCollection' could not be found (are you missing a using directive or an assembly reference?)

VirtualAdapterMonitor.cs(41,28): error CS0246: The type or namespace name 'ManagementEventWatcher' could not be found (are you missing a using directive or an assembly reference?)

Properties\Settings.Designer.cs(26,25): error CS0234: The type or namespace name 'Configuration' does not exist in the namespace 'System' (are you missing an assembly reference?)

Properties\Settings.Designer.cs(28,25): error CS0234: The type or namespace name 'Configuration' does not exist in the namespace 'System' (are you missing an assembly reference?)

VirtualAdapterMonitor.cs(53,55): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

OvsSwitchMonitor.cs(45,50): error CS0246: The type or namespace name 'ManagementBaseObject' could not be found (are you missing a using directive or an assembly reference?)

OvsSwitchMonitor.cs(66,28): error CS0246: The type or namespace name 'ManagementEventWatcher' could not be found (are you missing a using directive or an assembly reference?)



> -----Original Message-----

> From: Yin Lin [mailto:linyi at vmware.com]

> Sent: Friday, January 13, 2017 9:17 PM

> To: Alin Serdean <aserdean at cloudbasesolutions.com>;

> dev at openvswitch.org

> Subject: RE: [ovs-dev] [PATCH] Windows: Implement Hyper-V VIF discovery

> agent.

>

> Hi Alin,

>

> No, I do not have a Nano server at hand. In fact, last time when I tested, our

> OVS driver doesn't work with Windows Server 2016. No traffic was going

> through and I hit BSOD frequently.

>

> Best regards,

> Yin Lin

>

> -----Original Message-----

> From: Alin Serdean [mailto:aserdean at cloudbasesolutions.com]

> Sent: Thursday, January 12, 2017 8:30 AM

> To: Yin Lin <linyi at vmware.com>; dev at openvswitch.org

> Subject: RE: [ovs-dev] [PATCH] Windows: Implement Hyper-V VIF discovery

> agent.

>

> Thanks for the patch Yin.

>

> It would be nice to add a commit message on why the agent is useful.

>

> A quick question: did you test it with Nano?

>

> Alin.

>

> > -----Original Message-----

> > From: ovs-dev-bounces at openvswitch.org [mailto:ovs-dev-

> > bounces at openvswitch.org] On Behalf Of Yin Lin

> > Sent: Wednesday, January 11, 2017 1:14 AM

> > To: dev at openvswitch.org

> > Cc: Yin Lin <linyi at vmware.com>

> > Subject: [ovs-dev] [PATCH] Windows: Implement Hyper-V VIF discovery

> > agent.

> >

> > Signed-off-by: Yin Lin <linyi at vmware.com>


More information about the dev mailing list