OpenStack VM Launch Error – Last exception: Binding failed for port [Solved]

Updated on September 2, 2017

Error:  “Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance <instance_id>. Last exception: Binding failed for port. ucode: 500” while launching a VM in OpenStack Mitaka. If you are stuck with a similar issue, here’s how you can solve it.

Solution:

In addition to the above error message, look out for more information in neutron log files. For instance, neutron-server.log contained “WARNING neutron.plugins.ml2.drivers.mech_agent [id] Port <id> on network <id> not bound, no agent registered on host cloudcomputenode5“.

The above error hints that the neutron network agent in the compute node (cloudcomputenode5, in my case) does not seems to be present/bind to the request. To solve this, check all the necessary configurations related to neutron agent in the compute node.

openstack vm launch error

Make sure the below configurations are present in the compute node.

1. Check if neutron-linuxbridge-agent‘ is installed. If not, install it as shown below:

#apt-get install neutron-linuxbridge-agent

2. Ensure the below configurations are present in /etc/neutron/neutron.conf.

[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

3. Configure Linux bridge agent as shown below:

# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
#Replace PROVIDER_INTERFACE_NAME with the name of the underlying provider physical network interface.
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
[vxlan]
enable_vxlan = True
local_ip = <IP_ADDRESS_COMPUTE_NODE>
l2_population = True
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

4. Ensure compute node is configured to use neutron networking.

# vim /etc/nova/nova.conf
[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASSWORD

4. Start compute and Linux bridge agent services.

# /etc/init.d/nova-compute restart
# /etc/init.d/neutron-linuxbridge-agent restart

Now the Neutron bridge agent has been configured in the compute node. The process can be verified using the below command in Controller node.

[Controller]# neutron agent-list

The output from the above command should list the new network agent at the compute node. That’s it! Launch a new VM and it should work.

Was this article helpful?

Related Articles

Leave a Comment