[Openstack] Neutron network node setup

Md. Maruful Hassan mrf.mnm at gmail.com
Mon Apr 7 06:45:12 UTC 2014


Sorry .. in my previous email .. replace the IP address appropriately in
br-ex bridge definition file

--
m at ruf


On Mon, Apr 7, 2014 at 4:44 PM, Md. Maruful Hassan <mrf.mnm at gmail.com>wrote:

> I think you should have
>
> On controller node -
>
> 1. neutron-server running
> 2. plugin.ini network_vlan_ranges = physnet1:200:209,Extnet_
>
>
> On neutron node
>
> 1. All service ( dhcp-agent, l3 agent etc except neutron server) running
> 2. plugin.ini
>
> tenant_network_type = vlan
> network_vlan_ranges = physnet1:200:209,Extnet
> bridge_mappings = physnet1:br-eth2,Extnet:br-ex
>
> Create the br-ex on neutron node .. attache the physical interface to it
> ...
>
> You can have /etc/sysconfig/network-scripts/ifcfg-br-ex with the following
>
> DEVICE=br-ex
> TYPE=OVSBridge
> DEVICETYPE=ovs
> ONBOOT=yes
> OVSBOOTPROTO=static
> IPADDR=192.168.100.91
> NETMASK=255.255.255.0
> OVS_EXTRA="set bridge br-ex other-config:hwaddr=<MAC ADDRESS TO BE  USED
> FOR BR_EX>"
>
> and if you attach eth0 to it .. add this
>
> /etc/sysconfig/network-scripts/ifcfg-eth0
>
> DEVICE=eth0
> DEVICETYPE=ovs
> TYPE=OVSPort
> BOOTPROTO=none
> OVS_BRIDGE=br-ex
> ONBOOT=yes
>
>
> Restart network service on neutron node and all neutron services.  Restart
> neutron server on controller node
>
> Try creating the the network again.
>
>
>
>
>
> --
> m at ruf
>
>
> On Mon, Apr 7, 2014 at 2:43 PM, Erich Weiler <weiler at soe.ucsc.edu> wrote:
>
>> OK, one step closer to this but still not quite there...  in
>> ovs_neutron_plugin.ini on my network node I have:
>>
>> tenant_network_type = vlan
>> network_vlan_ranges = physnet1:200:209,Extnet
>> bridge_mappings = physnet1:br-eth2,Extnet:br-ex
>>
>> and when I run this command I get an error:
>>
>> # neutron net-create ext-net --provider:network_type=flat
>> --provider:physical_network Extnet --shared --router:external=True
>>
>> 400-{u'NeutronError': {u'message': u'Invalid input for operation: Unknown
>> provider:physical_network Extnet.', u'type': u'InvalidInput', u'detail':
>> u''}}
>>
>> I'm not sure how it's not seeing that Extnet isn't there, I defined it in
>> the plugin.ini file on the network node...  On the controller node I even
>> tried to put that same plugin.ini info in there (even though the controller
>> node doesn't have br-eth2) as a test, still doesn't work. Any ideas where
>> it's not finding "physical_network Extnet"? I think I'm very close here but
>> just am an inch away...
>>
>> Thanks again!
>>
>> cheers,
>> erich
>>
>>
>> On 4/2/14, 11:05 PM, Ageeleshwar Kandavelu wrote:
>>
>>> Maruf was correct.
>>>
>>> Also in your plugin.ini you have associate each physical network to a
>>> bridge. And each of those bridges should have one physical network
>>> interface attached.
>>>
>>> In my previous mail i gave an example where I associated Extnet to
>>> br-ex. Then add eth2 to br-ex. Then your external network(ext-net) would
>>> be overlaid on top of Extnet, bridged to br-ex, then traffic flows
>>> outside through eth2.
>>>
>>> Thank you,
>>> Ageeleshwar K
>>> ------------------------------------------------------------------------
>>> *From:* Md. Maruful Hassan [mrf.mnm at gmail.com]
>>> *Sent:* Thursday, April 03, 2014 9:29 AM
>>> *To:* Erich Weiler
>>> *Cc:* Ageeleshwar Kandavelu; Alex Yang; openstack at lists.openstack.org
>>>
>>> *Subject:* Re: [Openstack] Neutron network node setup
>>>
>>> You need to use 'flat' instead of 'local' and specify physical_network .
>>> so modify
>>>
>>> neutron net-create ext-net --provider:network_type=local --shared
>>> --router:external=True
>>>
>>> to
>>>
>>> neutron net-create ext-net --provider:network_type=flat
>>> --provider:physical_network Extnet --shared --router:external=True
>>>
>>> Extnet is the name you configured in plugin.ini  as bridge_mapping
>>>
>>> - Maruf
>>>
>>> --
>>> m at ruf
>>>
>>>
>>> On Thu, Apr 3, 2014 at 9:37 AM, Erich Weiler <weiler at soe.ucsc.edu
>>> <mailto:weiler at soe.ucsc.edu>> wrote:
>>>
>>>     Hi Ageeleshwar,
>>>
>>>     I *think* I see what you are saying - is this correct?  First, I
>>>     create a flat external network:
>>>
>>>     # neutron net-create ext-net --provider:network_type=local --shared
>>>     --router:external=True
>>>
>>>
>>>     Created a new network:
>>>     +---------------------------+-__----------------------------
>>> --__-------+
>>>     | Field                     | Value                                |
>>>     +---------------------------+-__----------------------------
>>> --__-------+
>>>     | admin_state_up            | True                                 |
>>>     | id                        | 71b4b5b9-e744-4c67-9b62-__4f64ab727e47
>>> |
>>>
>>>     | name                      | ext-net                              |
>>>     | provider:network_type     | local                                |
>>>     | provider:physical_network |                                      |
>>>     | provider:segmentation_id  |                                      |
>>>     | router:external           | True                                 |
>>>     | shared                    | True                                 |
>>>
>>>     | status                    | ACTIVE                               |
>>>     | subnets                   |                                      |
>>>     | tenant_id                 | 36687b1d611740bd9e7309432b22db__cd
>>>   |
>>>     +---------------------------+-__----------------------------
>>> --__-------+
>>>
>>>
>>>     # neutron subnet-create ext-net --allocation-pool
>>>     start=134.145.112.10,end=134.__145.112.100 --gateway=134.145.112.1
>>>     --enable_dhcp=False 134.145.112.0/24 <http://134.145.112.0/24>
>>>
>>>     Created a new subnet:
>>>     +------------------+----------__----------------------------
>>> --__--------------+
>>>     | Field            | Value
>>>           |
>>>     +------------------+----------__----------------------------
>>> --__--------------+
>>>     | allocation_pools | {"start": "134.145.112.10", "end":
>>>     "134.145.112.100"} |
>>>     | cidr             | 134.145.112.0/26 <http://134.145.112.0/26>
>>>
>>>                                     |
>>>     | dns_nameservers  |
>>>           |
>>>     | enable_dhcp      | False
>>>           |
>>>     | gateway_ip       | 134.145.112.1
>>>          |
>>>     | host_routes      |
>>>           |
>>>     | id               | 6082cdb3-98bc-4fbe-a0fb-__ff264ea7384f
>>>              |
>>>     | ip_version       | 4
>>>           |
>>>     | name             |
>>>           |
>>>     | network_id       | 71b4b5b9-e744-4c67-9b62-__4f64ab727e47
>>>              |
>>>     | tenant_id        | 36687b1d611740bd9e7309432b22db__cd
>>>              |
>>>     +------------------+----------__----------------------------
>>> --__--------------+
>>>
>>>     Create a router from ext-to-int for my demo tenant:
>>>
>>>     # neutron router-create ext-to-int --tenant-id
>>>     f7e61747885045d8b266a161310c00__94
>>>     Created a new router:
>>>     +-----------------------+-----__------------------------------__---+
>>>     | Field                 | Value                                |
>>>     +-----------------------+-----__------------------------------__---+
>>>     | admin_state_up        | True                                 |
>>>     | external_gateway_info |                                      |
>>>     | id                    | 4ca4292c-8954-4f21-acd6-__b0044e0d02cb |
>>>     | name                  | ext-to-int                           |
>>>     | status                | ACTIVE                               |
>>>     | tenant_id             | f7e61747885045d8b266a161310c00__94     |
>>>     +-----------------------+-----__------------------------------__---+
>>>
>>>     Set my router gateway:
>>>
>>>     # neutron router-gateway-set 4ca4292c-8954-4f21-acd6-__b0044e0d02cb
>>>
>>>     71b4b5b9-e744-4c67-9b62-__4f64ab727e47
>>>
>>>     Set gateway for router 4ca4292c-8954-4f21-acd6-__b0044e0d02cb
>>>
>>>     Create a tenant-network with a VLAN:
>>>
>>>     # neutron net-create --tenant-id f7e61747885045d8b266a161310c00__94
>>>
>>>     demo-net --provider:network_type vlan --provider:physical_network
>>>     physnet1 --provider:segmentation_id 201
>>>
>>>
>>>     Created a new network:
>>>     +---------------------------+-__----------------------------
>>> --__-------+
>>>     | Field                     | Value                                |
>>>     +---------------------------+-__----------------------------
>>> --__-------+
>>>     | admin_state_up            | True                                 |
>>>     | id                        | 37190389-df4b-49c0-81b9-__05aa6411a81b
>>> |
>>>
>>>     | name                      | demo-net                             |
>>>
>>>     | provider:network_type     | vlan                                 |
>>>     | provider:physical_network | physnet1                             |
>>>     | provider:segmentation_id  | 201                                  |
>>>
>>>     | shared                    | False                                |
>>>     | status                    | ACTIVE                               |
>>>     | subnets                   |                                      |
>>>     | tenant_id                 | f7e61747885045d8b266a161310c00__94
>>>   |
>>>     +---------------------------+-__----------------------------
>>> --__-------+
>>>
>>>
>>>     Create demo-net subnet:
>>>
>>>     # neutron subnet-create --tenant-id
>>>     f7e61747885045d8b266a161310c00__94 demo-net 10.200.0.0/16
>>>     <http://10.200.0.0/16> --gateway 10.200.0.1
>>>
>>>     Created a new subnet:
>>>     +------------------+----------__----------------------------
>>> --__----------+
>>>     | Field            | Value
>>>  |
>>>     +------------------+----------__----------------------------
>>> --__----------+
>>>
>>>     | allocation_pools | {"start": "10.200.0.2", "end":
>>> "10.200.255.254"} |
>>>     | cidr             | 10.200.0.0/16 <http://10.200.0.0/16>
>>>
>>>                               |
>>>     | dns_nameservers  |
>>>  |
>>>     | enable_dhcp      | True
>>>   |
>>>     | gateway_ip       | 10.200.0.1
>>>   |
>>>     | host_routes      |
>>>  |
>>>     | id               | da53e0df-fb00-46ad-a709-__6eaeda13e23f
>>>          |
>>>     | ip_version       | 4
>>>  |
>>>     | name             |
>>>  |
>>>     | network_id       | 37190389-df4b-49c0-81b9-__05aa6411a81b
>>>          |
>>>     | tenant_id        | f7e61747885045d8b266a161310c00__94
>>>          |
>>>     +------------------+----------__----------------------------
>>> --__----------+
>>>
>>>     Set the router for demo-net:
>>>
>>>     # neutron router-interface-add
>>>     4ca4292c-8954-4f21-acd6-__b0044e0d02cb
>>>     da53e0df-fb00-46ad-a709-__6eaeda13e23f
>>>
>>>     Added interface 250215bf-fe8b-40ed-aeb9-__e284427ec432 to router
>>>     4ca4292c-8954-4f21-acd6-__b0044e0d02cb.
>>>
>>>     And that should work yes?  With a flat ext-net and a VLAN-based
>>>     internal net for my tenant net demo-net?
>>>
>>>     Thanks so much for you help!  The guides don't really go into this
>>>     kind of detail...
>>>
>>>     -erich
>>>
>>>
>>>     On 4/2/14, 3:07 AM, Ageeleshwar Kandavelu wrote:
>>>
>>>         Make your external network flat. If you do so there wont be any
>>>         vlan tag
>>>         on packets reaching your external network.
>>>
>>>         in you plugin.ini you put something like this
>>>         network_vlan_ranges = Intnet1:100:200,Extnet
>>>         bridge_mappings = Intnet1:br-eth1,Extnet:br-ex
>>>
>>>         This means you would use vlan id 100 to 200 on openstack networks
>>>         created on top of Intnet1.
>>>
>>>         On Extnet you would not use any vlan.
>>>
>>>         Then you say that to all traffic on network created on Intnet1
>>>         should be
>>>         bridged to br-eth1. Then you would add eth1 to br-eth1.
>>>
>>>         Then you say all traffic for Extnet should be bridged to br-ex.
>>>         Then you
>>>         have to add a physical interface say eth2 to br-ex.
>>>
>>>         Finally you can create an external network in openstack with
>>>         physical_network=Extnet.
>>>
>>>         You just said that all internal network shall be created and
>>>         Intnet1 and
>>>         allocated vlan from 100 to 200.
>>>         External network shall be overlaid on top of Extnet and no vlans.
>>>
>>>         Hope it makes sense.
>>>
>>>         Ageeleshwar K
>>>
>>>
>>>         ------------------------------__----------------------------
>>> --__------------
>>>
>>>         *From:* Alex Yang [alex890714 at gmail.com
>>>         <mailto:alex890714 at gmail.com>]
>>>
>>>         *Sent:* Wednesday, April 02, 2014 7:09 AM
>>>         *To:* Erich Weiler
>>>         *Cc:* openstack at lists.openstack.org
>>>         <mailto:openstack at lists.openstack.org>
>>>
>>>         *Subject:* Re: [Openstack] Neutron network node setup
>>>
>>>
>>>         Hi Erich,
>>>
>>>         I think this following articles may helpful for you.
>>>
>>>         http://developer.rackspace.__com/blog/categories/__networking/
>>>
>>>         <http://developer.rackspace.com/blog/categories/networking/>
>>>
>>>
>>>
>>>         2014-04-02 5:59 GMT+08:00 Erich Weiler <weiler at soe.ucsc.edu
>>>         <mailto:weiler at soe.ucsc.edu>
>>>         <mailto:weiler at soe.ucsc.edu <mailto:weiler at soe.ucsc.edu>>>:
>>>
>>>
>>>
>>>              Hey Y'all,
>>>
>>>              I'm setting up a dedicated neutron network node and I'm
>>>         having a bit
>>>              of trouble understanding the way the networks work.  On the
>>>         network
>>>              node I have one interface on the public net (eth0), one
>>>         interface on
>>>              the private net (eth1) and I'm following these guides to
>>>         set it up.
>>>
>>>              My plan is to have eth0 on the public network, no VLAN
>>>         magic there
>>>              or anything.  eth1 will be the data interface, and it will
>>> be
>>>              connected to a trunk switchport so it can use VLANs for
>>> tenant
>>>              isolation (OVS VLAN plugin).
>>>
>>>              I ran this command to set up ext-net:
>>>
>>>              neutron net-create ext-net --router:external=True
>>>
>>>              Created a new network:
>>>
>>>         +---------------------------+-____--------------------------
>>> --__--__-------+
>>>              | Field                     | Value
>>>                 |
>>>
>>>         +---------------------------+-____--------------------------
>>> --__--__-------+
>>>              | admin_state_up            | True
>>>                  |
>>>              | id                        |
>>>         a5599b54-dbfc-42fa-b5b9-____e8ebd574ded0 |
>>>
>>>              | name                      | ext-net
>>>                 |
>>>              | provider:network_type     | vlan
>>>                  |
>>>              | provider:physical_network | physnet1
>>>                  |
>>>              | provider:segmentation_id  | 200
>>>                 |
>>>              | router:external           | True
>>>                  |
>>>              | shared                    | False
>>>                 |
>>>              | status                    | ACTIVE
>>>                  |
>>>              | subnets                   |
>>>                 |
>>>              | tenant_id                 |
>>>         36687b1d611740bd9e7309432b22db____cd     |
>>>
>>>         +---------------------------+-____--------------------------
>>> --__--__-------+
>>>
>>>
>>>
>>>
>>>              But, I don't think network_type=vlan right?  As eth0 just
>>>         sits right
>>>              on a public network?  Should network_type=local instead?
>>>  Also,
>>>              should physical_network equal null, and also
>>>         segmentation_id equal
>>>              null as well?
>>>
>>>              I would understand type=vlan and seg_id and such for a
>>> tenant
>>>              network, but for ext-net?
>>>
>>>              Any hints would be greatly appreciated...!
>>>
>>>              -erich
>>>
>>>              ___________________________________________________
>>>              Mailing list:
>>>         http://lists.openstack.org/____cgi-bin/mailman/listinfo/____
>>> openstack
>>>         <http://lists.openstack.org/__cgi-bin/mailman/listinfo/__
>>> openstack>
>>>
>>>
>>>         <http://lists.openstack.org/__cgi-bin/mailman/listinfo/__
>>> openstack
>>>         <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>>
>>>              Post to     : openstack at lists.openstack.org
>>>         <mailto:openstack at lists.openstack.org>
>>>              <mailto:openstack at lists.__openstack.org
>>>         <mailto:openstack at lists.openstack.org>>
>>>              Unsubscribe :
>>>         http://lists.openstack.org/____cgi-bin/mailman/listinfo/____
>>> openstack
>>>         <http://lists.openstack.org/__cgi-bin/mailman/listinfo/__
>>> openstack>
>>>
>>>         <http://lists.openstack.org/__cgi-bin/mailman/listinfo/__
>>> openstack
>>>         <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>>
>>>
>>>
>>>
>>>
>>>         --
>>>             杨雨
>>>             Email: alex890714 at gmail.com <mailto:alex890714 at gmail.com>
>>>         <mailto:alex890714 at gmail.com <mailto:alex890714 at gmail.com>>
>>>
>>>         GitHub: https://github.com/AlexYangYu
>>>
>>>            Weibo: http://www.weibo.com/__alexyangyu
>>>         <http://www.weibo.com/alexyangyu>
>>>         http://www.csscorp.com/common/__email-disclaimer.php
>>>         <http://www.csscorp.com/common/email-disclaimer.php>
>>>
>>>
>>>     _________________________________________________
>>>     Mailing list:
>>>     http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack
>>>     <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>
>>>     Post to     : openstack at lists.openstack.org
>>>     <mailto:openstack at lists.openstack.org>
>>>     Unsubscribe :
>>>     http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack
>>>     <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack>
>>>
>>>
>>> http://www.csscorp.com/common/email-disclaimer.php
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140407/1075b4a2/attachment.html>


More information about the Openstack mailing list