Re: [ANNOUNCE] keepalived 2.0.1

Damien Clabaut <[email protected]> Fri, 15 Jun 2018 12:03:35 +0000
Newsgroups gmane.linux.keepalived.devel
Message-ID <[email protected]>
Hello Alexandre, Quentin,

We finally have had time to start our tests on Keepalived 2.0.2, with our usual patches (mostly, enabling json at compilation).

The test setup is as follows:
2 servers (xeon e5 + Intel 82599ES) are connected together through a switch (2*10G LACP from each server to the switch).

We use the template we pushed to the Keepalived repo to spawn 398 VRRP instances (vlans 2-200, one instance per vlan per IP version) with the
track_file option (each instance track a different file) on each server.

Then, we have an isolation tool, that will basically collect the state of the system from JSON, then write "-100" in the files tracked by each
instance (we do 1 instance every second to have a smooth migration). The script then waits for all instances to be in the BACKUP state, before
reversing everything.

We left that running in a loop overnight (75 runs of the loop). Each run takes around 800 seconds (~400 instances, 2 movements per instance, 1
movement per second).

Results:
- Used CPU/RAM do not increase over time
- We use about 20% of 1 core for softirq
- No instance ever went to FAULT state
- Even after so many runs of the loop, each run takes the same time

Congratulations on making something this stable, we will be happy to keep testing before putting Keepalived 2.0.2 in production.

Next test, which will take place over the weekend, will be the same as described above but with more instances (probably over 2000, so we can see what
happens when we have more than 100% of 1 core used by softirq).

Regards,
Damien
OVH vRouter team

On Tue, 2018-06-05 at 13:34 +0000, Damien Clabaut wrote:
> Thank you for your answer, I will test this thoroughly.
> Damien
> On Tue, 2018-06-05 at 14:02 +0100, Quentin Armitage wrote:
> > Damien,
> > 
> > The move from v1.4.5 to v2.0.0 was exactly merging the Beta branch in Master, i.e. I executed
> > git merge beta
> > and pushed the merged branch.
> > 
> > The main changes since 2018-05-11 which are included in v2.0.0 are:
> > Making notifications consistent across SNMP, notify scripts, notify FIFOs and SMTP messages
> > Detecting virtual ip address deletions and transitioning to backup (it will subsequently transition to master unless another instance becomes
> > master)
> > Handling interface deletion, transitioning to fault, and then backup once interface restored.
> > Sundry fixes/improvements
> > 
> > Additions for v2.0.1
> > Handling VMAC deletion and restoring VMACs
> > Handing virtual route deletion either due to the route being explicitly deleted or and interface going down
> > Support for new ip rule options in Linux 4.17
> > Sundry fixes/improvements
> > 
> > Coming soon
> > Handling virtual rule deletions
> > Handling static address, route and rule deletions
> > 
> > Once the handling of all address, route and rule deletions is completed, then keepalived should be able to fully support hot-swapping of NICs.
> > 
> > Quentin
> > 
> > On Tue, 2018-06-05 at 11:46 +0000, Damien Clabaut wrote:
> > > Hello Alexandre,
> > > 
> > > This is great news! 
> > > 
> > > Can you confirm that the move from 1.X to 2.0 is "just" merging the Beta branch to Master ?
> > > 
> > > We have tested Git Beta branch from 2018-05-11, should we expect a lot of change ?
> > > 
> > > Regards,
> > > On Mon, 2018-06-04 at 19:23 +0200, Alexandre Cassen wrote:
> > > > Hello,
> > > > 
> > > > New release, with some updates and extensions.
> > > > 
> > > > This code can be found on www.keepalived.org website or on 
> > > > https://github.com/acassen/keepalived.
> > > > 
> > > > ChangeLog for this release is :
> > > > 
> > > > 2018-06-04 Quentin Armitage <[email protected]>
> > > > 	* keepalived-2.0.1
> > > > 	* Remove '\n' characters from log_message() text.
> > > > 	* Allow IPv6 ip rules to be specified using fwmarks.
> > > > 	* Fix configure generation of keepalived.spec file.
> > > > 	* Stop rebuilding scheduler.o every make.
> > > > 	* Remove ' characters from configure args in keepalived -v
> > > > 	  output.
> > > > 	* Remove duplicate reporting of network namespace in config
> > > > 	  dumps
> > > > 	* Add ${_INSTANCE} config parameter.
> > > > 	* Remove debugging log message.
> > > > 	* Recalculate max_fd used for select if it should reduce.
> > > > 	* Add tracking of virtual routes.
> > > > 	  If a virtual route is deleted, by default to vrrp instance
> > > > 	  will now transition to backup mode, and if it transitions to
> > > > 	  master again the route will be re-added. If an interface on
> > > > 	  which a route is configured is down, then the instance will go
> > > > 	  to fault state, since the route cannot be added.
> > > > 	  This commit also adds a no-track option for routes, which
> > > > 	  means that deletion of the route will not cause the vrrp
> > > > 	  instance to transition to backup.
> > > > 	* Handle interface down at startup with tracked route configured
> > > > 	  on it. If a virtual route which is tracked is configured on an
> > > > 	  interface that is down at startup, then the vrrp instance
> > > > 	  needs to start in fault state.
> > > > 	* Rename netlink_reflect_filter() to netlink_link_filter()
> > > > 	  The function only handles RTM_NEWLINK/RTM_DELLINK messages and
> > > > 	  there are other functions to handle other message types.
> > > > 	* Fix compilation warning.
> > > > 	* Make recreating deleted VMACs work.
> > > > 	* Fix Travis-CI compilation failure and warning.
> > > > 	* Stop duplicate definition and duplicate include in
> > > > 	  vrrp_iproute.c.
> > > > 	* Add new ip rule options for Linux 4.17
> > > > 	  FRA_PROTOCOL, FRA_IP_PROTO, FRA_SPORT_RANGE and
> > > > 	  FRA_DPORT_RANGE have been added in Linux 4.17.
> > > > 
> > > > 
> > > > regs,
> > > > Alexandre
> > > > 
> > > > ------------------------------------------------------------------------------
> > > > Check out the vibrant tech community on one of the world's most
> > > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > > > _______________________________________________
> > > > Keepalived-devel mailing list
> > > > [email protected]
> > > > https://lists.sourceforge.net/lists/listinfo/keepalived-devel
-- 
Damien Clabaut
R&D vRouter
OVH
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot