我在运行Ubuntu 18.04的VirtualBox VM上使用Devstack安装了Openstack。我正在尝试使用以下命令创建提供商网络:
neutron net-create mgmt --provider:network_type=vlan --provider:physical_network=physnet_em1 --provider:segmentation_id=500 --shared
此命令返回以下错误:
neutronclient.common.exceptions.BadRequest: Invalid input for operation:
physical_network 'physnet_em1' unknown for VLAN provider network.
Neutron server returns request_ids: ['req-7a0bfe13-b4c3-4408-bc60-8d36e8bc3f9a']
我想知道如何进行。
-
你应该使用 openstack-client 命令,如
openstack network create ...
,因为单个库的客户端命令,如你的neutron net-create
,已被弃用。有一些非常特殊的情况,只有单个组件的客户端库才有可能,但大多数情况都包含在 openstack-client 中。不幸的是,文档中经常使用旧命令,因为许多文档不是最新的。 -
为避免出现错误,您只需从命令中删除
--provider:physical_network=physnet_em1
和--provider:segmentation_id=500
。物理网络和VLAN范围应该在中子服务器的ml2_conf.ini
内定义,例如:[ml2] type_drivers = flat,vlan,vxlan ... [ml2_type_vlan] network_vlan_ranges = physnet_em1:171:280 ...
因此,有了
neutron net-create mgmt --provider:network_type=vlan --shared
它就可以在我的测试部署中工作(至少终端中没有错误,现在没有测试网络连接(。此任务的 openstack-命令将是openstack network create --provider-network-type vlan mgmt --share --external
。
通常,据 我所知,对于提供商网络,使用
flat
网络类型而不是vlan
,因为提供商网络通常不应直接连接到任何虚拟机。其他非提供商网络可以是 vlan 或 vxlan,然后与中子路由器连接到提供商网络。对此的 openstack 命令可以是:openstack network create --provider-network-type flat --provider-physical-network physnet_em1 mgmt --share --external
。对于平面网络,您可以通过命令行定义provider-physical-network
。 在像这样的一些文档中: https://docs.openstack.org/newton/install-guide-ubuntu/launch-instance-networks-provider.html 他们还使用flat
网络作为提供程序网络类型。