[OpenSIPS-Devel] [OpenSIPS/opensips] 5b7bec: clusterer: add capabilities

rvlad-patrascu vladp at opensips.org
Fri Jan 12 14:32:11 EST 2018


  Branch: refs/heads/feature/clustering-enhancements
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 5b7bec8e9a4c3d1fdc199899cf0d297eea8c67e0
      https://github.com/OpenSIPS/opensips/commit/5b7bec8e9a4c3d1fdc199899cf0d297eea8c67e0
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M bin_interface.c
    M bin_interface.h
    M modules/clusterer/api.h
    M modules/clusterer/clusterer.c
    M modules/clusterer/clusterer.h
    M modules/clusterer/clusterer_mod.c
    M modules/clusterer/node_info.c
    M modules/clusterer/node_info.h
    M modules/dialog/dialog.c
    M modules/dialog/dlg_repl_profile.h
    M modules/dialog/dlg_replication.c
    M modules/dialog/dlg_replication.h
    M modules/drouting/dr_replication.c
    M modules/drouting/dr_replication.h
    M modules/drouting/drouting.c
    M modules/load_balancer/lb_replication.c
    M modules/load_balancer/lb_replication.h
    M modules/load_balancer/load_balancer.c
    M modules/ratelimit/ratelimit_helper.c
    M modules/usrloc/ul_mod.c
    M modules/usrloc/ureplication.c
    M modules/usrloc/ureplication.h

  Log Message:
  -----------
  clusterer: add capabilities

Modules now register "capabilities" to clusterer. Instead of a single callback,
a module now registers callbacks for each capability. Also, nodes discover the
capabilities of all the other instances in the cluster.


  Commit: cfa7e31a7d9ce8ee9b9e89e8189dea83d99198b0
      https://github.com/OpenSIPS/opensips/commit/cfa7e31a7d9ce8ee9b9e89e8189dea83d99198b0
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/clusterer/api.h
    M modules/clusterer/clusterer.h
    M modules/clusterer/clusterer_mod.c
    M modules/clusterer/node_info.c
    M modules/clusterer/node_info.h

  Log Message:
  -----------
  clusterer: clean up some leftover code


  Commit: 4ec8d9ba301f02f092d0781b7def9e93b1e6772a
      https://github.com/OpenSIPS/opensips/commit/4ec8d9ba301f02f092d0781b7def9e93b1e6772a
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/clusterer/clusterer.c

  Log Message:
  -----------
  clusterer: fix wrong capabilities for some clusterer messages


  Commit: 3264219307be8901fd5ed84d56af63ac67421fa3
      https://github.com/OpenSIPS/opensips/commit/3264219307be8901fd5ed84d56af63ac67421fa3
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M bin_interface.c
    M bin_interface.h
    M modules/clusterer/README
    M modules/clusterer/api.h
    M modules/clusterer/clusterer.c
    M modules/clusterer/clusterer.h
    M modules/clusterer/clusterer_mod.c
    M modules/clusterer/doc/clusterer_admin.xml
    M modules/clusterer/node_info.h
    A modules/clusterer/sync.c
    A modules/clusterer/sync.h
    M modules/dialog/dlg_repl_profile.h
    M modules/dialog/dlg_replication.c
    M modules/dialog/dlg_replication.h
    M modules/drouting/dr_replication.c
    M modules/drouting/dr_replication.h
    M modules/load_balancer/lb_replication.h
    M modules/load_balancer/load_balancer.c
    M modules/ratelimit/ratelimit_helper.c
    M modules/usrloc/ureplication.c
    M modules/usrloc/ureplication.h

  Log Message:
  -----------
  clusterer: add mechanism to synchronize data for a capability

Implemented through separate API functions which allow a node to:
* request to sync with another node
* build and send BIN packets with delimited chunks of data
* iterate through data chunks from the received sync packets

Also, regular BIN packets received for the given capability are buffered
until syncing is complete.


  Commit: 9bf5efc0e911bdd8933b759f7e036892b563396d
      https://github.com/OpenSIPS/opensips/commit/9bf5efc0e911bdd8933b759f7e036892b563396d
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/clusterer/clusterer.c
    M modules/clusterer/clusterer.h
    M modules/clusterer/clusterer_mod.c
    M modules/clusterer/node_info.c
    M modules/clusterer/sync.c

  Log Message:
  -----------
  clusterer: load info from DB at module init


  Commit: 00172f42eef045e2f937f0961ca198824b2cd34d
      https://github.com/OpenSIPS/opensips/commit/00172f42eef045e2f937f0961ca198824b2cd34d
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/clusterer/clusterer.c

  Log Message:
  -----------
  clusterer: fix node availability events


  Commit: 006eea599bf5bb82aee9fa43f303de68b7db7f16
      https://github.com/OpenSIPS/opensips/commit/006eea599bf5bb82aee9fa43f303de68b7db7f16
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/usrloc/ul_mi.c
    M modules/usrloc/ul_mi.h
    M modules/usrloc/ul_mod.c
    M modules/usrloc/ureplication.c
    M modules/usrloc/ureplication.h

  Log Message:
  -----------
  usrloc: sync contacts from another node in the replication cluster

Contacts are synchronized at startup or through an MI command.
A valid source node is established by the clusterer module.


  Commit: d8df847802175b43c2bed966df58062c9ecf87ed
      https://github.com/OpenSIPS/opensips/commit/d8df847802175b43c2bed966df58062c9ecf87ed
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/clusterer/clusterer.c

  Log Message:
  -----------
  clusterer: fix deadlock when receiving a BIN packet on disabled node


  Commit: 5e461c66868a52cd808a24ca620fe013c8aec4eb
      https://github.com/OpenSIPS/opensips/commit/5e461c66868a52cd808a24ca620fe013c8aec4eb
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/clusterer/clusterer.c

  Log Message:
  -----------
  clusterer: advertise links as directed in topology updates

Links are now considered as bidirectional in each node's internal
topology representation. This fixes some routing loops and inconsistencies
during the convergence of the overall cluster topology.


  Commit: a24695a6447b8d0fb264687ca674f69d91d9e3dd
      https://github.com/OpenSIPS/opensips/commit/a24695a6447b8d0fb264687ca674f69d91d9e3dd
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/clusterer/clusterer.c

  Log Message:
  -----------
  clusterer: faster pinging restart

Restart own pinging immediately, instead of on timer, when receiving a ping
from a failed node.


  Commit: d6ee4c9a92cc5aa19af6ffffbaa44fe9c05d663d
      https://github.com/OpenSIPS/opensips/commit/d6ee4c9a92cc5aa19af6ffffbaa44fe9c05d663d
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/clusterer/api.h
    M modules/clusterer/clusterer_mod.c
    M modules/clusterer/node_info.c
    M modules/clusterer/node_info.h
    M modules/usrloc/dlist.c

  Log Message:
  -----------
  usrloc: partition NAT pinging across the cluster when replicating contacts

The node determines its pinging slice by performing an
AOR hash modulo current_no_cluster_nodes.


  Commit: 2f7a9555ac6d1da1ebf934c2b65e2eac786e5a12
      https://github.com/OpenSIPS/opensips/commit/2f7a9555ac6d1da1ebf934c2b65e2eac786e5a12
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/clusterer/api.h
    M modules/clusterer/clusterer.c
    M modules/clusterer/clusterer.h
    M modules/dialog/README
    M modules/dialog/dialog.c
    M modules/dialog/dlg_repl_profile.h
    M modules/dialog/doc/dialog_admin.xml
    M modules/drouting/drouting.c
    M modules/load_balancer/load_balancer.c
    M modules/ratelimit/README
    M modules/ratelimit/doc/ratelimit_admin.xml
    M modules/ratelimit/ratelimit.c
    M modules/ratelimit/ratelimit_helper.c
    M modules/usrloc/ul_mod.c

  Log Message:
  -----------
  clusterer: always check address of received BIN messages

Always check if the IP of the received BIN packets belongs to one of the nodes
in the cluster. Therefore also remove the "auth_check" module parameters for the
modules registered to clusterer.


  Commit: f06f3aa25371ff43d9004a3f87b6553fee9fc303
      https://github.com/OpenSIPS/opensips/commit/f06f3aa25371ff43d9004a3f87b6553fee9fc303
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/dialog/README
    M modules/dialog/dialog.c
    M modules/dialog/dlg_handlers.c
    M modules/dialog/dlg_hash.c
    M modules/dialog/dlg_profile.c
    M modules/dialog/dlg_profile.h
    M modules/dialog/dlg_repl_profile.h
    M modules/dialog/dlg_replication.c
    M modules/dialog/dlg_replication.h
    M modules/dialog/doc/dialog_admin.xml

  Log Message:
  -----------
  dialog: simplify replication related module parameters

Replaced the dialog and profile replication module parameters (source and
destination cluster ids) with a single one for each of these capabilites.

Also update and improve docs regarding replication.


  Commit: 71c2353a6fb6b91dbf451c3930d334897509ff6f
      https://github.com/OpenSIPS/opensips/commit/71c2353a6fb6b91dbf451c3930d334897509ff6f
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/usrloc/README
    M modules/usrloc/dlist.c
    M modules/usrloc/doc/usrloc_admin.xml
    M modules/usrloc/ucontact.c
    M modules/usrloc/udomain.c
    M modules/usrloc/ul_mi.c
    M modules/usrloc/ul_mod.c
    M modules/usrloc/urecord.c
    M modules/usrloc/ureplication.c
    M modules/usrloc/ureplication.h

  Log Message:
  -----------
  usrloc: reduce the two replication module params into a single one


  Commit: 1d8fb81565ec57cc6e63bb60e97714d5841c9efe
      https://github.com/OpenSIPS/opensips/commit/1d8fb81565ec57cc6e63bb60e97714d5841c9efe
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/ratelimit/README
    M modules/ratelimit/doc/ratelimit_admin.xml
    M modules/ratelimit/ratelimit.c
    M modules/ratelimit/ratelimit.h
    M modules/ratelimit/ratelimit_helper.c

  Log Message:
  -----------
  ratelimit: reduce the two replication module params into a single one


  Commit: bb6e4f4d6a0589ab27c5fc646687f757308ed7d9
      https://github.com/OpenSIPS/opensips/commit/bb6e4f4d6a0589ab27c5fc646687f757308ed7d9
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/load_balancer/README
    M modules/load_balancer/doc/load_balancer_admin.xml
    M modules/load_balancer/lb_data.c
    M modules/load_balancer/lb_replication.c
    M modules/load_balancer/lb_replication.h
    M modules/load_balancer/load_balancer.c

  Log Message:
  -----------
  load_balancer: reduce the two replication module params into a single one


  Commit: 86003da2d0078cd426b441b86e328e571e096838
      https://github.com/OpenSIPS/opensips/commit/86003da2d0078cd426b441b86e328e571e096838
  Author: rvlad-patrascu <vladp at opensips.org>
  Date:   2018-01-12 (Fri, 12 Jan 2018)

  Changed paths:
    M modules/drouting/README
    M modules/drouting/doc/drouting_admin.xml
    M modules/drouting/dr_replication.c
    M modules/drouting/dr_replication.h
    M modules/drouting/drouting.c

  Log Message:
  -----------
  drouting: reduce the two replication module params into a single one


Compare: https://github.com/OpenSIPS/opensips/compare/5b7bec8e9a4c^...86003da2d007


More information about the Devel mailing list