[acassen/keepalived] 560654: ipvs: tcp check supports retry

Alexandre Cassen <[email protected]>
Newsgroups gmane.linux.keepalived.devel
Message-ID <55d1e0e026c30_69e23f8c3e3372a032514@hookshot-fe1-cp1-prd.iad.github.net.mail>
  Branch: refs/heads/master
  Home:   https://github.com/acassen/keepalived
  Commit: 560654294a28c5f14b4da077bfa4e5b6040dd89d
      https://github.com/acassen/keepalived/commit/560654294a28c5f14b4da077bfa4e5b6040dd89d
  Author: Alexey Andriyanov <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M doc/man/man5/keepalived.conf.5
    M keepalived/check/check_tcp.c
    M keepalived/include/check_tcp.h

  Log Message:
  -----------
  ipvs: tcp check supports retry

New tcp check config option "retry" sets the check retry counter.
If tcp check fails on an alive server, keepalived will perform
another checks until n_retry counter reaches zero, or until the check
succeeds. The delay between retry checks is configured by the
"delay_before_retry" config option.

The default value is 1 retry after 1 second.

This is the same feature that already exists in HTTP checker
(config option "nb_get_retry").


  Commit: a1a720170bbd6449c99b2da0b475aa560aeb0ae2
      https://github.com/acassen/keepalived/commit/a1a720170bbd6449c99b2da0b475aa560aeb0ae2
  Author: Alexey Andriyanov <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M keepalived/check/check_http.c
    M keepalived/check/check_ssl.c
    M keepalived/include/check_http.h

  Log Message:
  -----------
  check_http: retry logic is refined

Retry on every error, including timeout and connection
error, but only when RS is up.

This is needed to reduce rs flaps: we shut the server down
only after nb_get_retry failed checks.

Also, do not wait for delay_loop after a successfull check to
bring the server UP.


  Commit: b138665d0154ea0267b4fcf8c89355cda01269e5
      https://github.com/acassen/keepalived/commit/b138665d0154ea0267b4fcf8c89355cda01269e5
  Author: Alexey Andriyanov <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M keepalived/check/ipvswrapper.c
    M keepalived/check/ipwrapper.c
    M keepalived/include/ipwrapper.h

  Log Message:
  -----------
  ipvs: respect the error code of the ipvs_talk

Previously, if the IPVS reflector was unable to perform
its task, it reported error through syslog and ignored it.

This behavior leads to inconsistancies with quorum-handler:
it is called with UP even if no RS were added into the IPVS.
This could take place, for example, when there is a limit of
opened filehandles and keepalived was unable to open netlink
socket (it is opened on every call to the ipvs_talk).

Now the check is not marked as OK unless IPVS reflector reports
OK. Following successfull check will try to add an RS again.

The special case errors "ENOENT on remove" and "EEXIST on add"
are treated with OK result code.


  Commit: 96c36a9e2edf87893e48456b7fa0d7ea853b2ed3
      https://github.com/acassen/keepalived/commit/96c36a9e2edf87893e48456b7fa0d7ea853b2ed3
  Author: Alexey Andriyanov <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M keepalived/check/ipvswrapper.c
    M keepalived/check/ipwrapper.c
    M keepalived/include/ipvswrapper.h

  Log Message:
  -----------
  ipvs: remove unused resulting error code

These functions are turned from int into void:
ipvs_group_sync_entry, ipvs_group_remove_entry, ipvs_syncd_cmd.


  Commit: 05a86b6cd478338851e62678fe52fcf9021677c0
      https://github.com/acassen/keepalived/commit/05a86b6cd478338851e62678fe52fcf9021677c0
  Author: Alexey Andriyanov <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M keepalived/check/check_http.c
    M keepalived/check/check_ssl.c
    M keepalived/include/check_http.h

  Log Message:
  -----------
  check_http: reduce cpu usage

	do MD5 calculation only when configured to do so


  Commit: 28c392ac5c346ed81381188a0d02afbcf0edf8ab
      https://github.com/acassen/keepalived/commit/28c392ac5c346ed81381188a0d02afbcf0edf8ab
  Author: Alexey Andriyanov <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M lib/timer.c
    M lib/timer.h

  Log Message:
  -----------
  timer: reduce cpu usage

timer_cmp is called too often and eats much of cpu cycles. Make the comparison more effective.
Increase code re-using in monotonic_gettimeofday().
Use timer_reset_lazy() where possible to omit the excess memset() call.


  Commit: 084bbea7f9320d69e39250f078ce2255e9d73861
      https://github.com/acassen/keepalived/commit/084bbea7f9320d69e39250f078ce2255e9d73861
  Author: Alexey Andriyanov <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M lib/scheduler.c

  Log Message:
  -----------
  scheduler: reduce CPU usage

Since threads are sorted by t->sands, we could break the cycle
when not expired thread found.


  Commit: 8f4ebbfca23b4366466c2fc5037cc3665dacf7d1
      https://github.com/acassen/keepalived/commit/8f4ebbfca23b4366466c2fc5037cc3665dacf7d1
  Author: Alexey Andriyanov <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M keepalived/check/check_misc.c
    M keepalived/check/check_snmp.c
    M keepalived/check/ipwrapper.c
    M keepalived/include/check_data.h
    M keepalived/include/ipwrapper.h

  Log Message:
  -----------
  ipvs: rs weight changes properly on reload

Do not remove and re-add a real_server when reloading config
if its weight has changed. Just edit the existing ipvs rs entry.


  Commit: 1ba7180bce855445175d9a3cc1a7644b6042aaa9
      https://github.com/acassen/keepalived/commit/1ba7180bce855445175d9a3cc1a7644b6042aaa9
  Author: Alexey Andriyanov <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M doc/man/man5/keepalived.conf.5
    M keepalived/check/check_data.c
    M keepalived/check/check_parser.c
    M keepalived/check/ipvswrapper.c
    M keepalived/include/check_data.h

  Log Message:
  -----------
  ipvs: new service option "ip_family"

This option explicitly specifies the address family of a
fwmark IPVS service entry. Previously it was determined by
the AF of the first real server. This logic is kept as a fallback
when the "ip_family" option is missing.

Also, now it is possible to create two different services
for v4 and v6 with the same fwmark number.


  Commit: 90ea67d2edcb85d494671da46b45130e2a3006f2
      https://github.com/acassen/keepalived/commit/90ea67d2edcb85d494671da46b45130e2a3006f2
  Author: Alexandre Cassen <[email protected]>
  Date:   2015-08-17 (Mon, 17 Aug 2015)

  Changed paths:
    M doc/man/man5/keepalived.conf.5
    M keepalived/check/check_data.c
    M keepalived/check/check_http.c
    M keepalived/check/check_misc.c
    M keepalived/check/check_parser.c
    M keepalived/check/check_snmp.c
    M keepalived/check/check_ssl.c
    M keepalived/check/check_tcp.c
    M keepalived/check/ipvswrapper.c
    M keepalived/check/ipwrapper.c
    M keepalived/include/check_data.h
    M keepalived/include/check_http.h
    M keepalived/include/check_tcp.h
    M keepalived/include/ipvswrapper.h
    M keepalived/include/ipwrapper.h
    M lib/scheduler.c
    M lib/timer.c
    M lib/timer.h

  Log Message:
  -----------
  Merge pull request #181 from andriyanov/ya_build_3

changes to ipvs checkers


Compare: https://github.com/acassen/keepalived/compare/cbb4c0a3257d...90ea67d2edcb

------------------------------------------------------------------------------

_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.