cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Donal Lafferty" <donal.laffe...@citrix.com>
Subject Review Request 13922: Minimal Hyper-V Plugin
Date Fri, 30 Aug 2013 23:39:42 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/13922/
-----------------------------------------------------------

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.

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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message