You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Silvano Nogueira Buback <si...@corp.globo.com> on 2014/07/14 23:59:40 UTC

[DISCUSS] Acquire New Ip from a different range on shared networks

Hi guys,

    At Globo.com we are working in a load balancer plugin for Cloudstack
with a network api developed internally. This api manages shared networks
and is working with cloudstack 4.3 (as a network guru implementation). Our
load balancers are in a different network, so to implement a network
element of load balancer, first I need to acquire an IP from the load
balancers network. What is the best way to do this?

    I looked at portable IPs and that makes sense to me, but I would prefer
a solution where my guru can give this IP to the network. Is there any
other way?

Thanks in advance,

Silvano Buback

Re: [DISCUSS] Acquire New Ip from a different range on shared networks

Posted by Murali Reddy <Mu...@citrix.com>.
On 23/07/14 4:32 AM, "Silvano Nogueira Buback" <si...@corp.globo.com>
wrote:

>@All
>    When I acquire new IP in shared network the same IP of vms are given
>To the users.

When you create a shared network, a range of IP address need to be given.
IP addresses are allocated from this range for the VM's in the shared
network. Are you saying that even acquire new IP is allocating an IP from
the IP range given for shared network? If so it seems like a bug.

> I would like to change "Acquired New Ip" mechanism to ask the
>network guru to decide which ip must be given to the users. Network guru
>is
>the only one that need to understand how network is implemented, so it
>must
>decide which IP must be associate. So, my idea is to create a new method
>in
>Network Guru named allocate, but with only with Network as argument. For
>the Network Guru existing, the rule is the same, but any new guru subclass
>(like mine) can change the behavior if it want. Basically, the command
>associateIpAddress only need to verify permission, ask
>networkguru.allocate
>and mark the IP as allocated in database. What do you think? If everyone
>agrees I can create the design document and start this development. Works
>for my guru, and I guess keeps clean the code to allocate IP address.

Network guru's already does IPAM (ip address management of what IP a VM
should get from the network CIDR) for both isolated & shared networks. But
allocating a public IP from the zone public IP pool does not seem to fit
into the function of network guru's IMO. Perhaps if you can share the fix
you have done that should give idea how network guru allocating public IP
fit into the network subsystem.

>
>[]'s,
>
>Silvano Buback
>



Re: [DISCUSS] Acquire New Ip from a different range on shared networks

Posted by Silvano Nogueira Buback <si...@corp.globo.com>.
@Murali,
Yes, I have a bunch of publics IPs that are accessible only by load
balancers. Load balancers network are cross zone too.

@Ilya,
This is not exactly I am trying.

@Chiradeep,
Yes.

@All
    When I acquire new IP in shared network the same IP of vms are given to
the users. I would like to change "Acquired New Ip" mechanism to ask the
network guru to decide which ip must be given to the users. Network guru is
the only one that need to understand how network is implemented, so it must
decide which IP must be associate. So, my idea is to create a new method in
Network Guru named allocate, but with only with Network as argument. For
the Network Guru existing, the rule is the same, but any new guru subclass
(like mine) can change the behavior if it want. Basically, the command
associateIpAddress only need to verify permission, ask networkguru.allocate
and mark the IP as allocated in database. What do you think? If everyone
agrees I can create the design document and start this development. Works
for my guru, and I guess keeps clean the code to allocate IP address.

[]'s,

Silvano Buback



On Mon, Jul 21, 2014 at 5:48 PM, Chiradeep Vittal <
Chiradeep.Vittal@citrix.com> wrote:

> Do you want to acquire IPs for the VIP (front-end)?
>
> From: Silvano Nogueira Buback <silvano@corp.globo.com<mailto:
> silvano@corp.globo.com>>
> Reply-To: "dev@cloudstack.apache.org<ma...@cloudstack.apache.org>" <
> dev@cloudstack.apache.org<ma...@cloudstack.apache.org>>
> Date: Monday, July 14, 2014 at 2:59 PM
> To: "dev@cloudstack.apache.org<ma...@cloudstack.apache.org>" <
> dev@cloudstack.apache.org<ma...@cloudstack.apache.org>>
> Subject: [DISCUSS] Acquire New Ip from a different range on shared networks
>
> Hi guys,
>
>     At Globo.com we are working in a load balancer plugin for Cloudstack
> with a network api developed internally. This api manages shared networks
> and is working with cloudstack 4.3 (as a network guru implementation). Our
> load balancers are in a different network, so to implement a network
> element of load balancer, first I need to acquire an IP from the load
> balancers network. What is the best way to do this?
>
>     I looked at portable IPs and that makes sense to me, but I would prefer
> a solution where my guru can give this IP to the network. Is there any
> other way?
>
> Thanks in advance,
>
> Silvano Buback
>
>

Re: [DISCUSS] Acquire New Ip from a different range on shared networks

Posted by Chiradeep Vittal <Ch...@citrix.com>.
Do you want to acquire IPs for the VIP (front-end)?

From: Silvano Nogueira Buback <si...@corp.globo.com>>
Reply-To: "dev@cloudstack.apache.org<ma...@cloudstack.apache.org>" <de...@cloudstack.apache.org>>
Date: Monday, July 14, 2014 at 2:59 PM
To: "dev@cloudstack.apache.org<ma...@cloudstack.apache.org>" <de...@cloudstack.apache.org>>
Subject: [DISCUSS] Acquire New Ip from a different range on shared networks

Hi guys,

    At Globo.com we are working in a load balancer plugin for Cloudstack
with a network api developed internally. This api manages shared networks
and is working with cloudstack 4.3 (as a network guru implementation). Our
load balancers are in a different network, so to implement a network
element of load balancer, first I need to acquire an IP from the load
balancers network. What is the best way to do this?

    I looked at portable IPs and that makes sense to me, but I would prefer
a solution where my guru can give this IP to the network. Is there any
other way?

Thanks in advance,

Silvano Buback


Re: [DISCUSS] Acquire New Ip from a different range on shared networks

Posted by ilya musayev <il...@gmail.com>.
Silvano,

This is not exactly a help you've asked about. But something along the 
similar concept, we've requested a feature known as IP POOL.

As an example, you have several networks either guest or public that can 
be put into 1 large pool. In case network x runs out of IP space, you 
would get an IP from another alike network.

Example:

Guest Net 1 - has 20 IPs
Guest Net 2 - has 20 IPs

If we can aggregate both Guest Networks into 1 pool, the request is 
executed against a pool ip network and not specific network. If Guest 
Net 2 runs out of IP, you would get an IP from Guest Net 1. Another 
possibility would be to balance the ip pools requests through round 
robin or consecutive allocation algorithms.

On the low level, there must be an API implementation to show number of 
IPs available per Guest Network.

Is that similar to what you are trying to do?

Thanks
ilya
On 7/14/14, 2:59 PM, Silvano Nogueira Buback wrote:
> Hi guys,
>
>      At Globo.com we are working in a load balancer plugin for Cloudstack
> with a network api developed internally. This api manages shared networks
> and is working with cloudstack 4.3 (as a network guru implementation). Our
> load balancers are in a different network, so to implement a network
> element of load balancer, first I need to acquire an IP from the load
> balancers network. What is the best way to do this?
>
>      I looked at portable IPs and that makes sense to me, but I would prefer
> a solution where my guru can give this IP to the network. Is there any
> other way?
>
> Thanks in advance,
>
> Silvano Buback
>


Re: [DISCUSS] Acquire New Ip from a different range on shared networks

Posted by Murali Reddy <Mu...@citrix.com>.
On 15/07/14 3:29 AM, "Silvano Nogueira Buback" <si...@corp.globo.com>
wrote:

>Hi guys,
>
>    At Globo.com we are working in a load balancer plugin for Cloudstack
>with a network api developed internally. This api manages shared networks
>and is working with cloudstack 4.3 (as a network guru implementation). Our
>load balancers are in a different network, so to implement a network
>element of load balancer, first I need to acquire an IP from the load
>balancers network. What is the best way to do this?

Silvano, So you have bunch of public IP's that are accessible only in the
network that has load balancers? You want to use only those public IP's
for load balancing, any other public IP from zone public IP range is not
usable for LB?


Currently there is no way/API to mention from which range of Public IP's
you want to acquire an IP. Not sure if this can help but there is more
restrictive way you can achieve this. You can dedicated public IP range to
an account, any attempt to acquire an IP by the account will result to
allocation of IP from the dedicated public IP range. You can use that
account to provision LB services.

>
>    I looked at portable IPs and that makes sense to me, but I would
>prefer
>a solution where my guru can give this IP to the network. Is there any
>other way?
>
>Thanks in advance,
>
>Silvano Buback
>