I've recently been struggling to deploy and instances on our OpenStack environment. Whenever I try to deploy a new instance from horizon, I get the following error message:
Error: Failed to perform requested operation on instance "testinstance", the instance has an error status: Please try again later [Error: Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance d0ea4854-e2ab-4f1f-ac11-fc28b8444011. Last exception: Binding failed for port c4a851e7-7ad2-4149-92c7-6116d8965ab2, please check neutron logs for more information.].
I've tried multiple solutions that I saw on ask.openstack.org and on here, none of the have worked. The error message has stayed the exact same. I have also gone through the documentation multiple times to verify that the config files are correct. They are. Yet I keep getting this error. The following error message can be found in the /var/log/neutron/neutron-server.log on the controller:
ERROR neutron.plugins.ml2.managers [req-dd158cae-eef9-47c3-9010-ec0f8b16ae59 ee8cee6074064601bc7dc2ce3683faac 716d6d0c0224429eafbf712fc0fe580d - default default] Failed to bind port c4a851e7-7ad2-4149-92c7-6116d8965ab2 on host CoDER-N2 for vnic_type normal using segments [{'id': 'eeaf41d1-b05a-4711-9b5f-86dc0e338391', 'network_type': 'vxlan', 'physical_network': None, 'segmentation_id': 3, 'network_id': '3c92802e-0dc9-4f16-8865-7ee5cfc4d953'}]
Here are the relevant config files on the controller:
/etc/neutron/neutron.conf
[database]
connection = mysql+pymysql:<redactedbecauseofspamfilter>
[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
transport_url = rabbit:<redactedbecauseofspamfilter>
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[keystone_authtoken]
www_authenticate_uri = <redactedbecauseofspamfilter>
auth_url = <redactedbecauseofspamfilter>
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = neutron
[nova]
auth_url = <redactedbecauseofspamfilter>
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = nova
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
/etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit:<redactedbecauseofspamfilter>
my_ip = 10.70.17.14
[api_database]
connection = mysql+pymysql:<redactedbecauseofspamfilter>
[database]
connection = mysql+pymysql:<redactedbecauseofspamfilter>
[api]
auth_strategy = keystone
[keystone_authtoken]
www_authenticate_uri = <redactedbecauseofspamfilter>
auth_url = <redactedbecauseofspamfilter>
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = nova
[neutron]
auth_url = <redactedbecauseofspamfilter>
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = neutron
service_metadata_proxy = true
metadata_proxy_shared_secret = metadata_secret
[vnc]
enabled = true
server_listen = $my_ip
server_proxyclient_address = $my_ip
[glance]
api_servers = <redactedbecauseofspamfilter>
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:5000/v3
username = placement
password = placement
[scheduler]
discover_hosts_in_cells_interval = 300
Here are the files on compute-nodes: /etc/neutron/neutron.conf
[DEFAULT]
transport_url = rabbit:<redactedbecauseofspamfilter>
auth_strategy = keystone
[keystone_authtoken]
www_authenticate_uri = <redactedbecauseofspamfilter>
auth_url = <redactedbecauseofspamfilter>
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = neutron
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
/etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = provider:enp4s0
[vxlan]
enable_vxlan = true
local_ip = <redactedbecauseofspamfilter>
l2_population = true
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
I have also got the output of the /var/log/nova/nova-server.log from the compute nodes here:
2020-11-20 08:28:12.070 332012 ERROR nova.compute.manager [instance: d0ea4854-e2ab-4f1f-ac11-fc28b8444011] nova.exception.PortBindingFailed: Binding failed for port c4a851e7-7ad2-4149-92c7-6116d8965ab2, please check neutron logs for more information.
Unfortunately, both neutron-logs on the compute nodes are empty. There's no entries in there at all. All services are up and running. I don't know what's wrong. I suspect the fact that "physical network: none" is present in the neutron-server.log on the controller is an indication to the problem, but I don't know what to do about it. Any help is appreciated.