On 8/8/12 10:31 AM, "Pranav Saxena" <pranav.sax...@citrix.com> wrote:

>Hi Alena , 
>
>when you mentioned this -"  Start/EndIp addresses in createNetwork define
>the first vlan range for the network. These parameters are not required,
>as the range can be added later with createVlanIpRange command. We can
>make it required in the UI though to force the admin to configure first
>ip range along with the network creation. "
>
>Just to be clear , does this mean -   If we have  an Isolated network
>with source NAT service enabled, then start/endIp are being ignored in
>createNetwork command.

Correct. 


>So essentially , the StartIp and endIP are respected by Shared networks
>only ?  

Shared and Isolated with NO source nat service.


>So those fields have to be mandatory  when creating the shared network
>from the UI and hidden if we are creating an isolated network with source
>NAT enabled ?


Yes, we should make them mandatory in the UI.

>
>Thanks,
>Pranav
>
>-----Original Message-----
>From: Alena Prokharchyk [mailto:alena.prokharc...@citrix.com]
>Sent: Wednesday, August 08, 2012 10:44 PM
>To: cloudstack-dev@incubator.apache.org
>Subject: Re: Networking question
>
>On 8/7/12 11:54 PM, "Hugo Trippaers" <htrippa...@schubergphilis.com>
>wrote:
>
>>Hey Alena,
>>
>>Why would we want to explicitly add a vlan for "isolated" networks
>>without source nat service? The guest IP allocator works for that
>>scenario and the network is not supposed to be shared.
>
>Guest IP allocator works only for Isolated networks with Source Nat
>service enabled. If source nat service is disabled for Isolated network,
>it uses the same ip address allocation mechanism as Shared network
>(acquireDirectIpAddress)
>
>
>>I'm actively working with this part of the code as currently the some
>>of the create code explicitly checks for vlan tags before deciding if
>>the IP networks overlap. However with the SDN code there is no such
>>thing as a vlan, but the network is still "private". I'm trying to see
>>which parts of the code should be changed to allow it to work with the
>>SDN code.
>>
>>Next to that there is an inconsistency in the permissions, it is
>>possible for a domain-admin to create an isolated network without
>>SourceNat. The network is actually created, but the ip addresses are
>>not added to the vlan and user_ip_address tables.
>
>Start/EndIp addresses in createNetwork define the first vlan range for
>the network. These parameters are not required, as the range can be added
>later with createVlanIpRange command. We can make it required in the UI
>though to force the admin to configure first ip range along with the
>network creation. You can file a bug against the UI component.
>
>
>>This would cause an exception when creating a VM in this network as
>>there are no IP addresses allocated. I think domain admins should be
>>able to create these types of networks.
>>
>>Am I making any sense at all?
>
>Sure, everything you said, makes sense. I understand that the fact that
>the same createNetwork API call is used for creating diff kinds of
>networks, and some parameters might be required only for certain types of
>networks, leads to confusion. We might split this call in the future into
>2 separate calls - one available to the ROOT admin only, allowing
>creating Shared and Isolated non-source nat networks where IP/Vlan
>parameters are required; and another one - available to the regular user
>for Guest Isolated source nat enabled network creation where cidr and
>vlan are optional parameters.
>
>> 
>>
>>Hugo
>>
>>-----Original Message-----
>>From: Alena Prokharchyk [mailto:alena.prokharc...@citrix.com]
>>Sent: Tuesday, August 07, 2012 10:51 PM
>>To: cloudstack-dev@incubator.apache.org
>>Subject: Re: Networking question
>>
>>Hugo,
>>
>>Sorry, completely missed this scenario. When I referred to ip
>>allocation in Isolated network in my email, I meant Isolated network
>>with Source Nat service.
>>
>>IP allocation for Isolated network with no source Nat falls under the
>>same rules Shared network follows. Both these networks used to be
>>called "Direct" in previous releases; and for both networks the Vlan
>>has to be added explicitly.
>>
>>"Virtual" network is always an equivalent to Isolated Network with
>>Source Nat service enabled.
>>
>>-Alena.
>>
>>On 8/7/12 1:38 PM, "Hugo Trippaers" <htrippa...@schubergphilis.com>
>>wrote:
>>
>>>Hey Alena,
>>>
>>>Thanks for the explanation, but in my case the network that I'm
>>>creating is an isolated network without a SourceNat offering.
>>>
>>>So it should not need have an ip allocated from the public ip table as
>>>it is isolated. It is also not a VLAN but a 'direct' network as it is
>>>provisioned by the Nicira stack.
>>>
>>>I have a work around now that checks if there is a vlan defined on
>>>this network using the vlanDao and if there is not the guest allocator
>>>is used.
>>>
>>>Cheers,
>>>
>>>Hugo
>>>
>>>Sent from my iPhone
>>>
>>>On 7 aug. 2012, at 20:14, "Alena Prokharchyk"
>>><alena.prokharc...@citrix.com> wrote:
>>>
>>>> On 8/7/12 6:14 AM, "Hugo Trippaers" <htrippa...@schubergphilis.com>
>>>>wrote:
>>>> 
>>>>> Heya,
>>>>> 
>>>>> I'm trying to get my head around something and would welcome some
>>>>> feedback.
>>>>> 
>>>>> The use case I'm currently working with is related to internal
>>>>>networks.
>>>>> I have serveral use cases that call for internal networks that have
>>>>>no  connection to the outside world. Say I have a couple of
>>>>>webservers with  one nic in a sourcenat-ted network and one nic in a
>>>>>dedicated DB network.
>>>>> And a couple of DB servers that are only located in the DB network.
>>>>>(A  similar scenario is where the VMs exist in an already existing
>>>>>VLAN or  bridged network using a Nicira Nvp Gateway)
>>>>> 
>>>>> As admin I have created a networkoffering with just DHCP, DNS and
>>>>>UserData enabled and no other services. As a domain-admin I can
>>>>>create a  network based on that offering via the API and give it an
>>>>>ip range that I  want. When creating a VM in that network I get a
>>>>>message saying that I  can allocate an address.
>>>>> 
>>>>> If I create this network as a domain-admin the last step in
>>>>> createNetwork(CreateNetworkCmd) in NetworkManagerImpl, the call to
>>>>>createVlanAndPublicIpRange(), is skipped. This is OK as it is an
>>>>>internal  network for domain. When creating the VM the
>>>>>GuestNetworkGuru (line
>>>>>402)
>>>>> assumes that it should get an IP using the allocateDirectIp call.
>>>>>This  goes wrong as there are no IP's in the "public" pool for this
>>>>>lan.
>>>>> 
>>>>> I would like to change this piece in GuestNetworkGuru to check if
>>>>> the public range is in the public ip table and if it's not use the
>>>>> acquireGuestIpAddress call to reserve an IP.
>>>> 
>>>> 
>>>> Hugo, there is a difference in how we maintain ip addresses for
>>>> Isolated networks and Shared networks.
>>>> 
>>>> 1) For Isolated networks, any IP address from the CIDR defined on
>>>> the network level, can be used for vm deployment. So whenever
>>>> acquireGuestIpAddress is called, we:
>>>> 
>>>> * get the network cidr
>>>> * figure out all ip addresses used from this cidr by existing vms -
>>>>this info it taken from Nics table. Put these ip addresses to avoid
>>>>set.
>>>> * randomly pick up any free ip address (considering the avoid set)
>>>>from the cidr space.
>>>> 
>>>> 
>>>> 2) For Shared networks, the IP ranges are kept in user_ip_address
>>>>table.
>>>> There can be non-contiguous ip ranges - you can add every range
>>>>using  createVlanIpRange admin API. And the ip allocation algorithm
>>>>is quite  different here, as we can't just rely on the cidr and
>>>>assume that all  ip addresses from the cidr can be used as we do in
>>>>Isolated network case.
>>>> 
>>>> Every time we have to allocate ip address from the Shared range for
>>>>the  vm, we look at the user_ip_address table and pick up any FREE ip
>>>>address  from the network. If there are no free ip addresses left,
>>>>admin has to add  more using createVlanIpRange API.
>>>> 
>>>> So we can't use acquireGuestIpAddress call for Shared networks.
>>>> 
>>>> Let me know if the explanation is clear enough, or more details are
>>>>needed.
>>>> 
>>>> -Alena.
>>>> 
>>>> 
>>>>> But as I'm not completely sure about the reasoning behind this I
>>>>> would like some feedback on my reasoning before I break stuff in
>>>>> other places
>>>>> :-)
>>>>> 
>>>>> Cheers,
>>>>> 
>>>>> Hugo
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>
>>
>>
>>
>
>
>


Reply via email to