You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Donal Lafferty <do...@citrix.com> on 2013/09/05 10:28:30 UTC
Re: Review Request 13922: Minimal Hyper-V Plugin
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/13922/
-----------------------------------------------------------
(Updated Sept. 5, 2013, 8:28 a.m.)
Review request for cloudstack, Alex Huang, Chiradeep Vittal, and Devdeep Singh.
Changes
-------
Re add dependency that was accidentally deleted at first submission.
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