Openstack:创建实例时绑定端口失败



我在3个节点上部署openstack(控制器,计算和块存储)。

我已经安装了:keystone, nova, neutron, placement, glance, cinder和horizon with the Victoria's guides。

当我尝试用 创建实例时
openstack server create --flavor m1.nano --image cirros   --nic net-id=92dc8bf4-30be-4fdb-a1f4-bc91126dbc38 --security-group default --key-name demokey provider-instance

我得到/etc/neutron/server.log(在控制节点上):

ERROR neutron.plugins.ml2.managers [req-3114ffac-2825-4db6-8586-0b3685fa6b1d b21b8901642c470b8f668965997c7922 0f23d567d2ce4599a1571d8fd5982f9a - default default] Failed to bind port 66f23e36-a360-444c-a3f7-2f7a904037dd on host compute1 for vnic_type normal using segments [{'id': 'e238d39a-ec1a-447a-a272-19cf4e4f76e1', 'network_type': 'flat', 'physical_network': 'provider', 'segmentation_id': None, 'network_id': 'd4c8fb07-7e56-4768-b725-93f3b97e1772'}]

我感觉linuxbridge无法绑定计算节点的端口。

ip a在控制器返回(看起来绑定完成)

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 40:a8:f0:2f:4a:6c brd ff:ff:ff:ff:ff:ff
inet 10.0.0.2/24 brd 10.0.0.255 scope global eno1
valid_lft forever preferred_lft forever
inet6 fe80::42a8:f0ff:fe2f:4a6c/64 scope link 
valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master brq92dc8bf4-30 state UP group default qlen 1000
link/ether 40:a8:f0:2f:4a:6d brd ff:ff:ff:ff:ff:ff
inet6 fe80::42a8:f0ff:fe2f:4a6d/64 scope link 
valid_lft forever preferred_lft forever
4: eno3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 40:a8:f0:2f:4a:6e brd ff:ff:ff:ff:ff:ff
5: eno4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 40:a8:f0:2f:4a:6f brd ff:ff:ff:ff:ff:ff
6: tap0d0faf0c-99@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master brq92dc8bf4-30 state UP group default qlen 1000
link/ether 76:55:51:ff:a9:16 brd ff:ff:ff:ff:ff:ff link-netns qdhcp-92dc8bf4-30be-4fdb-a1f4-bc91126dbc38
7: brq92dc8bf4-30: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 40:a8:f0:2f:4a:6d brd ff:ff:ff:ff:ff:ff
inet 192.168.3.20/24 brd 192.168.3.255 scope global brq92dc8bf4-30
valid_lft forever preferred_lft forever
inet6 fe80::14dc:8eff:fe27:996d/64 scope link 
valid_lft forever preferred_lft forever

但是在计算ip a时返回(没有绑定):

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 94:18:82:78:cd:5c brd ff:ff:ff:ff:ff:ff
inet 10.0.0.3/24 brd 10.0.0.255 scope global eno1
valid_lft forever preferred_lft forever
inet6 fe80::9618:82ff:fe78:cd5c/64 scope link 
valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 94:18:82:78:cd:5d brd ff:ff:ff:ff:ff:ff
inet 192.168.3.30/24 brd 192.168.3.255 scope global eno2
valid_lft forever preferred_lft forever
inet6 fe80::9618:82ff:fe78:cd5d/64 scope link 
valid_lft forever preferred_lft forever
4: eno3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 94:18:82:78:cd:5e brd ff:ff:ff:ff:ff:ff
5: eno4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 94:18:82:78:cd:5f brd ff:ff:ff:ff:ff:ff

同样在控制器ip netns上返回一个qdhcp命名空间,而在计算上没有。

brctl show在控制器上返回一个桥接,而在计算上没有返回。

配置文件是连贯的,与教程中的相同。我有点不知所措。你知道我该在哪儿挖吗?

谢谢你!

nova boot --flavor m1.tiny --image cirros-0.3.5 --nic net-name=demo-net --availability-zone=nova:testcom1 testvm1

我有同样的问题,当创建虚拟机的命令上面

过了一段时间,我发现原因是我的net-name=**demo-net**设置错误的provider:physical_network值。我的物理设置不存在。