You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Chiradeep Vittal <Ch...@citrix.com> on 2012/04/24 03:48:22 UTC

Re: [cloudstack-users] Customizing system VMs without breaking existing system VM's?

The identity of the system vm template / virtual router template is
determined in VMTemplateDaoImpl.java
(findRoutingTemplate etc).
This is not the best way : especially in a multihypervisor zone, the
selection of the template becomes muddy.

The other question is : why do you want a different template? Starting a
VR requires a whole bunch of coordination with the management server
(patching, probing port 3922 etc).


Note: "domainrouter" is a legacy name from CloudStack 1.0 which supported
XenServer exclusively. In XS, the virtual machine instances are called
"domains", and a special domain, "domain 0" exists to help the hypervisor.
The "domain router" was conceptualized to assist the CloudStack much in
the same manner. Today we call it "system vm" or "virtual router".
 

On 4/23/12 5:02 PM, "Bryan Whitehead" <dr...@megahappy.net> wrote:

>http://docs.cloudstack.org/Knowledge_Base/Customizing_system_VMs
>
>This guide looks like I need to hack up the system vm image that all
>the systems VM's use. I'd like to create a parallel systemVM,
>specifically I'd like to keep the "Advanced Router" as is and also
>build a separate Router "fooBarRouter". Is this possible?
>
>The API call createServiceOffering looks like it can only have 3
>options, "domainrouter", "consoleproxy" and "secondarystoragevm" for
>systemvmtype. Assuming I pass "systemvmtype=domainrouter" and set
>"issystem=true" I don't see how I can associate a different template
>for "domainrouter". Is this something inherited from "domainid"?
>Example, can a domain have a different default template for
>domainrouter?
>
>Or would I just use a preconfigured ServiceOffering and then tweak
>createNetworkOffering in some way to know an "Advance Router" would
>really be an alternative systemVM/templateid?
>
>Any pointers would be appreciated. I'm also willing to do the work to
>add this kind of functionality into CloudStack.
>
>-Bryan
>
>--------------------------------------------------------------------------
>----
>Live Security Virtual Conference
>Exclusive live event will cover all the ways today's security and
>threat landscape has changed and how IT managers can respond. Discussions
>will include endpoint security, mobile security and the latest in malware
>threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>_______________________________________________
>cloudstack-users mailing list
>cloudstack-users@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/cloudstack-users


Re: [cloudstack-users] Customizing system VMs without breaking existing system VM's?

Posted by Bryan Whitehead <dr...@megahappy.net>.
> The identity of the system vm template / virtual router template is
> determined in VMTemplateDaoImpl.java
> (findRoutingTemplate etc).

I'll poke around this. Thanks for the pointer.

> This is not the best way : especially in a multihypervisor zone, the
> selection of the template becomes muddy.

I'll be in a pure XenServer zone, so I don't think that will be an issue.

> The other question is : why do you want a different template? Starting a
> VR requires a whole bunch of coordination with the management server
> (patching, probing port 3922 etc).

There are many different reasons one might want alternative routing
templates. Primarily, the one I'm going after is this: As far as I can
tell, if using an advanced networking install, there isn't a way to
directly allocate a public IP to an instance. The only want to get a
public IP is to allocate one as part of an isolated network with NAT
mapping. I'd prefer to *not* deal with this NAT mapping. My
alternative is to make a custom systemVM where I can customize/add my
needs. At the same time, I don't want to break existing applications
that are perfectly suited to use the Advanced Router.

Protocols like SIP and the associated RTP do not play well with NAT's
(it can be done but it really complicates things). Other examples are
customized load balancers, session tracking, etc where underlying NAT
is very application specific. Having multiple layers of NAT and
redirection is something I'd like to avoid.

Another can of worms is debugging, oftentimes (especially dealing with
external organizations) I need direct access to the public IP for a
tcpdump of a session. Not having this is really annoying (maybe i'm
just too new to cloudstack?).

> Note: "domainrouter" is a legacy name from CloudStack 1.0 which supported
> XenServer exclusively. In XS, the virtual machine instances are called
> "domains", and a special domain, "domain 0" exists to help the hypervisor.
> The "domain router" was conceptualized to assist the CloudStack much in
> the same manner. Today we call it "system vm" or "virtual router".
>
>
> On 4/23/12 5:02 PM, "Bryan Whitehead" <dr...@megahappy.net> wrote:
>
>>http://docs.cloudstack.org/Knowledge_Base/Customizing_system_VMs
>>
>>This guide looks like I need to hack up the system vm image that all
>>the systems VM's use. I'd like to create a parallel systemVM,
>>specifically I'd like to keep the "Advanced Router" as is and also
>>build a separate Router "fooBarRouter". Is this possible?
>>
>>The API call createServiceOffering looks like it can only have 3
>>options, "domainrouter", "consoleproxy" and "secondarystoragevm" for
>>systemvmtype. Assuming I pass "systemvmtype=domainrouter" and set
>>"issystem=true" I don't see how I can associate a different template
>>for "domainrouter". Is this something inherited from "domainid"?
>>Example, can a domain have a different default template for
>>domainrouter?
>>
>>Or would I just use a preconfigured ServiceOffering and then tweak
>>createNetworkOffering in some way to know an "Advance Router" would
>>really be an alternative systemVM/templateid?
>>
>>Any pointers would be appreciated. I'm also willing to do the work to
>>add this kind of functionality into CloudStack.
>>
>>-Bryan
>>
>>--------------------------------------------------------------------------
>>----
>>Live Security Virtual Conference
>>Exclusive live event will cover all the ways today's security and
>>threat landscape has changed and how IT managers can respond. Discussions
>>will include endpoint security, mobile security and the latest in malware
>>threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>_______________________________________________
>>cloudstack-users mailing list
>>cloudstack-users@lists.sourceforge.net
>>https://lists.sourceforge.net/lists/listinfo/cloudstack-users
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> cloudstack-users mailing list
> cloudstack-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/cloudstack-users