Невозможно добавить внешнюю сеть при интеграции openstack с opendaylight
Я пытаюсь интегрировать openstack(ocata) с opendaylight(Carbon). Сначала я установил среду openstack с двумя узлами, контроллером с функциями сетевого узла и вычислительным узлом, затем я загружаю Carbon в свой контроллер и следую руководству по http://docs.opendaylight.org/projects/netvirt/en/stable-carbon/openstack-guide/openstack-with-netvirt.html. Кажется, мне это удается, потому что я вижу информацию о сети, которую я создаю в openstack,
curl -u admin:admin http://controller:8080/controller/nb/v2/neutron/networks
И мой VM может быть успешно создан и получить IP от агента DHCP. Но когда я пытаюсь добавить внешнюю сеть, у меня возникла проблема. Эти следующие шаги приведены на официальном сайте.
sudo ovs-vsctl set Open_vSwitch . other_config:provider_mappings=physnet1:eth1
neutron net-create public-net -- --router:external --is-default --provider:network_type=flat --provider:physical_network=physnet1
neutron subnet-create --allocation-pool start=10.10.10.2,end=10.10.10.254 --gateway 10.10.10.1 --name public-subnet public-net 10.10.0.0/16 -- --enable_dhcp=False
neutron router-gateway-set router1 public-net
Я использую свой третий интерфейс Ethernet "p1p1" в качестве внешнего физического порта, поэтому первая строка меняется на
sudo ovs-vsctl set Open_vSwitch . other_config:provider_mappings=physnet1:p1p1
когда я выполняю первую строку, ничего плохого, ovs-vsctl показывается так:
Manager "tcp:10.0.0.11:6640"
is_connected: true
Bridge br-int
Controller "tcp:10.0.0.11:6653"
is_connected: true
fail_mode: secure
Port "tap61ddb70a-e1"
Interface "tap61ddb70a-e1"
type: internal
Port br-int
Interface br-int
type: internal
Port "tap56fa094f-e0"
Interface "tap56fa094f-e0"
type: internal
Port "tunac3a0d06ee9"
Interface "tunac3a0d06ee9"
type: vxlan
options: {key=flow, local_ip="10.0.0.11", remote_ip="10.0.0.31"}
Port "p1p1"
Interface "p1p1"
Port "tap2b882baf-f7"
Interface "tap2b882baf-f7"
type: internal
ovs_version: "2.6.1"
Но когда я прихожу на вторую строчку
neutron net-create public-net -- --router:external --is-default --provider:network_type=flat --provider:physical_network=physnet1
Не удалось, сообщите об этом
Invalid input for operation: physical_network 'physnet1' unknown for flat provider network
Я пытался изменить тип сети на vxlan, но это все еще ошибка
Invalid input for operation:provider:physical_network specified for vxlan network
Я погуглил этот вывод, но другие все используют только openstack, opendaylight просит меня остановить L3-agent и openvswitch-agent, в моем окружении также нет br-ex, так что, похоже, я не могу использовать те решения, которые можно использовать в нормальной среде с открытым стеком. Итак, почему нейтрон не знает "Physnet1", и как он может знать?