OK Miguel, thanks for your patience. :) 2016-11-05 0:18 GMT+08:00 Miguel Lavalle <mig...@mlavalle.com>:
> Hi Zhi, > > Both L2 provider networks and routed networks can have one or many > segments. In the case of a L2 provider network, all the segments in it > constitute a contiguous L2 domain. In contrast, in routed networks, each > segment in it is a separate L2 domain. One consequence of this is that in > L2 provider networks the subnets are associated to the network, whereas in > routed networks, the subnets are associated to the segments. In both cases, > though, you can have as many subnets as you want or need. > > As for the gateway question, you are correct: you are going to need > routers / gateways in your infrastructure. > > Regards > > Miguel > > On Wed, Nov 2, 2016 at 9:38 PM, zhi <changzhi1...@gmail.com> wrote: > >> Hi, Miguel. >> >> Thanks for your reply. >> >> This is my thought about routed network. Please review it and give me >> some comments, thanks. >> >> In general L2 provider network, maybe one network to one subnet. If in >> real deployment, we has to create many provider networks because one >> network to one subnets. But in routed network, one network can contain more >> than one subnet. So in real deployment, we can create only one network, >> this network we created can contain many many subnets. Does my thought was >> right? >> >> According to your reply, I think that if we create a routed network with >> two subnets, one is 10.1.0.0/24 and the other is 10.1.1.0/24. Except >> your solution, in real deployment, we need to create two gateway (10.1.0.1 >> and 10.1.1.1) in physical network, isn't it? >> >> Hope for your reply. :) >> >> >> Thanks >> Zhi Chang >> >> 2016-11-02 22:49 GMT+08:00 Miguel Lavalle <mig...@mlavalle.com>: >> >>> Hi Zhi, >>> >>> In routed networks, the routing among the segments has to be provided by >>> a router external to Neutron. It has to be provided by the deployment's >>> networking infrastructure. In the summit presentation you watched, I used >>> this Vagrant environment for the demo portion: >>> https://github.com/miguellavalle/routednetworksvagrant. Specifically, >>> look here: https://github.com/miguellavalle/routednetworksvagrant/blob/ >>> master/Vagrantfile#L188. As you can see, I create a VM, "iprouter", to >>> act as the router between the two segments I use in the demo: one segment >>> on vlan tag 2016 in physnet1 and another segment on vlan tag 2016 in >>> physnet2. Please also look here how I enable the routing in the "iprouter" >>> Linux: https://github.com/miguellavalle/routednetworksvagrant/blob/ >>> master/provisioning/setup-iprouter.sh. >>> >>> Of course, in a real deployment you would use a hardware router >>> connected to all the network's segments >>> >>> Hope this helps >>> >>> Miguel >>> >>> On Tue, Nov 1, 2016 at 4:42 AM, zhi <changzhi1...@gmail.com> wrote: >>> >>>> Hi, shihanzhang and Neil, Thanks for your comments. >>>> >>>> In your comments. I think that Neutron router or physical network >>>> should provide routing these two subnets, doesn't it? Does my thought was >>>> right? >>>> >>>> I tried to connect these two subnets with a Neutron router but I met a >>>> strange problem. I did some operations like this: >>>> >>>> stack@devstack:~$ neutron net-list >>>> +---------------------------------------------------------+- >>>> ----------+------------------------------------------------- >>>> ---------------------------+ >>>> | id | >>>> name | subnets >>>> | >>>> +---------------------------------------------------------+- >>>> ----------+------------------------------------------------- >>>> ---------------------------+ >>>> | 6596da30-d7c6-4c39-b87c-295daad44123 | multinet | >>>> a998ac2b-2f50-44f1-9c1a-f4f3684ef63c 10.1.1.0/24 | >>>> | >>>> | | 26bcdfd3-6393-425e-963e-1ace6ef74e0c 10.1.0.0/24 | >>>> | 662de35c-f7a7-47cd-ba18-e5a2470935f0 | net | >>>> 9754dfe9-be48-4a38-b690-5c48cf371ba3 10.10.10.0/24 | >>>> +----------------------------------------------------------+ >>>> ----------+------------------------------------------------- >>>> ---------------------------+ >>>> stack@devstack:~$ neutron router-port-list >>>> c488238d-06d7-4b85-9fa1-e0913e5bcf13 >>>> >>>> stack@devstack:~$ neutron router-interface-add >>>> c488238d-06d7-4b85-9fa1-e0913e5bcf13 a998ac2b-2f50-44f1-9c1a-f4f368 >>>> 4ef63c >>>> Added interface 680eb2b6-b445-4790-9610-80154dd6d909 to router >>>> c488238d-06d7-4b85-9fa1-e0913e5bcf13. >>>> stack@devstack:~$ neutron router-port-list >>>> c488238d-06d7-4b85-9fa1-e0913e5bcf13 >>>> +----------------------------------------------------------+ >>>> --------+-----------------------+--------------------------- >>>> --------------------------------------------------------+ >>>> | id >>>> | name | mac_address | fixed_ips >>>> | >>>> +----------------------------------------------------------+ >>>> --------+------------------------+-------------------------- >>>> --------------------------------------------------------+ >>>> | 680eb2b6-b445-4790-9610-80154dd6d909 | | fa:16:3e:47:2e:8f >>>> | {"subnet_id": "26bcdfd3-6393-425e-963e-1ace6ef74e0c", "ip_address": " >>>> 10.1.0.10"} | >>>> +----------------------------------------------------------+ >>>> ---------+----------------------+--------------------------- >>>> --------------------------------------------------------+ >>>> >>>> >>>> After adding a port interface ( subnet 10.1.1.0/24 ) to the router, >>>> Why does the port's IP address was 10.1.0.10 ? Why not it should be >>>> 10.1.1.x/24 ? >>>> >>>> >>>> >>>> Thanks >>>> Zhi Chang >>>> >>>> 2016-11-01 17:19 GMT+08:00 shihanzhang <ayshihanzh...@126.com>: >>>> >>>>> agree with Neil. >>>>> >>>>> thanks >>>>> shihanzhang >>>>> >>>>> >>>>> >>>>> 在 2016-11-01 17:13:54,"Neil Jerram" <n...@tigera.io> 写道: >>>>> >>>>> Hi Zhi Chang, >>>>> >>>>> I believe the answer is that the physical network (aka fabric) should >>>>> provide routing between those two subnets. This routing between segments >>>>> is >>>>> implicit in the idea of a multi-segment network, and is entirely >>>>> independent of routing between virtual _networks_ (which is done by a >>>>> Neutron router object connecting those networks). >>>>> >>>>> Hope that helps! >>>>> Neil >>>>> >>>>> >>>>> *From: *zhi >>>>> *Sent: *Tuesday, 1 November 2016 07:50 >>>>> *To: *OpenStack Development Mailing List (not for usage questions) >>>>> *Reply To: *OpenStack Development Mailing List (not for usage >>>>> questions) >>>>> *Subject: *Re: [openstack-dev] [neutron][routed-network] Host doesn't >>>>> connected any segments when creating port >>>>> >>>>> Hi, shihanzhang. >>>>> >>>>> I still have a question about routed network. I have two subnets. One >>>>> is 10.1.0.0/24 and the other is 10.1.1.0/24. I create two instances >>>>> in each host. >>>>> Such as 10.1.0.10 and 10.1.1.10. >>>>> >>>>> My question is, how does 10.1.0.10 connect to 10.1.1.10 ? There is no >>>>> any gateway( 10.1.0.1 and 10.1.1.1 ) in each subnet. >>>>> >>>>> >>>>> Hope four your reply. ;-) >>>>> >>>>> >>>>> Thanks >>>>> Zhi Chang >>>>> >>>>> 2016-11-01 14:31 GMT+08:00 zhi <changzhi1...@gmail.com>: >>>>> >>>>>> Hi, shihanzhang. >>>>>> >>>>>> Thanks for your advice. Now I can created ports successfully by your >>>>>> advice. >>>>>> >>>>>> >>>>>> >>>>>> Thanks >>>>>> Zhi Chang >>>>>> >>>>>> >>>>>> 2016-11-01 12:50 GMT+08:00 shihanzhang <ayshihanzh...@126.com>: >>>>>> >>>>>>> Hi Zhi Chang, >>>>>>> Maybe you should add a config option in [ovs] section: >>>>>>> bridge_mappings = public:br-ex, physnet1:br-physnet1 to handle the >>>>>>> provider >>>>>>> network 'physnet1'. >>>>>>> >>>>>>> Thanks, >>>>>>> shihanzhang >>>>>>> >>>>>>> At 2016-11-01 11:56:33, "zhi" <changzhi1...@gmail.com> wrote: >>>>>>> >>>>>>> hi shihanzhang. >>>>>>> >>>>>>> Below is configuration in ml2_conf.ini. Please review it. :) >>>>>>> >>>>>>> stack@devstack:~/neutron/neutron$ cat >>>>>>> /etc/neutron/plugins/ml2/ml2_conf.ini >>>>>>> |grep -v "#"|grep -v ^$ >>>>>>> [DEFAULT] >>>>>>> [ml2] >>>>>>> tenant_network_types = vxlan >>>>>>> extension_drivers = port_security >>>>>>> mechanism_drivers = openvswitch,linuxbridge >>>>>>> tenant_network_types = vxlan >>>>>>> [ml2_type_flat] >>>>>>> flat_networks = public,public, >>>>>>> [ml2_type_geneve] >>>>>>> vni_ranges = 1:1000 >>>>>>> [ml2_type_gre] >>>>>>> tunnel_id_ranges = 1:1000 >>>>>>> [ml2_type_vlan] >>>>>>> network_vlan_ranges = physnet1,physnet2 >>>>>>> [ml2_type_vxlan] >>>>>>> vni_ranges = 1:1000 >>>>>>> [securitygroup] >>>>>>> firewall_driver = neutron.agent.linux.iptables_f >>>>>>> irewall.OVSHybridIptablesFirewallDriver >>>>>>> [agent] >>>>>>> tunnel_types = vxlan >>>>>>> root_helper_daemon = sudo /usr/local/bin/neutron-rootwrap-daemon >>>>>>> /etc/neutron/rootwrap.conf >>>>>>> root_helper = sudo /usr/local/bin/neutron-rootwrap >>>>>>> /etc/neutron/rootwrap.conf >>>>>>> [ovs] >>>>>>> datapath_type = system >>>>>>> bridge_mappings = public:br-ex >>>>>>> tunnel_bridge = br-tun >>>>>>> local_ip = 192.168.10.20 >>>>>>> >>>>>>> >>>>>>> >>>>>>> Thanks >>>>>>> Zhi Chang >>>>>>> >>>>>>> 2016-11-01 9:15 GMT+08:00 shihanzhang <ayshihanzh...@126.com>: >>>>>>> >>>>>>>> hi Zhi chang, >>>>>>>> Could you provide your ml2_conf.ini for ovs agent, I guess the >>>>>>>> reason is that your ovs-agent on host devstack can't handle the related >>>>>>>> segment id. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> shihanzhang >>>>>>>> >>>>>>>> 在 2016-10-31 18:43:36,"zhi" <changzhi1...@gmail.com> 写道: >>>>>>>> >>>>>>>> Hi, all. >>>>>>>> >>>>>>>> Recently, I watch the OpenStack Summit video named ' Scaling Up >>>>>>>> OpenStack Networking with Routed Networks '. Carl and Miguel made this >>>>>>>> topic. I learned a lot of your topic. Thanks. >>>>>>>> >>>>>>>> But I have some questions about the demo in the topic. >>>>>>>> >>>>>>>> I do some steps according to the topic. >>>>>>>> >>>>>>>> First, creating two networks like this: >>>>>>>> >>>>>>>> neutron net-create multinet --shared --segments type=dict list=true >>>>>>>> provider:physical_network=physnet1,provider:segmentation_id= >>>>>>>> 2016,provider:network_type=vlan provider:physical_network=phys >>>>>>>> net2,provider:segmentation_id=2016,provider:network_type=vlan >>>>>>>> >>>>>>>> >>>>>>>> Second, I get two segments after creating this network. I get these >>>>>>>> segments by using " openstack network segment list ". >>>>>>>> >>>>>>>> Third, I create two subnets by these segments by using this command >>>>>>>> " >>>>>>>> >>>>>>>> neutron subnet-create --ip_version 4 --name multi-segment1-subnet >>>>>>>> [net-id] 10.1.0.0/24 --segment_id [segment-id] >>>>>>>> neutron subnet-create --ip_version 4 --name multi-segment2-subnet >>>>>>>> [net-id] 10.1.1.0/24 --segment_id [segment-id] >>>>>>>> " >>>>>>>> >>>>>>>> At last, I want to create a port with host_id. My local environment >>>>>>>> contains two compute nodes, one is named "devstack" and the other is >>>>>>>> "devstack2". So I use this command " neutron port-create >>>>>>>> --binding:host_id=devstack [net-id] ". >>>>>>>> >>>>>>>> Exception happens in neutron server. The exception says " >>>>>>>> >>>>>>>> Host devstack is not connected to any segments on routed provider >>>>>>>> network [net-id]. It should be connected to one." I can not get this >>>>>>>> exact >>>>>>>> point about this exception. >>>>>>>> >>>>>>>> Why does the "routed network" have relationship with host? >>>>>>>> >>>>>>>> How they work together between "host info (compute node ?)" and >>>>>>>> "routed network"? >>>>>>>> >>>>>>>> What should I do if I want to get rid of this exception? >>>>>>>> >>>>>>>> >>>>>>>> Hope for your reply. Especially Carl and Miguel. ;-) >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Many Thanks >>>>>>>> Zhi Chang >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ____________________________________________________________ >>>>>>>> ______________ >>>>>>>> OpenStack Development Mailing List (not for usage questions) >>>>>>>> Unsubscribe: openstack-dev-requ...@lists.op >>>>>>>> enstack.org?subject:unsubscribe >>>>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> ____________________________________________________________ >>>>>>> ______________ >>>>>>> OpenStack Development Mailing List (not for usage questions) >>>>>>> Unsubscribe: openstack-dev-requ...@lists.op >>>>>>> enstack.org?subject:unsubscribe >>>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> ____________________________________________________________ >>>>> ______________ >>>>> OpenStack Development Mailing List (not for usage questions) >>>>> Unsubscribe: openstack-dev-requ...@lists.op >>>>> enstack.org?subject:unsubscribe >>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>> >>>>> >>>> >>>> ____________________________________________________________ >>>> ______________ >>>> OpenStack Development Mailing List (not for usage questions) >>>> Unsubscribe: openstack-dev-requ...@lists.op >>>> enstack.org?subject:unsubscribe >>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>> >>>> >>> >>> ____________________________________________________________ >>> ______________ >>> OpenStack Development Mailing List (not for usage questions) >>> Unsubscribe: openstack-dev-requ...@lists.op >>> enstack.org?subject:unsubscribe >>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>> >>> >> >> ____________________________________________________________ >> ______________ >> OpenStack Development Mailing List (not for usage questions) >> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscrib >> e >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > >
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev