----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/13922/ -----------------------------------------------------------
(Updated Sept. 5, 2013, 8:29 a.m.) Review request for cloudstack, Alex Huang, Chiradeep Vittal, and Devdeep Singh. Repository: cloudstack-git Description ------- A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its architecture allows additional functionality to be easily added. Incorporating the plugin in CloudStack will allow the community to participate in improving the features available with Hyper-V. The plugin uses a Director Connect Agent architecture described here: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Progress This links provides details of third party libraries used by the plugin including their licenses. No source for these libraries is used, and the binaries are downloaded from their distributors at build time. No proprietary tools are required for the build. For instance, C# compiled with Mono has been tested. Therefore, the plugin has been added to the default build and the default deployment. The plugin includes unit and functional tests that can be triggered at build time. See the link above for details. The Apache header is applied to source and where feasible to build config files. The source is the https://github.com/lafferty/cloudstack/tree/hyperv_plugin Diffs ----- client/pom.xml 1afe5b898d328b06b5da7c132eaed14fefc78718 client/tomcatconf/applicationContext.xml.in 956c77c5fa6c3d909be1fbee8ba26e8d8ba1dce7 client/tomcatconf/componentContext.xml.in f36d0ee02a2eb91733f6f2a76be60a1477529d4d client/tomcatconf/simulatorComponentContext.xml.in c46d1de086a5633b64c90884dbc02a03c3b2e8ad plugins/hypervisors/hyperv/DotNet/ServerResource/.gitignore PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/.nuget/NuGet.Config PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/.nuget/NuGet.targets PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/AgentService.Designer.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/AgentService.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/AgentSettings.Designer.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/AgentSettings.settings PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/AgentShell.csproj PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/AgentShellException.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/App.config PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/Program.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/Properties/AssemblyInfo.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/AgentShell/packages.config PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/App.config PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/CloudStackTypes.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResource.csproj PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/Properties/AssemblyInfo.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/Utils.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCalls.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/packages.config PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/ServerResource.Tests/App.config PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/ServerResource.Tests/HypervResourceControllerTest.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/ServerResource.Tests/Properties/AssemblyInfo.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/ServerResource.Tests/ServerResource.Tests.csproj PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/ServerResource.Tests/packages.config PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/ServerResource.sln PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/Properties/AssemblyInfo.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.CIMV2.Win32_OperatingSystem.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.CIMV2.Win32_Processor.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_ComputerSystem.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_ConcreteJob.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_ExternalEthernetPort.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_IDEController.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_ImageManagementService.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_MemorySettingData.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_ProcessorSettingData.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_ResourceAllocationSettingData.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_SummaryInformation.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_SwitchLANEndpoint.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_SwitchPort.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_SyntheticEthernetPort.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_SyntheticEthernetPortSettingData.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_VLANEndpoint.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_VLANEndpointSettingData.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_VirtualSwitch.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_VirtualSwitchManagementService.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_VirtualSystemGlobalSettingData.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_VirtualSystemManagementService.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_VirtualSystemManagementServiceSettingData.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_VirtualSystemSettingData.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/ROOT.virtualization.Msvm_VmLANEndpoint.cs PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/Readme.txt PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/WmiWrappers.csproj PRE-CREATION plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers/root.CIMV2.Win32_PerfFormattedData_Counters_ProcessorInformation.cs PRE-CREATION plugins/hypervisors/hyperv/buildagent.sh PRE-CREATION plugins/hypervisors/hyperv/conf/agent.properties PRE-CREATION plugins/hypervisors/hyperv/conf/developer.properties.template PRE-CREATION plugins/hypervisors/hyperv/conf/environment.properties.in PRE-CREATION plugins/hypervisors/hyperv/conf/log4j-cloud.xml PRE-CREATION plugins/hypervisors/hyperv/conf/log4j-cloud.xml.in PRE-CREATION plugins/hypervisors/hyperv/conf/log4j.xml PRE-CREATION plugins/hypervisors/hyperv/pom.xml PRE-CREATION plugins/hypervisors/hyperv/rdpclient/pom.xml PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/AwtBellAdapter.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/AwtCanvasAdapter.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/AwtClipboardAdapter.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/AwtKeyEventSource.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/AwtMouseEventSource.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/BitmapOrder.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/BitmapRectangle.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/BufferedImageCanvas.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/BufferedImageCopyRectAdapter.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/BufferedImagePixelsAdapter.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/Client.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/CopyRectOrder.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/KeyOrder.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/MouseOrder.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/OrderType.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/ScreenDescription.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/common/SizeChangeListener.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/AwtRdpKeyboardAdapter.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/AwtRdpMouseAdapter.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientConfirmActivePDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientFastPathPDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientInfoPDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientMCSAttachUserRequest.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientMCSChannelJoinRequest_ServerMCSChannelConfirmPDUs.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientMCSConnectInitial.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientMCSErectDomainRequest.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientPacketSniffer.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientSynchronizePDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientTpkt.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientX224ConnectionRequestPDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ClientX224DataPdu.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/HandshakeEnd.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/MockServer.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/PacketSniffer.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/RLEBitmapDecompression.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/RdpClient.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/RdpConstants.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/RdpState.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerBitmapUpdate.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerChannel1003Router.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerControlPDUCooperate.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerControlPDUGrantedControl.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerDemandActivePDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerFastPath.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerLicenseErrorPDUValidClient.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerMCSAttachUserConfirmPDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerMCSChannelJoinConfirmPDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerMCSConnectResponse.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerMCSPDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerPacketSniffer.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerPaletteUpdate.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerSynchronizePDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerTpkt.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerX224ConnectionConfirmPDU.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/ServerX224DataPdu.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/TrustAllX509TrustManager.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/rdpclient/UpgradeSocketToSSL.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/AssertingByteBuffer.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/BaseElement.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/BufferPool.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/ByteBuffer.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/DataSink.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/DataSource.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/Direction.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/Element.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/Event.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/FakeSink.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/FakeSource.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/InputStreamSource.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/Link.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/MockSink.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/MockSource.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/OneTimeSwitch.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/Order.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/OutputStreamSink.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/Pipeline.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/PipelineImpl.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/Queue.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/SocketWrapper.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/streamer/SyncLink.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/AwtKeyboardEventToVncAdapter.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/AwtMouseEventToVncAdapter.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/EncodingsMessage.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/FrameBufferUpdateRequest.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/RGB888LE32PixelFormatRequest.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/RfbConstants.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/VncClient.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/VncInitializer.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/VncMessageHandler.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/Vnc_3_3_Authentication.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/main/java/vncclient/Vnc_3_3_Hello.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/test/java/rdpclient/AppTest.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/test/java/rdpclient/AprSslTest.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/test/java/rdpclient/MockServer.java PRE-CREATION plugins/hypervisors/hyperv/rdpclient/src/test/java/rdpclient/MockServerTest.java PRE-CREATION plugins/hypervisors/hyperv/scripts/dev_extra_setup.sh PRE-CREATION plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/discoverer/HypervServerDiscoverer.java PRE-CREATION plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/guru/HypervGuru.java PRE-CREATION plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java PRE-CREATION plugins/hypervisors/hyperv/test/com/cloud/hypervisor/hyperv/test/HypervDirectConnectResourceTest.java PRE-CREATION plugins/pom.xml 0812642b7c01206377f5abbbca220523b5b3925f Diff: https://reviews.apache.org/r/13922/diff/ Testing ------- Integration test: created zone with CIFS secondary storage, added Hyper-V host, registered templates, create/stop/start/destroy VM. Scripts for zone setup are available on request. Funcitonal & unit tests: the Java versions are part of the build. The C# versions were run inside Visual Studio's Test Explorer. Thanks, Donal Lafferty