You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by "Mills, Joseph" <jo...@midokura.jp> on 2013/02/01 03:34:06 UTC

VPC Functionality Not Pluggable

I was looking through the code that handles creating VPCs and noticed that
it did not seem pluggable at the moment. For example, there are a few
places where the assumption is made that the only possible Vpc element
provider is VPCVirtualRouter:

    protected VpcProvider getVpcElement() {


        if (vpcElement == null) {


            vpcElement =
((VpcProvider)_ntwkMgr.getElementImplementingProvider(Provider.VPCVirtualRouter.getName()));


        }





        if (vpcElement == null) {


            throw new CloudRuntimeException("Failed to initialize vpc
element");

        }





        return vpcElement;


    }

Are there any plans to make the Vpc functionality in cloudstack pluggable?
Has anyone scoped out what the required changes would be?

thanks,
Joe

RE: VPC Functionality Not Pluggable

Posted by Kishan Kavala <Ki...@citrix.com>.
Joseph,
 You can check 2.4 in the nTier Apps spec. https://cwiki.apache.org/confluence/display/CLOUDSTACK/nTier+Apps+2.0+Functional+Spec
I'll add more details to the spec shortly. I planning to add this to master in next 1-2 weeks.

Provider can be both an advanced networking provider and a VPC provider.

-----Original Message-----
From: Mills, Joseph [mailto:joe@midokura.jp] 
Sent: Monday, 18 February 2013 11:29 AM
To: cloudstack-dev@incubator.apache.org
Subject: Re: VPC Functionality Not Pluggable

Hi Kishan,

We are very interested in this feature so I was hoping you can provide some more details, if possible.

Is there a functional or design spec I can go through?

Do you have any idea of when your VPC changes will be put into master? I am wondering if we will have enough lead time to integrate our changes with yours before 4.2 gets cutoff.

Will VPC be a service with similar pluggability to any other networking service (like static NAT, Firewall, etc)? If so, can a provider be both an advanced networking provider and a VPC provider, or will they need to be separate?

Thanks,
Joe

On Mon, Feb 4, 2013 at 6:36 PM, Kishan Kavala <Ki...@citrix.com>wrote:

> Joe,
>   Currently it is targeted for 4.2. Existing createVpcOffering would 
> be enhanced to include service provider list  (similar to 
> createnetworkoffering).
> VPCVirtualRouter is currently hard-coded as the only provider for VPC 
> offering. This has to be relaxed and createVpcOffering API should be 
> used to make it configurable.
>
> ~kishan
>
> > -----Original Message-----
> > From: Mills, Joseph [mailto:joe@midokura.jp]
> > Sent: Monday, 4 February 2013 2:42 PM
> > To: cloudstack-dev@incubator.apache.org
> > Subject: Re: VPC Functionality Not Pluggable
> >
> > Hi Kishan, Chiradeep,
> >
> > Thanks for the info. We are currently prototyping VPC functionality 
> > with
> our
> > plugin. We are getting around this in the short term by changing the
> various
> > dependencies on VPCVirtualRouter with some logic that will loop 
> > through
> the
> > Elements and pick the first VPC plugin available, which we make sure 
> > is
> ours.
> >
> > Any idea when you expect to have this in? I would also be very
> interested in
> > knowing implementation details, if you have decided on any yet.
> >
> > thanks,
> > Joe
> >
> > On Mon, Feb 4, 2013 at 5:29 PM, Kishan Kavala
> > <Ki...@citrix.com>wrote:
> >
> > > Yes, it needs fixing. I'm planning to make it pluggable as part of 
> > > ExternalDevice support for VPC.
> > > https://issues.apache.org/jira/browse/CLOUDSTACK-749
> > >
> > >
> > > > -----Original Message-----
> > > > From: Chiradeep Vittal [mailto:Chiradeep.Vittal@citrix.com]
> > > > Sent: Monday, 4 February 2013 8:28 AM
> > > > To: cloudstack-dev@incubator.apache.org
> > > > Subject: Re: VPC Functionality Not Pluggable
> > > >
> > > > Looks like a shortcut. Definitely needs fixing
> > > >
> > > > On 1/31/13 6:34 PM, "Mills, Joseph" <jo...@midokura.jp> wrote:
> > > >
> > > > >I was looking through the code that handles creating VPCs and 
> > > > >noticed that it did not seem pluggable at the moment. For 
> > > > >example, there are a few places where the assumption is made 
> > > > >that the only possible Vpc element provider is VPCVirtualRouter:
> > > > >
> > > > >    protected VpcProvider getVpcElement() {
> > > > >
> > > > >
> > > > >        if (vpcElement == null) {
> > > > >
> > > > >
> > > > >            vpcElement =
> > > > >((VpcProvider)_ntwkMgr.getElementImplementingProvider(Provider.
> > > > >V
> > PCV
> > > > irtu
> > > > >alR
> > > > >outer.getName()));
> > > > >
> > > > >
> > > > >        }
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >        if (vpcElement == null) {
> > > > >
> > > > >
> > > > >            throw new CloudRuntimeException("Failed to 
> > > > >initialize vpc element");
> > > > >
> > > > >        }
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >        return vpcElement;
> > > > >
> > > > >
> > > > >    }
> > > > >
> > > > >Are there any plans to make the Vpc functionality in cloudstack
> > > pluggable?
> > > > >Has anyone scoped out what the required changes would be?
> > > > >
> > > > >thanks,
> > > > >Joe
> > >
> > >
>

Re: VPC Functionality Not Pluggable

Posted by "Mills, Joseph" <jo...@midokura.jp>.
Hi Kishan,

We are very interested in this feature so I was hoping you can provide some
more details, if possible.

Is there a functional or design spec I can go through?

Do you have any idea of when your VPC changes will be put into master? I am
wondering if we will have enough lead time to integrate our changes with
yours before 4.2 gets cutoff.

Will VPC be a service with similar pluggability to any other networking
service (like static NAT, Firewall, etc)? If so, can a provider be both an
advanced networking provider and a VPC provider, or will they need to
be separate?

Thanks,
Joe

On Mon, Feb 4, 2013 at 6:36 PM, Kishan Kavala <Ki...@citrix.com>wrote:

> Joe,
>   Currently it is targeted for 4.2. Existing createVpcOffering would be
> enhanced to include service provider list  (similar to
> createnetworkoffering).
> VPCVirtualRouter is currently hard-coded as the only provider for VPC
> offering. This has to be relaxed and createVpcOffering API should be used
> to make it configurable.
>
> ~kishan
>
> > -----Original Message-----
> > From: Mills, Joseph [mailto:joe@midokura.jp]
> > Sent: Monday, 4 February 2013 2:42 PM
> > To: cloudstack-dev@incubator.apache.org
> > Subject: Re: VPC Functionality Not Pluggable
> >
> > Hi Kishan, Chiradeep,
> >
> > Thanks for the info. We are currently prototyping VPC functionality with
> our
> > plugin. We are getting around this in the short term by changing the
> various
> > dependencies on VPCVirtualRouter with some logic that will loop through
> the
> > Elements and pick the first VPC plugin available, which we make sure is
> ours.
> >
> > Any idea when you expect to have this in? I would also be very
> interested in
> > knowing implementation details, if you have decided on any yet.
> >
> > thanks,
> > Joe
> >
> > On Mon, Feb 4, 2013 at 5:29 PM, Kishan Kavala
> > <Ki...@citrix.com>wrote:
> >
> > > Yes, it needs fixing. I'm planning to make it pluggable as part of
> > > ExternalDevice support for VPC.
> > > https://issues.apache.org/jira/browse/CLOUDSTACK-749
> > >
> > >
> > > > -----Original Message-----
> > > > From: Chiradeep Vittal [mailto:Chiradeep.Vittal@citrix.com]
> > > > Sent: Monday, 4 February 2013 8:28 AM
> > > > To: cloudstack-dev@incubator.apache.org
> > > > Subject: Re: VPC Functionality Not Pluggable
> > > >
> > > > Looks like a shortcut. Definitely needs fixing
> > > >
> > > > On 1/31/13 6:34 PM, "Mills, Joseph" <jo...@midokura.jp> wrote:
> > > >
> > > > >I was looking through the code that handles creating VPCs and
> > > > >noticed that it did not seem pluggable at the moment. For example,
> > > > >there are a few places where the assumption is made that the only
> > > > >possible Vpc element provider is VPCVirtualRouter:
> > > > >
> > > > >    protected VpcProvider getVpcElement() {
> > > > >
> > > > >
> > > > >        if (vpcElement == null) {
> > > > >
> > > > >
> > > > >            vpcElement =
> > > > >((VpcProvider)_ntwkMgr.getElementImplementingProvider(Provider.V
> > PCV
> > > > irtu
> > > > >alR
> > > > >outer.getName()));
> > > > >
> > > > >
> > > > >        }
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >        if (vpcElement == null) {
> > > > >
> > > > >
> > > > >            throw new CloudRuntimeException("Failed to initialize
> > > > >vpc element");
> > > > >
> > > > >        }
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >        return vpcElement;
> > > > >
> > > > >
> > > > >    }
> > > > >
> > > > >Are there any plans to make the Vpc functionality in cloudstack
> > > pluggable?
> > > > >Has anyone scoped out what the required changes would be?
> > > > >
> > > > >thanks,
> > > > >Joe
> > >
> > >
>

RE: VPC Functionality Not Pluggable

Posted by Kishan Kavala <Ki...@citrix.com>.
Joe,
  Currently it is targeted for 4.2. Existing createVpcOffering would be enhanced to include service provider list  (similar to createnetworkoffering). 
VPCVirtualRouter is currently hard-coded as the only provider for VPC offering. This has to be relaxed and createVpcOffering API should be used to make it configurable.

~kishan

> -----Original Message-----
> From: Mills, Joseph [mailto:joe@midokura.jp]
> Sent: Monday, 4 February 2013 2:42 PM
> To: cloudstack-dev@incubator.apache.org
> Subject: Re: VPC Functionality Not Pluggable
> 
> Hi Kishan, Chiradeep,
> 
> Thanks for the info. We are currently prototyping VPC functionality with our
> plugin. We are getting around this in the short term by changing the various
> dependencies on VPCVirtualRouter with some logic that will loop through the
> Elements and pick the first VPC plugin available, which we make sure is ours.
> 
> Any idea when you expect to have this in? I would also be very interested in
> knowing implementation details, if you have decided on any yet.
> 
> thanks,
> Joe
> 
> On Mon, Feb 4, 2013 at 5:29 PM, Kishan Kavala
> <Ki...@citrix.com>wrote:
> 
> > Yes, it needs fixing. I'm planning to make it pluggable as part of
> > ExternalDevice support for VPC.
> > https://issues.apache.org/jira/browse/CLOUDSTACK-749
> >
> >
> > > -----Original Message-----
> > > From: Chiradeep Vittal [mailto:Chiradeep.Vittal@citrix.com]
> > > Sent: Monday, 4 February 2013 8:28 AM
> > > To: cloudstack-dev@incubator.apache.org
> > > Subject: Re: VPC Functionality Not Pluggable
> > >
> > > Looks like a shortcut. Definitely needs fixing
> > >
> > > On 1/31/13 6:34 PM, "Mills, Joseph" <jo...@midokura.jp> wrote:
> > >
> > > >I was looking through the code that handles creating VPCs and
> > > >noticed that it did not seem pluggable at the moment. For example,
> > > >there are a few places where the assumption is made that the only
> > > >possible Vpc element provider is VPCVirtualRouter:
> > > >
> > > >    protected VpcProvider getVpcElement() {
> > > >
> > > >
> > > >        if (vpcElement == null) {
> > > >
> > > >
> > > >            vpcElement =
> > > >((VpcProvider)_ntwkMgr.getElementImplementingProvider(Provider.V
> PCV
> > > irtu
> > > >alR
> > > >outer.getName()));
> > > >
> > > >
> > > >        }
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >        if (vpcElement == null) {
> > > >
> > > >
> > > >            throw new CloudRuntimeException("Failed to initialize
> > > >vpc element");
> > > >
> > > >        }
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >        return vpcElement;
> > > >
> > > >
> > > >    }
> > > >
> > > >Are there any plans to make the Vpc functionality in cloudstack
> > pluggable?
> > > >Has anyone scoped out what the required changes would be?
> > > >
> > > >thanks,
> > > >Joe
> >
> >

Re: VPC Functionality Not Pluggable

Posted by "Mills, Joseph" <jo...@midokura.jp>.
Hi Kishan, Chiradeep,

Thanks for the info. We are currently prototyping VPC functionality with
our plugin. We are getting around this in the short term by changing the
various dependencies on VPCVirtualRouter with some logic that will loop
through the Elements and pick the first VPC plugin available, which we make
sure is ours.

Any idea when you expect to have this in? I would also be very interested
in knowing implementation details, if you have decided on any yet.

thanks,
Joe

On Mon, Feb 4, 2013 at 5:29 PM, Kishan Kavala <Ki...@citrix.com>wrote:

> Yes, it needs fixing. I'm planning to make it pluggable as part of
> ExternalDevice support for VPC.
> https://issues.apache.org/jira/browse/CLOUDSTACK-749
>
>
> > -----Original Message-----
> > From: Chiradeep Vittal [mailto:Chiradeep.Vittal@citrix.com]
> > Sent: Monday, 4 February 2013 8:28 AM
> > To: cloudstack-dev@incubator.apache.org
> > Subject: Re: VPC Functionality Not Pluggable
> >
> > Looks like a shortcut. Definitely needs fixing
> >
> > On 1/31/13 6:34 PM, "Mills, Joseph" <jo...@midokura.jp> wrote:
> >
> > >I was looking through the code that handles creating VPCs and noticed
> > >that it did not seem pluggable at the moment. For example, there are a
> > >few places where the assumption is made that the only possible Vpc
> > >element provider is VPCVirtualRouter:
> > >
> > >    protected VpcProvider getVpcElement() {
> > >
> > >
> > >        if (vpcElement == null) {
> > >
> > >
> > >            vpcElement =
> > >((VpcProvider)_ntwkMgr.getElementImplementingProvider(Provider.VPCV
> > irtu
> > >alR
> > >outer.getName()));
> > >
> > >
> > >        }
> > >
> > >
> > >
> > >
> > >
> > >        if (vpcElement == null) {
> > >
> > >
> > >            throw new CloudRuntimeException("Failed to initialize vpc
> > >element");
> > >
> > >        }
> > >
> > >
> > >
> > >
> > >
> > >        return vpcElement;
> > >
> > >
> > >    }
> > >
> > >Are there any plans to make the Vpc functionality in cloudstack
> pluggable?
> > >Has anyone scoped out what the required changes would be?
> > >
> > >thanks,
> > >Joe
>
>

RE: VPC Functionality Not Pluggable

Posted by Kishan Kavala <Ki...@citrix.com>.
Yes, it needs fixing. I'm planning to make it pluggable as part of ExternalDevice support for VPC.
https://issues.apache.org/jira/browse/CLOUDSTACK-749


> -----Original Message-----
> From: Chiradeep Vittal [mailto:Chiradeep.Vittal@citrix.com]
> Sent: Monday, 4 February 2013 8:28 AM
> To: cloudstack-dev@incubator.apache.org
> Subject: Re: VPC Functionality Not Pluggable
> 
> Looks like a shortcut. Definitely needs fixing
> 
> On 1/31/13 6:34 PM, "Mills, Joseph" <jo...@midokura.jp> wrote:
> 
> >I was looking through the code that handles creating VPCs and noticed
> >that it did not seem pluggable at the moment. For example, there are a
> >few places where the assumption is made that the only possible Vpc
> >element provider is VPCVirtualRouter:
> >
> >    protected VpcProvider getVpcElement() {
> >
> >
> >        if (vpcElement == null) {
> >
> >
> >            vpcElement =
> >((VpcProvider)_ntwkMgr.getElementImplementingProvider(Provider.VPCV
> irtu
> >alR
> >outer.getName()));
> >
> >
> >        }
> >
> >
> >
> >
> >
> >        if (vpcElement == null) {
> >
> >
> >            throw new CloudRuntimeException("Failed to initialize vpc
> >element");
> >
> >        }
> >
> >
> >
> >
> >
> >        return vpcElement;
> >
> >
> >    }
> >
> >Are there any plans to make the Vpc functionality in cloudstack pluggable?
> >Has anyone scoped out what the required changes would be?
> >
> >thanks,
> >Joe


Re: VPC Functionality Not Pluggable

Posted by Chiradeep Vittal <Ch...@citrix.com>.
Looks like a shortcut. Definitely needs fixing

On 1/31/13 6:34 PM, "Mills, Joseph" <jo...@midokura.jp> wrote:

>I was looking through the code that handles creating VPCs and noticed that
>it did not seem pluggable at the moment. For example, there are a few
>places where the assumption is made that the only possible Vpc element
>provider is VPCVirtualRouter:
>
>    protected VpcProvider getVpcElement() {
>
>
>        if (vpcElement == null) {
>
>
>            vpcElement =
>((VpcProvider)_ntwkMgr.getElementImplementingProvider(Provider.VPCVirtualR
>outer.getName()));
>
>
>        }
>
>
>
>
>
>        if (vpcElement == null) {
>
>
>            throw new CloudRuntimeException("Failed to initialize vpc
>element");
>
>        }
>
>
>
>
>
>        return vpcElement;
>
>
>    }
>
>Are there any plans to make the Vpc functionality in cloudstack pluggable?
>Has anyone scoped out what the required changes would be?
>
>thanks,
>Joe