← Back to team overview

openstack team mailing list archive

Re: [Quantum & OVS] How to bi-direction communicate between VM instances and "old" LAN network(s)

 

Hi, finally I can make it run with multi l3-agent, but still have some
problems.
(I change my network model, an instance now have 2 VM interface, each
interface connect to a separate router, and each router have an separate
external network - 192.168.5.0/24 (old_LAN) and x.y.z.0/24 (WAN network in
my Datacenter))

First, the config of router(s) (interface+IP) not stable, depend on running
order or l3-agent(s)

Second, sometimes floating-ip can't not be attached to interface and
iptables rules can't not be created, because the request being sent to
wrong l3-agent (because we have 2 l3-agent on a node)

Third, a instance can have mulltiple floating IP (on multi ext_net), but
only one Floating-IP "*working*", because when an instance have multi
default gateway, the traffic can in & out in different way.

*PS: Why I can't simple add a "port" to my router, then add a LAN IP to
this port (ex: 192.168.5.254), then "add" this port to another br-ex
(another NIC card) *(I created *br-ex-lan* and add ethX to it), then plug
this port to  my old LAN switch/router, to add some routes like:
quantum router-update <id_of_router> --routes type=dict list=true
destination=192.168.0.0/16,nexthop=192.168.5.1

*Or have a way to do that, and I don't know?*

Can you guide me a way, pls? Thank you very much!!



On Thu, May 23, 2013 at 3:08 PM, 钟生平 <chdzsp@xxxxxxx> wrote:

> You should also perform the following commands:
> quantum router-gateway-set <id_of_project_router> old_lan5
>
>
> At 2013-05-23 15:21:10,"Chu Duc Minh" <chu.ducminh@xxxxxxxxx> wrote:
>
> Thanks Ashok Kumaran,
> I follow your link, but when i associate a Floating IP in new_Ext_net to
> an instance, Horizon throw an error:
>
> *Error: *External network 4a7f4ca5-a787-4f64-8a4b-22a11f9b55f7 is not
> reachable from subnet 9c921f72-a60e-4eae-b53f-f3eff3218627. Therefore,
> cannot associate Port d105d3e7-6702-4ff6-81f8-65fba219bd0b with a Floating
> IP.
>
> PS: I run:
>
> quantum net-create --tenant-id <id_of_admin_tenant> old_lan5
> --router:external=True
>
> quantum subnet-create --tenant-id 2fcd718a8d084ffc866bbb39640c8cd1
> --allocation-pool start=192.168.5.31,end=192.168.5.34 --gateway
> 192.168.5.30 old_lan5 192.168.5.0/24 --enable_dhcp=False
>
> quantum router-interface-add <id_of_project_router> <id_of_new_subnet>
>
> quantum router-update 5def5511-7a43-48ca-b234-be290020509c --routes
> type=dict list=true destination=192.168.0.0/16,nexthop=192.168.5.1
>
>
>
>
> On Thu, May 23, 2013 at 12:41 PM, Ashok Kumaran <ashokkumaran.b@xxxxxxxxx>wrote:
>
>> Hi Chu,
>>
>> You might want to check this link.
>>
>>
>> http://docs.openstack.org/trunk/openstack-network/admin/content/adv_cfg_l3_agent_multi_extnet.html
>>
>> you can create multiple floating ip pools in association with different
>> ext nets
>>
>>
>> -Ashok
>>
>>
>>  On Thu, May 23, 2013 at 10:38 AM, Chu Duc Minh <chu.ducminh@xxxxxxxxx>wrote:
>>
>>>  Hi, thank you for your help, but I can't follow your guides because I
>>> already have an external network (123.x.y.0/24)
>>>
>>> I tried some ways to add 2 floating IP(s) (belong to 2 network/subnet)
>>> to an instance, but still not success...
>>>
>>> Do you or others have another idea?
>>>
>>> Thank you very much!
>>>
>>>
>>>
>>>
>>> On Thu, May 23, 2013 at 12:40 AM, Naveen Joy (najoy) <najoy@xxxxxxxxx>wrote:
>>>
>>>>  Hi Chu,****
>>>>
>>>> ** **
>>>>
>>>> I was able to get my instances and  LAN servers communicate by
>>>> following the below steps. The basic idea is that you should add the
>>>> external network interface to br-ex,  then create an external network in
>>>> quantum with --router:external=True and allocate floating IPs to your
>>>> instances from this external network. Now your LAN servers can talk to your
>>>> instances using these routable floating IPs that you have allocated from
>>>> the external network.****
>>>>
>>>> ** **
>>>>
>>>> Steps:****
>>>>
>>>> **1.      **Create an external bridge named br-ex and add the network
>>>> card to that bridge. Also assign an IP on the external bridge so you can
>>>> manage it. Assuming eth1 is your network card.****
>>>>
>>>> sudo ovs-vsctl add-br br-ex****
>>>>
>>>> sudo ovs-vsctl add-port br-ex eth1****
>>>>
>>>> sudo ip addr add <ip/mask> dev br-ex****
>>>>
>>>> sudo ip link set br-ex up****
>>>>
>>>> ** **
>>>>
>>>> **2.      **Set eth1 as a promiscuous interface in Ubuntu with no IP
>>>> address so your host OS does not mess with it.****
>>>>
>>>> Edit your /etc/network/interfaces and add the below lines:****
>>>>
>>>> iface eth1 inet manual****
>>>>
>>>>     up ifconfig $IFACE 0.0.0.0 up****
>>>>
>>>>     up ifconfig $IFACE promisc****
>>>>
>>>>     down ifconfig $IFACE down****
>>>>
>>>> ****
>>>>
>>>> **3.      **Create a shared public network and subnet for your tenant
>>>> routers to plug in. ****
>>>>
>>>> Note that this network should be mapped to your existing LAN network
>>>> and you should also set an existing gateway and assign IP allocation pools.
>>>> ****
>>>>
>>>> quantum net-create public --shared --router:external=True
>>>> --provider:network_type local****
>>>>
>>>> quantum subnet-create --name public-subnet --gateway <gateway-ip>
>>>>  --allocation-pool start=<start-ip>,end=<end-ip> public
>>>> <external-LAN-subnet/mask>****
>>>>
>>>> ** **
>>>>
>>>> **4.      **Then set an external gateway IP for your tenant routers
>>>> and create your user nets****
>>>>
>>>> quantum router-create router1****
>>>>
>>>> quantum router-gateway-set router1 public****
>>>>
>>>> quantum net-create usernet1****
>>>>
>>>> quantum subnet-create --name subnet1 usernet1 10.0.0.0/24****
>>>>
>>>> quantum router-interface-add router1 subnet1****
>>>>
>>>> ** **
>>>>
>>>> **5.      **To enable bi-directional network communication your old
>>>> LAN network server farm use floating IPs. Allocate a floating IP and map it
>>>> to your instance port either using command line or via horizon.****
>>>>
>>>> quantum floatingip-create --port_id $SERVER_PORT_ID public****
>>>>
>>>> ** **
>>>>
>>>> Hope this helps.****
>>>>
>>>> ** **
>>>>
>>>> Naveen/****
>>>>
>>>> ** **
>>>>
>>>> ** **
>>>>
>>>> *From:* Openstack [mailto:openstack-bounces+najoy=
>>>> cisco.com@xxxxxxxxxxxxxxxxxxx] *On Behalf Of *Chu Duc Minh
>>>> *Sent:* Wednesday, May 22, 2013 5:04 AM
>>>> *To:* openstack@xxxxxxxxxxxxxxxxxxx
>>>> *Subject:* [Openstack] [Quantum & OVS] How to bi-direction communicate
>>>> between VM instances and "old" LAN network(s)****
>>>>
>>>> ** **
>>>>
>>>> Hi, i deployed a Openstack Grizzly cluster with Quantum using
>>>> network-model *"Per-tenant Routers with Private Networks"*. Everything
>>>> is ok. ****
>>>>
>>>> Now, i need to communicate (bi-direction) between VM network(s) and
>>>> "old" LAN network(s) of old server farm. (192.168.2.0/24,
>>>> 192.168.3.0/24, v.v...)****
>>>>
>>>> I added a network card to Network-node and plug it to a LAN network (
>>>> 192.168.3.0/24).
>>>> But still not yet figured out how i can achieve it (old server farm can
>>>> connect to VM instance and vice-versa) ****
>>>>
>>>> Could you help me, pls? Thanks a lot, folks!****
>>>>
>>>> *PS:* I attach my network topology in this mail for reference. ****
>>>>
>>>> I think that, maybe I need to create a new "br-ex" for LAN, create
>>>> port/interface in router of each tenant, then add a LAN IP (192.168.3.x) to
>>>> router-interface.
>>>> Then add route to 192.168.0.0/16 to 192.168.3.1
>>>> v.v....
>>>>
>>>> But "how to implement it" still not clear... :-(****
>>>>
>>>> ** **
>>>>
>>>> ** **
>>>>
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~openstack
>>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~openstack
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>>
>> --
>> Regds,
>>
>> Ashok ,
>> Delivery Consultant,
>> HP.
>>
>
>
>
>

References