[acassen/keepalived] 846d42: Optimise handling of config_id in parser

pqarmitage <[email protected]> Mon, 22 May 2017 07:31:21 -0700
Newsgroups gmane.linux.keepalived.devel
Message-ID <5922f6395e131_21b13fdf1cb71c3c1474be@hookshot-fe1-cp1-prd.iad.github.net.mail>
  Branch: refs/heads/master
  Home:   https://github.com/acassen/keepalived
  Commit: 846d42a587f4c25f2a94b867a6331d46644e7344
      https://github.com/acassen/keepalived/commit/846d42a587f4c25f2a94b867a6331d46644e7344
  Author: Quentin Armitage <[email protected]>
  Date:   2017-05-21 (Sun, 21 May 2017)

  Changed paths:
    M lib/parser.c

  Log Message:
  -----------
  Optimise handling of config_id in parser

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: a6978adf02360692ae1905537dafbab9d66a3984
      https://github.com/acassen/keepalived/commit/a6978adf02360692ae1905537dafbab9d66a3984
  Author: Quentin Armitage <[email protected]>
  Date:   2017-05-21 (Sun, 21 May 2017)

  Changed paths:
    M doc/keepalived.conf.SYNOPSIS
    M doc/man/man5/keepalived.conf.5
    M keepalived/vrrp/vrrp.c

  Log Message:
  -----------
  Fix some typos

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 7947247fc90f5b9706696ef622b59e9729f4cade
      https://github.com/acassen/keepalived/commit/7947247fc90f5b9706696ef622b59e9729f4cade
  Author: Quentin Armitage <[email protected]>
  Date:   2017-05-21 (Sun, 21 May 2017)

  Changed paths:
    M keepalived/core/keepalived_netlink.c
    M keepalived/core/main.c
    M lib/scheduler.c
    M lib/scheduler.h

  Log Message:
  -----------
  prog_type variable doesn't make sense when building a DEBUG version

The DEBUG version runs everything in a single process, and to the
prog_type variable is meaningless in this case. This commit excludes
the prog_type variable by conditional compilation when building a
DEBUG version.

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: cc674762bfa9a5fcc3e1c5c4d3462529558feebb
      https://github.com/acassen/keepalived/commit/cc674762bfa9a5fcc3e1c5c4d3462529558feebb
  Author: Quentin Armitage <[email protected]>
  Date:   2017-05-21 (Sun, 21 May 2017)

  Changed paths:
    M keepalived/include/vrrp_ipaddress.h
    M keepalived/vrrp/vrrp_ipaddress.c

  Log Message:
  -----------
  Add home, -nodad, mngtmpaddr, noprefixroute, and autojoin address flags

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 9d6e7a8c45c84bc9673887e00c51854dbb714d2f
      https://github.com/acassen/keepalived/commit/9d6e7a8c45c84bc9673887e00c51854dbb714d2f
  Author: Quentin Armitage <[email protected]>
  Date:   2017-05-21 (Sun, 21 May 2017)

  Changed paths:
    M doc/keepalived.conf.SYNOPSIS
    M doc/man/man5/keepalived.conf.5

  Log Message:
  -----------
  Update documentation for commit cc67476

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 04905cdcb7d2b2fe4aaee9eabdf7f6945726f3c4
      https://github.com/acassen/keepalived/commit/04905cdcb7d2b2fe4aaee9eabdf7f6945726f3c4
  Author: Quentin Armitage <[email protected]>
  Date:   2017-05-22 (Mon, 22 May 2017)

  Changed paths:
    M doc/keepalived.conf.SYNOPSIS
    M doc/man/man5/keepalived.conf.5
    A doc/samples/sample_notify_fifo.sh
    M keepalived/core/global_data.c
    M keepalived/core/global_parser.c
    M keepalived/include/global_data.h
    M keepalived/include/vrrp.h
    M keepalived/include/vrrp_notify.h
    M keepalived/vrrp/vrrp.c
    M keepalived/vrrp/vrrp_daemon.c
    M keepalived/vrrp/vrrp_notify.c
    M lib/notify.c
    M lib/notify.h

  Log Message:
  -----------
  Add notify FIFO

Pull requests #568 and #587 and issue #584 have all identified that if
notify scripts are run in close succession, then order if processing of
those scripts is indeterminate, and this is causing systems that are
monitoring the state of vrrp instances to have the wrong state.

There have been various suggestions about how this should be resolved,
principally along the lines that the notify scripts should be run
synchronously, i.e. a notify script should not be run until the previous
notify script completed. While this would work, it adds some overhead to
keepalived, which currently does not monitor the exit status of notify
scripts.

There is a further issue with notify scripts that if a large number of
events occur in rapid succession (e.g. due to an interface flapping), this
can cause a large number of child processes to be created very rapidly.

This commit adds an alternative method for external processes receiving
notification of events. Instead of forking a script for each event, keepalived
will write to a named pipe. An external process can then read the pipe to
receive notification of events, and process them appropriately. This is
guaranteed to deliver events in the correct order. It also has the benefit
that there isn't the overhead of forking a chold process for each event.

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 0fd7b938a945dbeba502bb86ed2ddfb81206d047
      https://github.com/acassen/keepalived/commit/0fd7b938a945dbeba502bb86ed2ddfb81206d047
  Author: pqarmitage <[email protected]>
  Date:   2017-05-22 (Mon, 22 May 2017)

  Changed paths:
    M doc/keepalived.conf.SYNOPSIS
    M doc/man/man5/keepalived.conf.5
    A doc/samples/sample_notify_fifo.sh
    M keepalived/core/global_data.c
    M keepalived/core/global_parser.c
    M keepalived/core/keepalived_netlink.c
    M keepalived/core/main.c
    M keepalived/include/global_data.h
    M keepalived/include/vrrp.h
    M keepalived/include/vrrp_ipaddress.h
    M keepalived/include/vrrp_notify.h
    M keepalived/vrrp/vrrp.c
    M keepalived/vrrp/vrrp_daemon.c
    M keepalived/vrrp/vrrp_ipaddress.c
    M keepalived/vrrp/vrrp_notify.c
    M lib/notify.c
    M lib/notify.h
    M lib/parser.c
    M lib/scheduler.c
    M lib/scheduler.h

  Log Message:
  -----------
  Merge pull request #589 from pqarmitage/fixes

Add notify FIFO, and some minor changes


Compare: https://github.com/acassen/keepalived/compare/88967ca0271b...0fd7b938a945

------------------------------------------------------------------------------
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