# OpenStack-Ansible - Error while launching instance

I have installed OpenStack-Ansible using the official newton deployment guide (https://docs.openstack.org/project-de...) with no errors while installing whatsoever and all services seem to be up and running. I have 1 Controller node, 1 Compute node and 1 Storage node , exactly like the Appendix A on the deployment guide.

So when I tried to launch my first instance I got an error status on my instance deployment. (Message No valid host was found. There are not enough hosts available. Code: 500)

So first move I make is to check the /var/log/nova-compute.log on the Compute node. I got this ERROR

2017-02-23 17:25:36.353 26044 ERROR nova.compute.manager [req-66f6d9a1-e1ab-4c57-850a-ef6a10842717 - - - - -] No compute node record for host compute1
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager [req-f44ef25b-84e0-4836-b934-70c8669655e3 9365b52ee1864de6bfdb99795c648907 44aedc833e114e96910e74e87475c0eb - - -] Instance failed network setup after 1 attempt(s)
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager Traceback (most recent call last):
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager   File "/openstack/venvs/nova-14.0.8/lib/python2.7/site-packages/nova/compute/manager.py", line 1401, in _allocate_network_async
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager     bind_host_id=bind_host_id)
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager   File "/openstack/venvs/nova-14.0.8/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 881, in allocate_for_instance
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager     bind_host_id, dhcp_opts, available_macs)
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager   File "/openstack/venvs/nova-14.0.8/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 1000, in _update_ports_for_instance
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager     vif.destroy()
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager   File "/openstack/venvs/nova-14.0.8/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager     self.force_reraise()
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager   File "/openstack/venvs/nova-14.0.8/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager     six.reraise(self.type_, self.value, self.tb)
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager   File "/openstack/venvs/nova-14.0.8/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 970, in _update_ports_for_instance
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager     port_client, instance, port_id, port_req_body)
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager   File "/openstack/venvs/nova-14.0.8/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 437, in _update_port
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager     _ensure_no_port_binding_failure(port)
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager   File "/openstack/venvs/nova-14.0.8/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 175, in _ensure_no_port_binding_failure
2017-02-28 15:25:16.911 26044 ERROR nova.compute.manager     raise exception.PortBindingFailed(port_id=port['id'])
2017-02-28 15:25:16.911 26044 ...
edit retag close merge delete

'physical_network': None means, I believe, that you don't map the tunnel to a physical interface correctly. Probably this part

[ovs]
bridge_mappings = provider:br-provider


in the openvswitch_agent.ini file.

( 2017-02-28 16:11:42 -0500 )edit

I don't know how OSA sets this up, but the relevant section of the network guide is https://docs.openstack.org/ocata/netw....

( 2017-02-28 16:12:47 -0500 )edit

Thank you for your time! The thing is that, OSA doesn't use ovs, only linux bridges, I don't know if this helps making the situation any clearer. Also to point that I followed the instructions of Appendix A to the letter as far as configuration is concerned.

( 2017-03-01 06:18:13 -0500 )edit

Sort by » oldest newest most voted

After a lot of asking around and looking around the logs, I think that the problem is captured on the /var/log/neutron/neutron-linuxbridge-agent.log on the Compute node :

2017-02-26 12:12:09.600 25717 ERROR neutron.plugins.ml2.drivers.linuxbridge.agent.linuxbridge_neutron_agent [-] Interface eth12 for physical network flat does not exist. Agent terminated!


So after some more search I stumbled upon the /etc/neutron/plugins/ml2/linuxbridge_agent.ini file inside of which I found this statement:

physical_interface_mappings = flat:eth12,vlan:br-vlan


So I realised that, during the instance creation the linux bridge agent was trying to find a "eth12" interface on the Compute on which to bind uppon but couldn't so it produced an error.

And I'm almost positive that this problem has to do with this specific part of the openstack_user_config.yml manifest on Appendix A:

 - network:
container_bridge: "br-vlan"
container_type: "veth"
container_interface: "eth12"
host_bind_override: "eth12"
type: "flat"
net_name: "flat"
group_binds:
- neutron_linuxbridge_agent


Of course, I would like more opinions on that because I'm not sure at all

--------------------------------------------EDIT-------------------------------------------------------------------

To whoever may have the same problem, my solution was to edit /etc/neutron/plugins/ml2/linuxbridge_agent.ini and remove the flat:eth12 reference:

physical_interface_mappings = vlan:br-vlan


After that, I was able to create istances without any errors.

V.G.

more

I had exactly the same problem deploying Openstack Ocata using OSA and your groundwork led me directly to the solution.

Your intuition is exactly correct. Editing host_bind_override in the openstack_user_config.yml is the way to go. Here's the relevant excerpt from openstack_user_config.yml.example:

#       Option: host_bind_override (optional, string)
#       Name of the physical network interface on the same L2 network being
#       used with the br-vlan device. This host_bind_override should only
#       be set for the ' container_bridge: "br-vlan" '.
#       This interface is optional but highly recommended for vlan based
#       OpenStack networking.
#       If no additional network interface is available, a deployer can create
#       a veth pair, and plug it into the the br-vlan bridge to provide
#       this interface. An example could be found in the aio_interfaces.cfg
# file.


While optional, if provided it does need to be correct. In my case, as in yours, the bridge on the host is called br-vlan, so my provider network definition is:

   - network:
group_binds:
- neutron_linuxbridge_agent
container_bridge: "br-vlan"
container_type: "veth"
container_interface: "eth12"
host_bind_override: "br-vlan"
type: "flat"
net_name: "flat"
ip_from_q: "tenant"


Making this change and re-running openstack-ansible os-neutron-install.yml corrected the configuration files on all my compute hosts and restarted the neutron-linuxbridge-agent(s).

more

I'm glad I could be of help :)

( 2017-03-29 08:29:04 -0500 )edit

Hi , We are facing similar issue with Ocata. After removing the flat:eth12, above error is resolved but now we are unable to ssh into instances.We changed to host_bind_override: "br-vlan" as suggested but this results in error - https://pastebin.com/BgcwN07k . Any suggestions?

( 2017-10-12 04:22:13 -0500 )edit

hello

i have a similar issue , any ideas?

part of my user config is here : http://paste.openstack.org/show/607558/

and the error i get is : ERROR neutron.plugins.ml2.drivers.linuxbridge.agent.linuxbridge_neutron_agent [-] Interface eth12 for physical network flat does not exist. Agent terminated!

whats wrong ? thanks

more

This is exactly the same issue I have as well but with Pike. I'll check for any Bugs on Launchpad. It's really disappointing that an error like this has existed for at least 18 months (Newton, Ocata and now Pike).

more