local_ipがないとトンネリングを有効にできません

local_ipがないとトンネリングを有効にできません

私は Debian 10 (Buster) を実行しているため、Debian/Ubuntu の公式インストール ガイドを使用して、ローカル インフラストラクチャ (現在は VirtualBox VM のみ) で OS インスタンスを起動して実行しようとしています。OS
ストリームは Viktoria です。
セットアップは、コントローラー ノード (oc1) に keystone、glance、placement、nova、neutron、horizo​​n、コンピューティング ノード (on1) に nova と neutron を配置し、可能な限り最小限に抑えています。今のところ、cinder などはありません。
ネットワーク設定は次のとおりです (VirtualBox インターフェイスの接続「制限」により、少し複雑です)。enp0s3
- OS には使用されません - HostOnlyNetwork - 192.168.0.0/24 - oc1 の場合は 192.168.0.11、on1 の場合は 192.168.0.101
enp0s8 - 管理ネットワーク - NatNetwork - 10.0.77.0/24 - oc1 の場合は 10.0.77.11、on1 の場合は 10.0.77.101 enp0s9
- プロバイダー ネットワーク - NatNetwork - 10.0.2.0/24 - 参照されている IP は設定されていませんインストールガイド

両方のノードで、neutron-linuxbridge-agent.log に次のエラーが表示されます。

2020-12-30 14:46:16.506 17101 INFO neutron.common.config [-] Logging enabled!
2020-12-30 14:46:16.506 17101 INFO neutron.common.config [-] /usr/bin/neutron-linuxbridge-agent version 17.0.0
2020-12-30 14:46:16.507 17101 INFO neutron.plugins.ml2.drivers.linuxbridge.agent.linuxbridge_neutron_agent [-] Interface mappings: {'provider': 'enp0s9'}
2020-12-30 14:46:16.507 17101 INFO neutron.plugins.ml2.drivers.linuxbridge.agent.linuxbridge_neutron_agent [-] Bridge mappings: {}
2020-12-30 14:46:16.510 17101 INFO oslo.privsep.daemon [-] Running privsep helper: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'privsep-helper', '--config-file', '/etc/neutron/neutron.conf', '--config-file', '/etc/neutron/plugins/ml2/ml2_conf.ini', '--config-file', '/etc/neutron/plugins/ml2/linuxbridge_agent.ini', '--privsep_context', 'neutron.privileged.default', '--privsep_sock_path', '/tmp/tmpt5qzvtx0/privsep.sock']
2020-12-30 14:46:17.280 17101 INFO oslo.privsep.daemon [-] Spawned new privsep daemon via rootwrap
2020-12-30 14:46:17.648 17101 ERROR neutron.plugins.ml2.drivers.linuxbridge.agent.linuxbridge_neutron_agent [-] Tunneling cannot be enabled without the local_ip bound to an interface on the host. Please configure local_ip None on the host interface to be used for tunneling and restart the agent.

私はvxlanやopenvswitchをまったく設定していないので、このエラーの意味がわかりません(厳密にネットワークオプション1: プロバイダーネットワーク
linuxbridge_agent.ini (oc1 と on1 の両方):

[DEFAULT]
[agent]
[linux_bridge]
physical_interface_mappings = provider:enp0s9
[network_log]
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
enable_security_group = true
[vxlan]

ml2_conf.ini (oc1 と on1 の両方):

[DEFAULT]
debug = true
[ml2]
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
extension_drivers = port_security
[ml2_type_flat]
flat_networks = provider
[ml2_type_geneve]
[ml2_type_gre]
[ml2_type_vlan]
[ml2_type_vxlan]
vni_ranges = 1:1000
[ovs_driver]
[securitygroup]
enable_security_group = True
enable_ipset = True
[sriov_driver]

neutron.conf (on1):

[DEFAULT]
auth_strategy = keystone
core_plugin = ml2
service_plugins = router,metering,qos
allow_overlapping_ips = True
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
interface_driver = linuxbridge
transport_url = rabbit://openstack:*os_rabbit_pass*@oc1
[agent]
root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf
[cors]
[database]
connection = sqlite:///var/lib/neutron/neutrondb
[ironic]
[keystone_authtoken]
auth_url = http://oc1:5000
project_name = service
project_domain_name = default
username = neutron
user_domain_name = default
password = *neutron_pass*
www_authenticate_uri = http://oc1:5000
region_name = RegionOne
memcached_servers = oc1:11211
auth_type = password
[nova]
region_name = RegionOne
auth_url = http://oc1:5000
auth_type = password
password = *nova_pass*
project_domain_name = default
project_name = service
user_domain_name = default
username = nova
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
policy_file = /etc/neutron/policy.json
policy_dirs = /etc/neutron/policy.d
[privsep]
[quotas]
[ssl]

neutron.conf (oc1):

[DEFAULT]
auth_strategy = keystone
core_plugin = ml2
service_plugins =
allow_overlapping_ips = True
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
interface_driver = linuxbridge
transport_url = rabbit://openstack:*os_rabbit_pass*@oc1
[agent]
root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf
[cors]
[database]
connection = mysql+pymysql://neutron:*neutron_db_pass*@oc1/neutron
[ironic]
[keystone_authtoken]
auth_url = http://oc1:5000
project_name = service
project_domain_name = default
username = neutron
user_domain_name = default
password = *neutron_pass*
www_authenticate_uri = http://oc1:5000
region_name = RegionOne
memcached_servers = oc1:11211
auth_type = password
[nova]
region_name = RegionOne
auth_url = http://oc1:5000
auth_type = password
password = *nova_pass*
project_domain_name = default
project_name = service
user_domain_name = default
username = nova
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
policy_file = /etc/neutron/policy.json
policy_dirs = /etc/neutron/policy.d
[privsep]
[quotas]
[ssl]

何か見落としたのでしょうか、それともサービスの設定でどこかにエラーがあったのでしょうか?

答え1

構成リファレンスLinuxbridgeエージェントはデフォルトでtrueであると表示していますenable_vxlan[vxlan]linuxbridge_agent.iniファイルしてもう一度お試しください。

おっしゃる通り、このエラーメッセージはVXLANが有効になっている場合にのみ表示されます。これは関数内で発行されます。ローカルIPデバイスを取得するエージェントの初期化

関連情報