[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