[Openstack] Neutron hostname fqdn

Aviolat Romain Romain.Aviolat at nagra.com
Wed Feb 18 10:53:15 UTC 2015

Dear openstack community,

I have an openstack setup composed of Arista switches for the network part. I'm using the ml2 driver to do the vlan provisioning on the switches and openvswitch for the provisioning on the compute-nodes.

The switches are using LADV (LLDP) to discover where each compute nodes are connected (which switch port). The ladvd agent on the compute-nodes is always broadcasting the full qualified domain name (fqdn) of the nodes, there is no option to broadcast only the machine names.

The communication between neutron and the switches is working great:

(on the Arista switches)
#show openstack vm
Region: regionOne

   Tenant Name: test
   Tenant Id: b747adc6dfdb41eba0af96e63b23be5f

     VM Name   VM Id                                  Host Network Name
    --------- -------------------------------------- ----------------------------
     test   ae301701-aaf7-45f6-ad0c-19720b189a44   cloudcompute2 

The problem is that nova is not sending the FQDN of the compute-node, so the switch is not able to match on which compute-node port it should create the VLAN.

(on the Arista switches)
#show network physical-topology hosts
Unique Id            Hostname
-------------------- ------------------------------
0cc4.7a45.f600       cloudcompute0.domain.com
0cc4.7a43.8e7c       cloudcompute1.domain.com
0cc4.7a0b.2446       cloudcompute2.domain.com

my workaround was to set the nova "host" variable, on each compute-node, to the FQDN (host=cloudcomputeX.domain.com). The switches were now matching the compute-nodes lldp information and created the VLANs accordingly. But... Then openvswitch was unable to provision the compute-nodes because it seems that neutron is still using the short machine name instead of the FQDN.

neutron agent-list
| id                                   | agent_type         | host             | alive | admin_state_up | binary                    |
| 9c3327c0-c94c-4165-852d-e51d706f0ab7 | Open vSwitch agent |cloudcompute0    | :-)   | True           | neutron-openvswitch-agent |


So I don't know if it's possible to force neutron to use a certain hostname like I did for nova. I forgot to say that I'm using rabbitmq as messaging system. I saw that ZeroMQ for example has that kind of option:  rpc_zmq_host=[hostname]

Thanks for your help

Romain Aviolat
Senior System Administrator - R&D and ops Infrastructure 
Kudelski Security - Kudelski Group 
rte de Genève 22-24, 1033 Cheseaux, SWITZERLAND
+41 21 732 03 79

More information about the Openstack mailing list