Hi Pradeep,

On Sun, Jun 21, 2020 at 6:22 PM Pradeep Antil <pradeepantil@gmail.com> wrote:
Hi Techies,

I am trying to deploy the latest Openstack "ussuri" on CentOS 8 VM using packstack.  I have successfully installed it but the issue is that i want to i want to add my interface "enp0s3" to ovs bridge br-ex. On CentOS 7 we can do this via ifcfg-* files using network-scripts. 

Yes in CentOS8 network-script is not installed/enabled by default. So to manage ovs bridges you either need to install/enable network-scripts or manage bridges with NetworkManager via nmcli or other tools.

But i am not sure how this can be done on CentOS 8 VM as in this release network is controlled via network manager. On br-ex i will attach an external provider network or a flat network.

I have pushed some fixes to doc[1] and packstack[2] to have bridges work with network-scripts and remove Network Manager warning.
[1] https://github.com/redhat-openstack/website/pull/1388
[2] https://review.opendev.org/738223

image.png

I have referred the below steps for the deployment.

dnf update -y
dnf config-manager --enable PowerTools
dnf install -y centos-release-openstack-ussuri
dnf update -y
dnf install -y openstack-packstack
reboot
packstack --gen-answer-file=/root/answer.txt


Edit answer file

CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan
CONFIG_PROVISION_DEMO=n
CONFIG_KEYSTONE_ADMIN_PW=P@ssw0rd
packstack  --answer-file=/root/answer.txt
 
Following is the output of ovs command and interfaces on my centos 8 system

image.png


If you like to manage ovs bridges with Network Manager you can try below steps:-

# Install and Enable ovs plugin for NetworkManager
sudo dnf install -y NetworkManager-ovs
sudo systemctl restart NetworkManager

# Discover network configs for external interface
export IP=`ip r get 1.1.1.1 | awk '/dev/{print $7}' | tr -d '[[:space:]]'`
export NETMASK=`ip route show | grep $IP |cut -d" " -f1|cut -d"/" -f2 |tr -d '[[:space:]]'`
# We need the gateway as we'll be reconfiguring the interface
export GATEWAY=`ip r get 1.1.1.1 | awk '/dev/{print $3}' | tr -d '[[:space:]]'`
export MAC=`ip a show enp0s3|grep link/ether|awk '{print $2}' | tr -d '[[:space:]]'`

# Delete ovs bridge created outside of NetworkManager
sudo ovs-vsctl del-br br-ex

sudo nmcli conn add type ovs-bridge conn.interface br-ex
sudo nmcli conn add type ovs-port conn.interface port0 master br-ex
sudo nmcli conn add type ovs-interface slave-type ovs-port conn.interface br-ex  master port0 ipv4.method manual ipv4.address $IP/$NETMASK ipv4.gateway $GATEWAY ipv4.dns 8.8.8.8

# This do no't persist after reboot
sudo ovs-vsctl set bridge br-ex other-config:hwaddr=$MAC

sudo nmcli conn add type ovs-port conn.interface port1 master br-ex
sudo nmcli conn add type ethernet conn.interface enp0s3 master port1

sudo nmcli conn up ovs-slave-enp0s3


# to persist mac on ovs bridge with reboots
sudo tee /etc/NetworkManager/dispatcher.d/25-ovs-br-ex <<EOF
#!/bin/sh
# This is a NetworkManager dispatcher / networkd-dispatcher script for
# ovs to set mac address for slave

# For NetworkManager consider only up/down events
[ 0 -ge 2 ] && [ "" != "up" ] && exit 0

if [ "\$DEVICE_IFACE" == "br-ex" ]; then
export MAC=\$(ip a show enp0s3|grep link/ether|awk '{print \$2}' | tr -d '[[:space:]]')
ovs-vsctl set bridge br-ex other-config:hwaddr=\$MAC
fi

exit 0
EOF
sudo chmod +x /etc/NetworkManager/dispatcher.d/25-ovs-br-ex


Ensure you have console access to the packstack vm as in case of wrong network config ssh connection will be lost.

--
Best Regards
Pradeep Kumar
_______________________________________________
dev mailing list
dev@lists.rdoproject.org
http://lists.rdoproject.org/mailman/listinfo/dev

To unsubscribe: dev-unsubscribe@lists.rdoproject.org


Thanks and Regards
Yatin Karel