neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [-] 物理ネットワークプロバイダーのブリッジ enp125s0f0 が存在しません。エージェントが終了しました

neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [-] 物理ネットワークプロバイダーのブリッジ enp125s0f0 が存在しません。エージェントが終了しました

私のオペレーティング システムは Debian 12 です。

私は2つのノードを持つOpenStackクラスタをデプロイしました。コントローラ34は制御ノード、ワーカー35は作業ノードで、追加のネットワークノードはありません。私のネットワーク計画は作業ノードとネットワークノードの再利用です。公式ウェブサイトのドキュメントに従ってNeutronセルフサービスネットワークをデプロイしましたが、制御ノードのログに次のエラーが見つかりました。 それは私のIP設定です

root@controller34:/home/dky# cat /etc/network/interfaces
## This file describes the network interfaces available on your system
## and how to activate them. For more information, see interfaces(5).
#
source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp125s0f0
iface enp125s0f0 inet static
        address 192.168.203.34/24
        gateway 192.168.203.254
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.203.11

これは私のエラーログです

tail -100f /var/log/neutron/neutron-openvswitch-agent.log
2024-01-23 10:54:52.946 241411 ERROR neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [-] Bridge enp125s0f0 for physical network provider does not exist. Agent terminated!
2024-01-23 10:54:56.939 241421 INFO neutron.common.config [-] Logging enabled!

それは私のconfファイルです

  1. /etc/neutron/plugins/ml2/ml2_conf.ini
cat /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
# ...
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security

[ml2_type_flat]
# ...
flat_networks = provider

[ml2_type_vxlan]
# ...
vni_ranges = 1:1000
  1. /etc/neutron/plugins/ml2/openvswitch_agent.ini
root@controller34:/etc/neutron/plugins/ml2# cat /etc/neutron/plugins/ml2/openvswitch_agent.ini
[ovs]
bridge_mappings = provider:enp125s0f0

[vxlan]
local_ip = 192.168.203.34
l2_population = true

[securitygroup]
# ...
enable_security_group = true
firewall_driver = openvswitch
#firewall_driver = iptables_hybrid

作業ノードのログにエラーは見つかりませんでした。

これが私の IP 設定です:

root@controller34:/etc/neutron/plugins/ml2# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp1s0f0np0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 70:8c:b6:16:27:fb brd ff:ff:ff:ff:ff:ff
3: enp125s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether a4:16:e7:95:13:0b brd ff:ff:ff:ff:ff:ff
    inet 192.168.203.34/24 brd 192.168.203.255 scope global enp125s0f0
       valid_lft forever preferred_lft forever
    inet6 fe80::a616:e7ff:fe95:130b/64 scope link 
       valid_lft forever preferred_lft forever

ブリッジを手動で作成しようとしましたが、うまくいきませんでした。現在はまだテスト段階なので、単一のネットワークインターフェースを使用して外部ネットワーク、管理ネットワーク、テナントネットワークを構築する予定です。

答え1

ブリッジマッピングにはインターフェースではなくブリッジが必要ですが、ドキュメントただし、設定オプションはbridge_mappings非常に明確です。まだ OVN を設定していないので、これは OVS デプロイメント用であり、次のものも必要になるようです。

# create provider bridge on control node
ovs-vsctl add-br br-provider

# add port to provider bridge (physnet is probably enp125s0f0 in your case)
ovs-vsctl add-port br-provider {{ physnet }}

# edit /etc/neutron/plugins/ml2/openvswitch_agent.ini

[ovs]
bridge_mappings = provider:br-provider

設定ファイルを編集したら、 を再起動しますneutron-openvswitch-agent.service。コントロール ノード上のすべての Neutron サービスも再起動します。次に、ブリッジ マッピングも必要なので、コンピューティング ノードでも同じ操作を実行します。外部 (プロバイダー) ネットワークを使用する場合は、IP が設定されていない別のインターフェイスが必要になります。

関連情報