DHCP not working: Quantum + RHEL6.3 + Linuxbridge

Asked by Anas ASO

Hello,
I'm deploying OpenStack Folsom on CentOS6.3, and I'm using Quantum with LinuxBridge as a L2 plugin.
For the installation I followed these two posts:

http://docs.openstack.org/trunk/openstack-network/admin/content/install_fedora.html
https://www.ibm.com/developerworks/mydeveloperworks/wikis/home/wiki/OpenStack%20-%20Configure%20Quantum%20network%20_%20Linuxbridge%20for%20RHEL6.3%20%28Folsom%20release%29?lang=en

I did all what is needed, and I finished the install without any error in the log files (/var/log/quantum/.... ), but I'm seeing a strange behaviour.
1 - The created bridge brqcxxxxxxx does not have an IP address. Is it normal ?! I think it should have one, because it'll be the gateway for the VMs attached to it.
2 - An interface named ns-xxxxxxx is created an got the first available address in the created subnet. What is for?!
3 - dnsmasq log file shows this message : <DHCP, static leases only on 172.16.1.0, lease... > . "172.16.1.0" is the subnet I created. Shouldn't be listening on a host IP address (172.16.1.1 for example ), which should be the same address given to the bridge ?!!
4 - and of course when I create a VM, it sends its DHCPDISCOVER messages, no one of them is received by dnsmasq, and the VM can't get an IP address.

here are my configs :
-----------------------------------------------------------------------------------------------------------------------

//quantum.conf
[DEFAULT]
verbose = True
bind_host = 0.0.0.0
bind_port = 9696
core_plugin = quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2
api_paste_config = api-paste.ini
auth_strategy = keystone
control_exchange = quantum
notification_driver = quantum.openstack.common.notifier.list_notifier
list_notifier_drivers = quantum.openstack.common.notifier.rabbit_notifier
rpc_backend = quantum.openstack.common.rpc.impl_qpid
qpid_hostname = 192.168.224.77

// dhcp_agent.ini
[DEFAULT]
state_path = /var/lib/quantum
interface_driver = quantum.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = quantum.agent.linux.dhcp.Dnsmasq
use_namespaces = False
root_helper = sudo quantum-rootwrap /etc/quantum/rootwrap.conf
auth_url = http://192.168.224.77:5000/v2.0/
admin_username = admin
admin_password = verybadpassword
admin_tenant_name = admin

//l3_agent.ini
[DEFAULT]
interface_driver = quantum.agent.linux.interface.BridgeInterfaceDriver
auth_url = http://192.168.224.77:35357/v2.0
auth_region = RegionOne
admin_tenant_name = admin
admin_user = admin
admin_password = verybadpassword
root_helper = sudo quantum-rootwrap /etc/quantum/rootwrap.conf
use_namespaces = False
external_network_bridge =

-----------------------------------------------------------------------------------------------------------------------
I omitted all the commented lines, and I left the default config for all the other files.

thanks in advance

Question information

Language:
English Edit question
Status:
Solved
For:
neutron Edit question
Assignee:
No assignee Edit question
Solved by:
yong sheng gong
Solved:
Last query:
Last reply:
Revision history for this message
yong sheng gong (gongysh) said :
#1

run quantum net-show
and give us your linuxbridge_conf.ini, we will see what is your network's provider type.

Revision history for this message
Anas ASO (aso-anas) said :
#2

thanks yong for your answer, and here is the needed informations:
1 - "quantum net-show net1" output: (net1 is the name of network I've created for tests )

+------------------------------+------------------------------------------------+
| Field | Value |
+------------------------------+------------------------------------------------+
| admin_state_up | True |
| id | e7de2673-cd46-4510-8df9-298bba8d1d36 |
| name | net1 |
| provider:network_type | vlan |
| provider:physical_network | physnet1 |
| provider:segmentation_id | 1000 |
| router:external | False |
| shared | True |
| status | ACTIVE |
| subnets | 084c9068-d28f-415c-8ac1-f65db72d6086 |
| tenant_id | e84fdf0dce7e4068bc7fb5730c4413ef |
+------------------------------+-------------------------------------------------+

2 - linuxbridge_config.ini file :
---------------------------------------------------------------------------------------------------------
[VLANS]
tenant_network_type = vlan
network_vlan_ranges = physnet1:1000:1100

[DATABASE]
sql_connection = mysql://quantum:<email address hidden>/quantum_linux_bridge
reconnect_interval = 2

[LINUX_BRIDGE]
physical_interface = eth0
physical_interface_mappings = physnet1:eth0

[AGENT]
polling_interval = 2
root_helper = sudo quantum-rootwrap /etc/quantum/rootwrap.conf
---------------------------------------------------------------------------------------------------------
I am using one quantum "router" as an internal gateway, which has an interface connected to subnet. No external gateway is created.

I forgot to say that I'm using a single node (all the OpenStack daemons are running on the same host), this a proof of concept scenario.

If you need any other information do not hesitate to ask for it. I really need to get our of this problem.

Revision history for this message
Best yong sheng gong (gongysh) said :
#3

Since you are using redhat 6.3, which does not support namespace, you had better separate DHCP agent and L3 agent.
Typically, these two agents cannot coexist well.
https://review.openstack.org/#/c/24412/

Revision history for this message
Anas ASO (aso-anas) said :
#4

should I run them both on separate machine, or disabling L3 agent will be sufficient? I don't know if running quantum-server, quantum-linuxbridge-agent and quantum-dhcp-agent is enough for quantum to give a normal behaviour ?!
I tried disabling the L3 agent but I didn't work.
As I said before this is only a proof of concept scenario.
thanks,

Revision history for this message
Anas ASO (aso-anas) said :
#5

Thanks yong sheng gong, that solved my question.

Revision history for this message
Anas ASO (aso-anas) said :
#6

I want to add that iptables was blocking the communication with the dhcp daemon, so I had to open the needed port (67 udp).
thank you for your help.