HyperV-Agent Error: PortBindingFailed
I am attempting to configure OpenStack to launch instances on a specific VLAN on one of the interfaces on my compute nodes. The VMswitch name is Back-end zone
. I want to launch VMs on VLAN 150 on this VMswitch.
I have installed the latest Cloudbase Nova driver for Ocata and am using the default Hyper-V neutron agent.
Do I need to do anything with the segment_id
directive for the subnet?
I have tried setting the router:external
directive for the network to 'internal' but this doesn't seem to help.
All relevant information I could think of has been included below. Please let me know if there is any additional info you would like to see. Any help would be greatly appreciated.
Here is my network agent list on the controller:
# openstack network agent list
+--------------------------------------+----------------+---------------+-------------------+-------+-------+------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+----------------+---------------+-------------------+-------+-------+------------------------+
| 1f512938-132e-47d3-b1a5-eb0be5aed61c | DHCP agent | gcp-openstack | nova | True | UP | neutron-dhcp-agent |
| 46d88273-4245-4206-b636-6944addb1c1f | Metadata agent | gcp-openstack | None | True | UP | neutron-metadata-agent |
| 4d1ca29e-ece8-4380-bde7-17d167d6a103 | L3 agent | gcp-openstack | nova | True | UP | neutron-l3-agent |
| da6107b9-c6ac-41cd-8063-28ce0d702c24 | HyperV agent | T-Cloud-1 | None | True | UP | neutron-hyperv-agent |
+--------------------------------------+----------------+---------------+-------------------+-------+-------+------------------------+
Here are my VMswitches:
PS C:\Windows\system32> get-vmswitch
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
Back-end zone External Broadcom BCM5709C NetXtreme II GigE (NDIS VBD Client) #40
Proxy zone External Broadcom NetXtreme Gigabit Ethernet
Web zone External Broadcom BCM5709C NetXtreme II GigE (NDIS VBD Client) #39
I receive the following error message in Horizon when launching an instance:
2017-05-16 16:53:33.328 2112 ERROR nova.compute.manager [req-df281722-7a6a-45d8-a5e1-96cf329a669d 0797a3b035234af49fa8fc8a80680060 f0d140af365f4c65b8144f9d5a784bd8 - - -] Instance failed network setup after 1 attempt(s)
2017-05-16 16:53:33.328 2112 ERROR nova.compute.manager Traceback (most recent call last):
[...]
2017-05-16 16:53:33.328 2112 ERROR nova.compute.manager PortBindingFailed: Binding failed for port 5c6b4f72-635e-44ed-8681-01fde769998b, please check neutron logs for more information.
2017-05-16 16:53:33.375 2112 ERROR nova.compute.manager [req-df281722-7a6a-45d8-a5e1-96cf329a669d 0797a3b035234af49fa8fc8a80680060 f0d140af365f4c65b8144f9d5a784bd8 - - -] [instance: 109a7120-b447-4313-8050-20a7099118d4] Instance failed to spawn
2017-05-16 16:53:33.375 2112 ERROR nova.compute.manager [instance: 109a7120-b447-4313-8050-20a7099118d4] Traceback (most recent call last):
[...]
2017-05-16 16:53:33.375 2112 ERROR nova.compute.manager [instance: 109a7120-b447-4313-8050-20a7099118d4] PortBindingFailed: Binding failed for port 5c6b4f72-635e-44ed-8681-01fde769998b, please check neutron logs for more information.
I don't see any new logs in the neutron-hyperv-agent.log
file on the compute node.
I see the following errors in /var/log/neutron/server.log
on the controller:
2017-05-16 16:53:29.701 7634 WARNING neutron.api.rpc.agentnotifiers.dhcp_rpc_agent_api [req-0825988b-430f-41e6-83f3-422bb61927ff - - - - -] Unable to schedule network c8321bc0-f38c-4943-988b-f298313ae1be: no agents available; will retry on subsequent port and subnet creation events.
2017-05-16 16:53:29.890 7634 INFO neutron.wsgi [req-0825988b-430f-41e6-83f3-422bb61927ff - - - - -] 10.9.47.71 - - [16/May/2017 16:53:29] "POST /v2.0/ports.json HTTP/1.1" 201 1087 1.430238
2017-05-16 16:53:30.174 7634 INFO neutron.wsgi [req-b6a0a893-439c-4bf1-a548-7f924ed19755 - - - - -] 10.9.47.71 - - [16/May/2017 16:53:30] "GET /v2.0/extensions.json HTTP/1.1" 200 7503 0.278365
2017-05-16 16:53:31.892 7634 ERROR neutron.plugins.ml2.managers [req-69aaa9cb-d10b-49fd-8812-5a973b188d11 - - - - -] Failed to bind port 5c6b4f72-635e-44ed-8681-01fde769998b on host T-Cloud-1 for vnic_type normal using segments ...
I also found the following log in the neutron log on the controller: 2017-05-18 22:53:59.037 7640 INFO neutron.plugins.ml2.plugin [req-eeeef18c-ac1d-4a21-99b9-dfcff8a9ce30 - - - - -] No ports have port_id starting with Network Adapter
I added additional detail to the bottom. I am seeing an error in the logs stating that the agent is dead. I'm not sure why I am getting this error. When I list the neutron agents, the agent is listed as alive. The latest heartbeat is always recent within a few minutes.
I have deleted and re-added the hyper-v neutron agent without any change. I'm not sure I see any issue with the agent. I'm not sure why it's being reported as dead...
UPDATE: I'm thinking the dead agent log was just from when I was restarting the agent here and there as I was testing other configs.