cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alessandro Pilotti ...@pilotti.it>
Subject Re: [cloudstack-devel] Hyper-V Support
Date Fri, 01 Jun 2012 12:46:23 GMT
Hi Rajesh,

here's the error. It happens when we try to add a template. We need to find a way to replace
this with a dummy implementation. 

[java] WARN  [storage.download.DownloadMonitorImpl] (http-8080-5:) There is no secondary storage
VM for secondary storage host nfs://10.73.76.36/export/secondary

The fake secondary storage VM exists and is shown as in "Running" state in the admin panel.



Thanks!

Alessandro




On Jun 1, 2012, at 15:06 , Rajesh Battala wrote:

> Can you please send the error in detail and log which can help us to find what is the
error. 
> 
> Thanks
> Rajesh Battala
> 
>> -----Original Message-----
>> From: Alessandro Pilotti [mailto:ap@pilotti.it]
>> Sent: Friday, June 01, 2012 4:53 PM
>> To: cloudstack-dev@incubator.apache.org
>> Cc: Development discussions for CloudStack
>> Subject: Re: [cloudstack-devel] Hyper-V Support
>> 
>> Hi guys,
>> 
>> we are moving forward pretty fast in the development of support for Hyper-
>> V, we'll be able to share the first bits hopefully very soon. :-)
>> 
>> In the meantime we have a small problem to solve with the secondary
>> storage: in our test environment, we created a dummy Hyper-V resource,
>> but we have troubles in deploying dummy instances as CloudStack cannot
>> see and initialize a secondary storage.
>> 
>> Do you have any suggestion on how to get around that?
>> 
>> 
>> Thanks!
>> 
>> Alessandro Pilotti
>> Cloudbase Solutions Srl
>> ------------------------------------------------------------
>> IT Consultant & Technical Speaker
>> 
>> MVP ASP.Net / IIS
>> Windows Azure Insider
>> Microsoft Certified Professional & Trainer MCSD, MCAD, MCSE, MCDBA,
>> MCTS, MCT RHCE - Red Hat Certified Engineer
>> ------------------------------------------------------------
>> 
>> 
>> 
>> 
>> On Apr 22, 2012, at 03:54 , Kelven Yang wrote:
>> 
>>>>> 1) I'm looking at the commands in com.cloud.agent.api. Is there some
>> documentation?
>>> Unfortunately, we haven't put a detail document on this. Vmware or
>> XenServer resource is a good place to look at
>>> 
>>>>> 2) Commands are synchronous or asynchronous? In case how do you
>> handle running jobs?
>>> 
>>> There is a design principal that command executors are dumb executors,
>> the command flow business logic should be implemented in corresponding
>> managers running inside management server, therefore a resource
>> implementation will be easily hosted either locally within the management
>> server or remotely at agent side.
>>> 
>>> Command is usually executed synchronously(we actually provides
>> mechanism to execute command asynchronously), managers can schedule
>> asynchronous jobs.
>>> 
>>>>> 3) Configuration: how do I tell CS that a new HyperVisor Resource type
>> exists? (both cases: Manager based / Agent based)
>>> To add a new hypervisor, there are a number of things you need to do
>> together,
>>> 	1) Hypervisor.java, add a new type into the enum
>>> 	2) Config.java, add the new type to HypervisorList so that UI may be
>> aware of
>>> 	3) Add the resource discover class, refer to XcpServerDiscover.java,
>> KvmServerDiscover.java, etc
>>> 	4) Add the resource class(for managed resource), refer to
>> VmwareResource.java/CitrixResourceBase.java, etc.
>>> 	5) Populate guest OS types and system template data for the
>> hypervisor to database, refer to create-schema.sql and template.sql
>>> 	6) Prepare the default system template for the hypervisor
>>> 
>>>>> 4) Storage:
>>> This is the part that needs a lot of discussions.
>>> We are talking about secondary storage. Usually only hypervisor host and
>> storage system VM need to access to it, VMware does one special step that
>> management server needs to access to it to bootstrap system VMs. So to
>> support hybrid deployment option, we would require secondary storage to
>> be accessible from all of them, giving the fact that Xen/KVM/VMware only
>> supports NFS shares, it would be better to make secondary storage dual
>> faces for Hyper-V, in this way, the same secondary storage will be able to
>> serve XenServer/VMware/KVM/Hyper-V within the same zone.
>>> 
>>> We do have a Hyper-V prototype in current CloudStack code base, you may
>> also want to check it out before you start.
>>> 
>>> Kelven
>>> 
>>> 
>>> -----Original Message-----
>>> From: Alessandro Pilotti [mailto:ap@pilotti.it]
>>> Sent: Saturday, April 21, 2012 1:35 PM
>>> To: cloudstack-dev@incubator.apache.org
>>> Cc: Development discussions for CloudStack
>>> Subject: Re: [cloudstack-devel] Hyper-V Support
>>> 
>>> I started looking into the code for VMWare and KVM resources in order to
>> develop the Hyper-V Resource, the proxy based architecture is clear.
>>> 
>>> 
>>> I have some basic questions to start with :-)
>>> 
>>> 1) I'm looking at the commands in com.cloud.agent.api. Is there some
>> documentation? To start coding the HyperV adapter, is there a list of
>> mandatory and optional commands? I'm "reverse engineering" their
>> semantyc looking at the VMWare resources, but it's not so trivial :)
>>> 
>>> 2) Commands are synchronous or asynchronous? In case how do you
>> handle running jobs?
>>> 
>>> 3) Configuration: how do I tell CS that a new HyperVisor Resource type
>> exists? (both cases: Manager based / Agent based)
>>> 
>>> 4) Storage: the free Hyper-V server does not contain an NFS client. There
>> are of course open source NFS clients (Cygwin, etc) that can be installed, but
>> supporting SMB might be easier. What do you think about adding support for
>> SMB shares in CS?
>>> 
>>> 
>>> 
>>> Thanks!
>>> 
>>> Alessandro
>>> 
>>> 
>>> On Apr 20, 2012, at 02:30 , Frank Zhang wrote:
>>> 
>>>> 
>>>>> There's a JSON-based protocol to pass commands between
>> Management Server and host.
>>>> 
>>>>>> That sounds great! Do you maybe have a link for some documentation
>> and samples? :)
>>>>               CloudStack has two types of managing host. Agent based and
>> manager based. Agent based means installing an agent on host and
>> management server directly controls host through the agent. KVM and
>> XenServer falls into this category,  as KVM agent is written by CloudStack
>> developer while agent of XenServer is provided by Xapi.  The manager based
>> approach applies to VMWare, HyperV, OVM3 where CloudStack invokes API
>> of SDK provided by hypervisor vendor to communicate with *the manager*,
>> for example, VCenter of VMWare, the manager is on behalf of CloudStack to
>> control the host. in our code paths, these two approaches look like:
>>>> 
>>>> 1.       Agent Based:
>>>> CloudStack business logic -------à Resource -----(XMLRPC or something) ---
>> ------à Agent on host
>>>> 2.       Manager Based:
>>>> CloudStack business logic ------à Resource -----(API in SDK) ----------à
>> hypervisor manager provided by vendor ------à host
>>>> 
>>>>               To support a new type of hypervisor, the key is to implement
a
>> *Resource* showed in above. The Resource is a command executor which
>> receives commands from CloudStack business logic(known as various
>> managers, like networkManager, StorageManager, UserVmManager . in our
>> code) and performs these commands to hypervisor by means of either
>> XmlRpc or SDK API. In GoF design patterns, the Resource is a proxy pattern
>> that works as a surrogate between CloudStack and hypervisors.
>>>>               If you open one of hypervisor resources source file (for example,
>> VmwareResource.java, LibvirtComputingResource.java,
>> CitrixResourceBase.java), you will find all of them implement the same set of
>> commands that are exhibited by method:
>>>> public Answer executeRequest(Command cmd)
>>>> 
>>>> take a look at that method and implement a similar resource like others,
>> then you add HyperV support into CloudStackJ
>>>> 
>>>> 
>>>> Thanks,
>>>> 
>>>> Alessandro
>>>> 
>>>> 
>>>> On Apr 19, 2012, at 19:16 , Kevin Kluge wrote:
>>>> 
>>>> 
>>>> Yes, very interesting.   Can you elaborate on the getThumbnail function.
>> One issue we have been thinking about with Hyper-V is how to do guest
>> console display (console proxy functionality, in CloudStack terms).  Since only
>> RDP is available with Hyper-V, and CloudStack knows only VNC, we've been
>> expecting that RDP is needed in CloudStack to provide console view.
>>>> 
>>>> Did you integrate with Hyper-V in Windows Server 2008 R2?   Or
>> something else?
>>>> 
>>>> The CloudStack has existing code/framework to implement what we call a
>> remote agent (your scenario 3).   Take a look at how KVM hosts are
>> managed.   There's a JSON-based protocol to pass commands between
>> Management Server and host.
>>>> 
>>>> -kevin
>>>> 
>>>> 
>>>> 
>>>> -----Original Message-----
>>>> From: Rajesh Battala [mailto:rajesh.battala@citrix.com]
>>>> Sent: Thursday, April 19, 2012 8:59 AM
>>>> To: cloudstack-dev@incubator.apache.org
>>>> Subject: RE: Hyper-V Support
>>>> 
>>>> Idea is great.
>>>> All these Hyper-V operations are implement to manage the Hyper-V box
>>>> directly  using WMI calls right?
>>>> Or these operations are implemented via SCVMM?
>>>> 
>>>> Thanks
>>>> Rajesh Battala
>>>> 
>>>> 
>>>> 
>>>> 
>>>> -----Original Message-----
>>>> From: Alessandro Pilotti [mailto:ap@pilotti.it]
>>>> Sent: Thursday, April 19, 2012 9:02 PM
>>>> To: cloudstack-dev@incubator.apache.org
>>>> Cc: cloudstack-devel@lists.sourceforge.net
>>>> Subject: Hyper-V Support
>>>> 
>>>> Hi guys,
>>>> 
>>>> I'm new to this list, so hi everybody :-)
>>>> 
>>>> I'm interested in providing code for integrating Cloudstack with Hyper-V.
>> We
>>>> developend an Hyper-V management framework that we use in our cloud
>>>> products that can be used (at least as as a starting point).
>>>> 
>>>> I'm summing up at the bottom of this email what we already have in
>> terms of
>>>> Hyper-V features handled by our framework (completed and tested). We
>>>> basically cover everything needed for CloudStack and more. :-)
>>>> 
>>>> Beside that we also just released an open source Hyper-V backup library
>> and
>>>> CLI tool: http://hypervbackup.codeplex.com/ So far it's the only open
>> source
>>>> tool handling VSS backups of VMs on CSV storage :-)
>>>> 
>>>> The assemblies are written in C# with .Net as the only dependency.
>>>> 
>>>> I see 3 options to integrate our work with CloudStack:
>>>> 
>>>> Write a Java adapter on top of the C# assembly (via JNI) Rewrite the C#
>> code
>>>> in Java, considering the quirkness for accessing WMI from java (jWMI, etc)
>>>> Deploy the assembly on the Hyper-V hosts and add a RESTful layer on top
>> to
>>>> be consumed by a Java adapter (locally or remotely). That would be the
>> best
>>>> option in terms of performance and security (and the fastest to release :-)
>> ).
>>>> 
>>>> I prefer the third option, but I'm open to any idea!
>>>> Looking forward for your opinion!
>>>> 
>>>> BTW We plan to setup a CloudStack Hyper-V service in our datacenter on
>> top
>>>> of one of the clusters as soon as we have a working beta.
>>>> 
>>>> 
>>>> Thanks,
>>>> 
>>>> Alessandro Pilotti
>>>> Cloudbase Solutions Srl
>>>> ------------------------------------------------------------
>>>> IT Consultant & Technical Speaker
>>>> 
>>>> MVP ASP.Net / IIS
>>>> MCSD, MCAD, MCSE, MCDBA, MCTS, MCT
>>>> RHCE - Red Hat Certified Engineer
>>>> ------------------------------------------------------------
>>>> 
>>>> 
>>>> 
>>>> VM
>>>> Create
>>>> Update
>>>> Delete
>>>> Add / update / remove any type of resource (ethernet
>> emulated/synthetic
>>>> adapther, VHDs, ISO images etc) List Get summary Get thumbnail Get
>>>> integration tools status and KV data Get IP addresses Start Stop Pause
>> Save
>>>> Shutdown Take snapshot List snapshots Revert to snapshot Remove
>>>> snapshots Export Import Network
>>>> 
>>>> Create VirtualSwitch
>>>> Delete VirtualSwitch
>>>> List VirtualSwitches
>>>> Create VirtualSwitch port
>>>> remove VirtualSwitch port
>>>> Bind external ethernet port
>>>> Setup VirtualSwitch (connect to external ethernet port) Terdown switch
>>>> Create internal ethernet port Remove internal ethernet port Connect
>>>> VirtualSwitch port to VM or other ports Disconnect VirtualSwitch port
>>>> 
>>>> Storage
>>>> 
>>>> Create VHD (fixed, dynamic, differencing) Compact VHD Convert VHD
>> type
>>>> Merge VHD with parent Validate VHD Mount / unmount VHD Reconnect
>>>> parent VHD Get VHD info Expand VHD Create Virtual Floppy Disk
>>>> 
>>>> Utility
>>>> 
>>>> Get async job info
>>>> Wait for async job info
>>>> Remote file system management
>>>> 
>>>> Cluster
>>>> 
>>>> Create VM resource
>>>> Remove VM resource
>>>> Live migrate VM
>>>> Create CSV
>>>> Move CSV
>>>> 
>>>> Backup / Restore
>>>> 
>>>> http://hypervbackup.codeplex.com/
>>>> 
>>>> 
>>>> ------------------------------------------------------------------------------
>>>> For Developers, A Lot Can Happen In A Second.
>>>> Boundary is the first to Know...and Tell You.
>>>> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
>>>> http://p.sf.net/sfu/Boundary-
>> d2dvs2_______________________________________________
>>>> cloudstack-devel mailing list
>>>> cloudstack-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/cloudstack-devel
>>> 
> 


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