openstack命令创建内网和外网

为何openstack命令创建内网发生错误

img

img

1111111111111111111111111111

要想理解这个错误需要你有较深的网络相关知识,我不清楚你对网络的掌握程度,我尽量来解释。

首先我们来理解一下错误提示信息:
上面 409 是 http 状态码,我们百度搜索可以知道 409 表冲突,那么具体是什么冲突呢?我们来看具体提示信息,翻译过来大概说的就是:_不能创建 flat 网络,物理网络提供者正在被使用_,这里正在被使用是关键词,这就是冲突的原因。根据你的命令行,你使用的物理网络提供者是provider,它正在被谁谁用呢?可以通过命令openstack network list --provider-physical-network provider 查看。

进一步的解释:
从网络底层实现机制 openstack 可以分为两类,overlay 网络和 underlay 网络。overlay 网络包含 vxlan,geneve 等。underlay 网络包含 flat 和 vlan,你上面命令行就是要创建一个 flat 网络。underlay 网络需要有底层物理网络的支撑(命令行中通过 --provider-physical-network 指定)。重点记住这句话:在一个物理网络只能创建一个 flat 类型 openstack 网络,但是可以创建多个 vlan 类型的 openstack 网络。具体原因可以百度 vlan 和 flat 的区别。