[Rdo-list] Attempt to reproduce https://github.com/beekhof/osp-ha-deploy/blob/master/HA-keepalived.md

Dan Sneddon dsneddon at redhat.com
Fri Nov 13 19:46:47 UTC 2015


On 11/13/2015 11:38 AM, Boris Derzhavets wrote:
> I understand that in usual situation , creating ifcfg-br-ex and ifcfg-eth2 ( as OVS bridge and OVS port) ,
>  `service network restart` should be run to make eth2 (no IP) OVS port of br-ex (any IP which belongs ext net and is available)
> What bad does NetworkManager when external network provider is used ?
> Disabling it,  I break routing via eth0's interfaces of cluster nodes to 10.10.10.0/24 ( ext net),
> so nothing is supposed to work :-
>    http://blog.oddbit.com/2014/05/28/multiple-external-networks-wit/
>    http://dbaxps.blogspot.com/2015/10/multiple-external-networks-with-single.html
> Either I am missing something here.
> ________________________________________
> From: rdo-list-bounces at redhat.com <rdo-list-bounces at redhat.com> on behalf of Boris Derzhavets <bderzhavets at hotmail.com>
> Sent: Friday, November 13, 2015 1:09 PM
> To: Javier Pena
> Cc: rdo-list at redhat.com
> Subject: [Rdo-list] Attempt to reproduce https://github.com/beekhof/osp-ha-deploy/blob/master/HA-keepalived.md
> 
> Working on this task I was able to build 3 node HAProxy/Keepalived  Controller's cluster , create compute node , launch CirrOS VM,
> However, I cannot ping floating IP of VM running on compute ( total 4 CentOS 7.1 VMs, nested kvm enabled )
> Looks like provider external networks  doesn't work for me.
> 
> But , to have eth0 without IP (due to `ovs-vsctl add-port br-eth0 eth0 ) still allowing to ping 10.10.10.1,
> I need NetworkManager active, rather then network.service
> 
> [root at hacontroller1 network-scripts]# systemctl status NetworkManager
> NetworkManager.service - Network Manager
>    Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled)
>    Active: active (running) since Fri 2015-11-13 20:39:21 MSK; 12min ago
>  Main PID: 808 (NetworkManager)
>    CGroup: /system.slice/NetworkManager.service
>            ├─ 808 /usr/sbin/NetworkManager --no-daemon
>            └─2325 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eth0...
> 
> Nov 13 20:39:22 hacontroller1.example.com NetworkManager[808]: <info>  NetworkManager state is n...L
> Nov 13 20:39:22 hacontroller1.example.com dhclient[2325]: bound to 10.10.10.216 -- renewal in 1...s.
> Nov 13 20:39:22 hacontroller1.example.com NetworkManager[808]: <info>  (eth0): Activation: succe....
> Nov 13 20:39:25 hacontroller1.example.com NetworkManager[808]: <info>  startup complete
> 
> [root at hacontroller1 network-scripts]# systemctl status network.service
> network.service - LSB: Bring up/down networking
>    Loaded: loaded (/etc/rc.d/init.d/network)
>    Active: inactive (dead)
> 
> [root at hacontroller1 network-scripts]# cat ifcfg-eth0
> TYPE="Ethernet"
> BOOTPROTO="static"
> NAME="eth0"
> DEVICE=eth0
> ONBOOT="yes"
> 
> [root at hacontroller1 network-scripts]# ping -c 3 10.10.10.1
> PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.
> 64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=0.087 ms
> 64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=0.128 ms
> 64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=0.117 ms
> 
> --- 10.10.10.1 ping statistics ---
> 3 packets transmitted, 3 received, 0% packet loss, time 1999ms
> rtt min/avg/max/mdev = 0.087/0.110/0.128/0.021 ms
> 
> If I disable NetworkManager and enable network this feature will be lost. Eth0 would have to have static IP or dhcp lease,
> to provide route to 10.10.10.0/24.
> 
> Thank you.
> Boris.
> 
> _______________________________________________
> Rdo-list mailing list
> Rdo-list at redhat.com
> https://www.redhat.com/mailman/listinfo/rdo-list
> 
> To unsubscribe: rdo-list-unsubscribe at redhat.com
> 

OK, a few things here. First of all, you don't actually need to have an
IP address on the host system to use a VLAN or interface as an external
provider network. The Neutron router will have an IP on the right
network, and within its namespace will be able to reach the 10.10.10.x
network.

It looks to me like NetworkManager is running dhclient for eth0, even
though you have BOOTPROTO="static". This is causing an IP address to be
added to eth0, so you are able to ping 10.10.10.x from the host. When
you turn off NetworkManager, this unexpected behavior goes away, *but
you should still be able to use provider networks*.

Try creating a Neutron router with an IP on 10.10.10.x, and then you
should be able to ping that network from the router namespace.

If you want to be able to ping 10.10.10.x from the host, then you
should put either a static IP or DHCP on the bridge, not on eth0. This
should work whether you are running NetworkManager or network.service.

-- 
Dan Sneddon         |  Principal OpenStack Engineer
dsneddon at redhat.com |  redhat.com/openstack
650.254.4025        |  dsneddon:irc   @dxs:twitter




More information about the dev mailing list