OpenStack Wallaby : Configure Neutron OVN (Network Node)2021/04/20 |
Configure OpenStack Network Service (Neutron).
This example is based on the environment like follows.
Configure Neutron services with Open Virtual Network (OVN). ------------+---------------------------+---------------------------+------------ | | | eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ Control Node ] | | [ Network Node ] | | [ Compute Node ] | | | | | | | | MariaDB RabbitMQ | | Open vSwitch | | Libvirt | | Memcached httpd | | Neutron Server | | Nova Compute | | Keystone Glance | | OVN-Northd | | Open vSwitch | | Nova API | | | | OVN Metadata Agent | | | | | | OVN-Controller | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] |
Create a user or endpoints and Database for Neutron on Control Node, refer to here.
On the example of the link, Neutron Server (API) is installed on Control Node, but on this example, Neutron Server is installed on Network Node, so replace the Endpoints of Neutron to [10.0.0.50]. |
[2] | Configure OpenStack Wallaby repository first like here of [3] and Install required packages for Network Node. |
root@network:~# apt -y install neutron-server neutron-plugin-ml2 python3-neutronclient ovn-central openvswitch-switch
|
[3] | Configure Neutron Server. |
root@network:~# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org
root@network:~#
vi /etc/neutron/neutron.conf # create new [DEFAULT] core_plugin = ml2 service_plugins = ovn-router auth_strategy = keystone state_path = /var/lib/neutron allow_overlapping_ips = True notify_nova_on_port_status_changes = True notify_nova_on_port_data_changes = True # RabbitMQ connection info transport_url = rabbit://openstack:password@10.0.0.30 # Keystone auth info [keystone_authtoken] www_authenticate_uri = http://10.0.0.30:5000 auth_url = http://10.0.0.30:5000 memcached_servers = 10.0.0.30:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = neutron password = servicepassword [database] connection = mysql+pymysql://neutron:password@10.0.0.30/neutron_ml2 [nova] auth_url = http://10.0.0.30:5000 auth_type = password project_domain_name = default user_domain_name = default region_name = RegionOne project_name = service username = nova password = servicepassword [oslo_concurrency] lock_path = $state_path/tmp
root@network:~#
chmod 640 /etc/neutron/neutron.conf root@network:~# chgrp neutron /etc/neutron/neutron.conf
root@network:~#
mv /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/ml2_conf.ini.org root@network:~# vi /etc/neutron/plugins/ml2/ml2_conf.ini # create new
[DEFAULT]
debug = false
[ml2]
type_drivers = flat,geneve
tenant_network_types = geneve
mechanism_drivers = ovn
extension_drivers = port_security
overlay_ip_version = 4
[ml2_type_geneve]
vni_ranges = 1:65536
max_header_size = 38
[ml2_type_flat]
flat_networks = *
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[ovn]
# IP address of this Network node
ovn_nb_connection = tcp:10.0.0.50:6641
ovn_sb_connection = tcp:10.0.0.50:6642
ovn_l3_scheduler = leastloaded
ovn_metadata_enabled = True
root@network:~#
chmod 640 /etc/neutron/plugins/ml2/ml2_conf.ini root@network:~# chgrp neutron /etc/neutron/plugins/ml2/ml2_conf.ini
root@network:~#
vi /etc/default/openvswitch-switch # line 8 : uncomment and add OVS_CTL_OPTS= "--ovsdb-server-options='--remote=ptcp:6640:127.0.0.1'"
|
[4] | Start Neutron services. |
root@network:~#
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini root@network:~# su -s /bin/bash neutron -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head"
root@network:~#
root@network:~# systemctl restart ovn-central ovn-northd root@network:~# ovn-nbctl set-connection ptcp:6641:10.0.0.50 -- set connection . inactivity_probe=60000 root@network:~# ovn-sbctl set-connection ptcp:6642:10.0.0.50 -- set connection . inactivity_probe=60000
systemctl restart neutron-server
|
Sponsored Link |