[Openstack] Neutron networking help RHEL 6.5 openstack icehouse RDO repo.

Alex Dodson alex.dodson at aarnet.edu.au
Thu Sep 11 06:51:58 UTC 2014


Hello All,

I have been trying to duplicate this guide here mostly. https://developer.rackspace.com/blog/neutron-networking-vlan-provider-networks/ The provider network part is useful to me but the gre tunnels and and dhcp are not needed for us. We want to assign the addresses via a central build server rather than having openstack manage it on a site to site basis.

The VLANs are trunked to the port of the management server and the compute/network node. The VLAN stuff is verified working through manual testing.  When I tcpdump eth0 I also see lldp announcements showing the right information in regards to vlans and so on.

I run a standalone management server. I am running the network and compute node on the second server and I modified necessary settings using the installation guide for icehouse on docs.openstack.org. I then used some of the settings above to create the OVS settings.

I have one network card per chassis, a 10Gb Intel adapter.

eth0 has no addressing

I have a bridge called br-eth0 with the addressing from the management network assigned to it.

Here are my settings from /etc/neutron/plugin.ini (ml2_conf.ini). These are consistent across the management and compute/network host. Everything seems to be communicating with its databases fine.

I have tried commenting out the [ml2] stuff and using just the [ovs] stuff to no success. 106 and 400 are the vlans I configure here and the network is labelled openstack. We have a third management network but traffic on that is all untagged.

Here are the parameters set below currently.

[ml2]
type_drivers = vlan
tenant_network_types = vlan
mechanism_drivers = openvswitch

[ml2_type_vlan]
network_vlan_ranges = openstack:106:106,openstack:400:400

[ovs]
enable_tunneling = False
integration_bridge = br-int
bridge_mappings = openstack:br-eth0
network_vlan_ranges = openstack:106:106,openstack:400:400

Neutron net-list shows the networks created when I run the provider commands linked in the article above. I added a gateway to the address space though as the cirrus image wouldn't launch without a gateway defined to the network range.

| id                                   | name | subnets                                                |
+--------------------------------------+------+--------------------------------------------------------+
| 0d6d0bb3-4b99-4d3f-8d67-fa3c9cd9ce64 | VRF  | 2601be8f-483b-4823-ae7d-1475ce23b3a5 10.169.2.0/24     |
| 61741e90-09d0-406d-ad37-32712264c62e | GRT  | 1a170428-4a47-4dfc-a8d4-d98216b93050 182.255.xxx.xxx/28 |

When I check the web interface the correct segmentation IDs are assigned to each network

For example in VRF
Provider Network
Network Type: vlan
Physical Network: openstack
Segmentation ID: 106


Neutron subnet-list shows subnets created.

+--------------------------------------+----------+-------------------+------------------------------------------------------+
| id                                   | name     | cidr              | allocation_pools                                     |
+--------------------------------------+----------+-------------------+------------------------------------------------------+
| 2601be8f-483b-4823-ae7d-1475ce23b3a5 | NAP_VRF | 10.169.2.0/24     | {"start": "10.169.2.2", "end": "10.169.2.254"}       |
| 1a170428-4a47-4dfc-a8d4-d98216b93050 | NAP_GRT | 182.255.xxx.xxx/28 | {"start": "182.255.xxx.xxx", "end": "182.255.xxx.xxx"} |


When I attempt to launch a VM with networking the following message goes to /var/log/nova/api.log

014-09-11 05:42:36.169 14602 INFO oslo.messaging._drivers.impl_qpid [-] Connected to AMQP server on qld-gdpt-mgmt.aarnet.net.au:5672
2014-09-11 06:07:19.792 14613 ERROR nova.api.openstack [req-6a2ea530-1f70-407c-a3bf-255a80f06c1e c6099a503e274f4db41ea044da056112 b533b1d0bc754286936d28edfd0e94e3] Caught error: Timed out waiting for a reply to message ID 4146a0d1ee334cfd9f22587140c49928
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack Traceback (most recent call last):
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/__init__.py", line 125, in __call__
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return req.get_response(self.application)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/request.py", line 1296, in send
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     application, catch_exc_info=False)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/request.py", line 1260, in call_application
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     app_iter = application(self.environ, start_response)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return resp(environ, start_response)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/keystoneclient/middleware/auth_token.py", line 679, in __call__
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return self.app(env, start_response)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return resp(environ, start_response)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return resp(environ, start_response)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/routes/middleware.py", line 131, in __call__
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     response = self.app(environ, start_response)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return resp(environ, start_response)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 130, in __call__
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     resp = self.call_func(req, *args, **self.kwargs)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 195, in call_func
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return self.func(req, *args, **kwargs)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 917, in __call__
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     content_type, body, accept)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 983, in _process_stack
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     action_result = self.dispatch(meth, request, action_args)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 1070, in dispatch
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return method(req=request, **action_args)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/compute/servers.py", line 956, in create
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     legacy_bdm=legacy_bdm)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/hooks.py", line 103, in inner
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     rv = f(*args, **kwargs)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/compute/api.py", line 1341, in create
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     legacy_bdm=legacy_bdm)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/compute/api.py", line 968, in _create_instance
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     max_count)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/compute/api.py", line 739, in _validate_and_build_base_options
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     requested_networks, max_count)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/compute/api.py", line 463, in _check_requested_networks
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     max_count)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/network/api.py", line 95, in wrapped
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return func(self, context, *args, **kwargs)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/network/api.py", line 420, in validate_networks
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     requested_networks)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/network/rpcapi.py", line 225, in validate_networks
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return self.client.call(ctxt, 'validate_networks', networks=networks)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/oslo/messaging/rpc/client.py", line 361, in call
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return self.prepare().call(ctxt, method, **kwargs)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/oslo/messaging/rpc/client.py", line 150, in call
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     wait_for_reply=True, timeout=timeout)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/oslo/messaging/transport.py", line 90, in _send
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     timeout=timeout)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/oslo/messaging/_drivers/amqpdriver.py", line 412, in send
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     return self._send(target, ctxt, message, wait_for_reply, timeout)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/oslo/messaging/_drivers/amqpdriver.py", line 403, in _send
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     result = self._waiter.wait(msg_id, timeout)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/oslo/messaging/_drivers/amqpdriver.py", line 267, in wait
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     reply, ending = self._poll_connection(msg_id, timeout)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/oslo/messaging/_drivers/amqpdriver.py", line 217, in _poll_connection
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack     % msg_id)
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack MessagingTimeout: Timed out waiting for a reply to message ID 4146a0d1ee334cfd9f22587140c49928
2014-09-11 06:07:19.792 14613 TRACE nova.api.openstack

When I launch the vm build without networking the build succeeds and creates its own network port in each subnet even when not specifying the -nic and -net-id stuff with nova boot command . Neither respond to ping and when you login to the vm via you get nowhere even if you assign address as the tagging applied is random. The web interface shows the port up and active in the subnet and the device owner is compute:None .

Neutron port-list
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+
| id                                   | name | mac_address       | fixed_ips                                                                             |
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+
| 511c60ce-d2dd-4f07-a735-cd9ca4ecbb50 |      | fa:16:3e:71:6a:6a | {"subnet_id": "1a170428-4a47-4dfc-a8d4-d98216b93050", "ip_address": "182.255.xxx.xxx"} |
| 79f595cd-d686-4779-b48e-a64bef964dd3 |      | fa:16:3e:cd:ec:88 | {"subnet_id": "2601be8f-483b-4823-ae7d-1475ce23b3a5", "ip_address": "10.169.2.3"}     |


When I do an ovs-vsctl show I see the new tap created for the vms created

ovs-vsctl show
68eae405-27ae-40f1-b9ab-e751a06987e9
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port "qvo79f595cd-d6"
            tag: 2
            Interface "qvo79f595cd-d6"
        Port "int-br-eth0"
            Interface "int-br-eth0"
        Port "qvo511c60ce-d2"
            tag: 1
            Interface "qvo511c60ce-d2"
    Bridge "br-eth0"
        Port "br-eth0"
            Interface "br-eth0"
                type: internal
        Port "eth0"
            Interface "eth0"
        Port "phy-br-eth0"
            Interface "phy-br-eth0"
    ovs_version: "1.11.0"


Is there some step I am missing in the plugin.ini (ml2_conf.ini) file that is stopping me from creating vms with network? It can't be nova as the vm launches when no network is specified? I have had a second admin check my configuration files  and it followed the guide to a letter aside from the modified network settings we need to suit out setup which is why I am thinking this is where I have gone wrong.

Thanks,
Alex

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140911/c2488291/attachment.html>


More information about the Openstack mailing list