cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajesh Battala <rajesh.batt...@citrix.com>
Subject RE: [cloudstack-devel] Hyper-V Support
Date Fri, 01 Jun 2012 12:06:17 GMT
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
View raw message