Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 909155 Details for
Bug 1108538
[RFE] Add support for corosync totem.token_coefficient setting
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Proposed patch
2014-06-16-0001-corosync-Add-token_coefficient-option.patch (text/plain), 9.49 KB, created by
Jan Friesse
on 2014-06-16 14:36:27 UTC
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Jan Friesse
Created:
2014-06-16 14:36:27 UTC
Size:
9.49 KB
patch
obsolete
>From f4bd044450a1ed0532df8613cb2da3403bbc9e32 Mon Sep 17 00:00:00 2001 >From: Jan Friesse <jfriesse@redhat.com> >Date: Mon, 16 Jun 2014 15:54:45 +0200 >Subject: [PATCH 1/2] corosync: Add token_coefficient option > >Add option for set token_coefficient in corosync.conf. >--- > pcs/cluster.py | 2 ++ > pcs/pcs.8 | 4 +++- > pcs/pcs.py | 2 +- > pcs/test/test_cluster.py | 4 ++-- > pcs/usage.py | 7 +++++-- > 5 files changed, 13 insertions(+), 6 deletions(-) > >diff --git a/pcs/cluster.py b/pcs/cluster.py >index 77db135..29e242e 100644 >--- a/pcs/cluster.py >+++ b/pcs/cluster.py >@@ -379,6 +379,8 @@ def corosync_setup(argv,returnConfig=False): > totem_options = "" > if "--token" in utils.pcs_options: > totem_options += "token: " + utils.pcs_options["--token"] + "\n" >+ if "--token_coefficient" in utils.pcs_options: >+ totem_options += "token_coefficient: " + utils.pcs_options["--token_coefficient"] + "\n" > if "--join" in utils.pcs_options: > totem_options += "join: " + utils.pcs_options["--join"] + "\n" > if "--consensus" in utils.pcs_options: >diff --git a/pcs/pcs.8 b/pcs/pcs.8 >index 89f0ab0..74cc3a2 100644 >--- a/pcs/pcs.8 >+++ b/pcs/pcs.8 >@@ -144,13 +144,15 @@ Reset failcount for specified resource on all nodes or only on specified node. T > auth [node] [...] [\fB\-u\fR username] [\fB\-p\fR password] [\fB\-\-local\fR] [\fB\-\-force\fR] > Authenticate pcs to pcsd on nodes specified, or on all nodes configured in corosync.conf if no nodes are specified (authorization tokens are stored in ~/.pcs/tokens or /var/lib/pcsd/tokens for root). By default all nodes are also authenticated to each other, using \fB\-\-local\fR only authenticates the local node (and does not authenticate the remote nodes with each other). Using \fB\-\-force\fR forces re-authentication to occur. > .TP >-setup [\fB\-\-start\fR] [\fB\-\-local\fR] [\fB\-\-enable\fR] \fB\-\-name\fR <cluster name> <node1[,node1-altaddr]> [node2[,node2-altaddr]] [..] [\fB\-\-transport\fR <udpu|udp>] [\fB\-\-rrpmode\fR active|passive] [\fB\-\-addr0\fR <addr/net> [[[\fB\-\-mcast0\fR <address>] [\fB\-\-mcastport0\fR <port>] [\fB\-\-ttl0\fR <ttl>]] | [\fB\-\-broadcast0\fR]] [\fB\-\-addr1\fR <addr/net> [[[\fB\-\-mcast1\fR <address>] [\fB\-\-mcastport1\fR <port>] [\fB\-\-ttl1\fR <ttl>]] | [\fB\-\-broadcast1\fR]]]] [\fB\-\-wait_for_all\fR=<0|1>] [\fB\-\-auto_tie_breaker\fR=<0|1>] [\fB\-\-last_man_standing\fR=<0|1> [\fB\-\-last_man_standing_window\fR=<time in ms>]] [\fB\-\-token\fR <timeout>] [\fB\-\-join\fR <timeout>] [\fB\-\-consensus\fR <timeout>] [\fB\-\-miss_count_const\fR <count>] [\fB\-\-fail_recv_const\fR <failures>] >+setup [\fB\-\-start\fR] [\fB\-\-local\fR] [\fB\-\-enable\fR] \fB\-\-name\fR <cluster name> <node1[,node1-altaddr]> [node2[,node2-altaddr]] [..] [\fB\-\-transport\fR <udpu|udp>] [\fB\-\-rrpmode\fR active|passive] [\fB\-\-addr0\fR <addr/net> [[[\fB\-\-mcast0\fR <address>] [\fB\-\-mcastport0\fR <port>] [\fB\-\-ttl0\fR <ttl>]] | [\fB\-\-broadcast0\fR]] [\fB\-\-addr1\fR <addr/net> [[[\fB\-\-mcast1\fR <address>] [\fB\-\-mcastport1\fR <port>] [\fB\-\-ttl1\fR <ttl>]] | [\fB\-\-broadcast1\fR]]]] [\fB\-\-wait_for_all\fR=<0|1>] [\fB\-\-auto_tie_breaker\fR=<0|1>] [\fB\-\-last_man_standing\fR=<0|1> [\fB\-\-last_man_standing_window\fR=<time in ms>]] [\fB\-\-token\fR <timeout>] [\fB\-\-token_coefficient\fR <timeout>] [\fB\-\-join\fR <timeout>] [\fB\-\-consensus\fR <timeout>] [\fB\-\-miss_count_const\fR <count>] [\fB\-\-fail_recv_const\fR <failures>] > Configure corosync and sync configuration out to listed nodes. \fB\-\-local\fR will only perform changes on the local node, \fB\-\-start\fR will also start the cluster on the specified nodes, \fB\-\-enable\fR will enable corosync and pacemaker on node startup, \fB\-\-transport\fR allows specification of corosync transport (default: udpu). The \fB\-\-wait_for_all\fR, \fB\-\-auto_tie_breaker\fR, \fB\-\-last_man_standing\fR, \fB\-\-last_man_standing_window\fR options are all documented in corosync's votequorum(5) man page. \fB\-\-ipv6\fR will configure corosync to use ipv6 (instead of ipv4) > > \fB\-\-ipv6\fR will configure corosync to use ipv6 (instead of ipv4) > > \fB\-\-token\fR <timeout> sets time in milliseconds until a token loss is declared after not receiving a token (default 1000 ms) > >+\fB\-\-token_coefficient\fR <timeout> sets time in milliseconds used for clusters with at least 3 nodes as a coefficient for real token timeout calculation (token + (number_of_nodes - 2) * token_coefficient) (default 650 ms) >+ > \fB\-\-join\fR <timeout> sets time in milliseconds to wait for join mesages (default 50 ms) > > \fB\-\-consensus\fR <timeout> sets time in milliseconds to wait for consensus to be achieved before starting a new round of membership configuration (default 1200 ms) >diff --git a/pcs/pcs.py b/pcs/pcs.py >index 146e8b4..80f2704 100755 >--- a/pcs/pcs.py >+++ b/pcs/pcs.py >@@ -52,7 +52,7 @@ def main(argv): > pcs_short_options_with_args.append(prev_char) > prev_char = c > >- pcs_long_options = ["local","start","all","clone","master","force","corosync_conf=", "defaults","debug","version","help","fullhelp","off","from=","to=", "name=", "wait", "group=","groups","full","enable","node=","nodesc","transport=", "addr0=","addr1=","bcast0=","bcast1=","mcast0=","mcast1=","mcastport0=","mcastport1=","ttl0=","ttl1=","rrpmode=", "broadcast0", "broadcast1","wait_for_all=","auto_tie_breaker=","last_man_standing=", "last_man_standing_window=","no-default-ops","ipv6","token=", "consensus=", "miss_count_const=", "fail_recv_const=","join=", "disabled"] >+ pcs_long_options = ["local","start","all","clone","master","force","corosync_conf=", "defaults","debug","version","help","fullhelp","off","from=","to=", "name=", "wait", "group=","groups","full","enable","node=","nodesc","transport=", "addr0=","addr1=","bcast0=","bcast1=","mcast0=","mcast1=","mcastport0=","mcastport1=","ttl0=","ttl1=","rrpmode=", "broadcast0", "broadcast1","wait_for_all=","auto_tie_breaker=","last_man_standing=", "last_man_standing_window=","no-default-ops","ipv6","token=", "token_coefficient=", "consensus=", "miss_count_const=", "fail_recv_const=","join=", "disabled"] > # pull out negative number arguments and add them back after getopt > prev_arg = "" > for arg in argv: >diff --git a/pcs/test/test_cluster.py b/pcs/test/test_cluster.py >index e3557cc..dea8380 100644 >--- a/pcs/test/test_cluster.py >+++ b/pcs/test/test_cluster.py >@@ -246,12 +246,12 @@ class ClusterTest(unittest.TestCase): > o,r = pcs("cluster setup --local --name test99 rh7-1 rh7-2") > > def testTotemOptions(self): >- o,r = pcs("cluster setup --force --local --corosync_conf=corosync.conf.tmp --name test99 rh7-1 rh7-2 --token 20000 --join 20001 --consensus 20002 --miss_count_const 20003 --fail_recv_const 20004") >+ o,r = pcs("cluster setup --force --local --corosync_conf=corosync.conf.tmp --name test99 rh7-1 rh7-2 --token 20000 --join 20001 --consensus 20002 --miss_count_const 20003 --fail_recv_const 20004 --token_coefficient 20005") > ac(o,"") > assert r == 0 > with open("corosync.conf.tmp") as f: > data = f.read() >- ac(data,'totem {\nversion: 2\nsecauth: off\ncluster_name: test99\ntransport: udpu\ntoken: 20000\njoin: 20001\nconsensus: 20002\nmiss_count_const: 20003\nfail_recv_const: 20004\n}\n\nnodelist {\n node {\n ring0_addr: rh7-1\n nodeid: 1\n }\n node {\n ring0_addr: rh7-2\n nodeid: 2\n }\n}\n\nquorum {\nprovider: corosync_votequorum\ntwo_node: 1\n}\n\nlogging {\nto_syslog: yes\n}\n') >+ ac(data,'totem {\nversion: 2\nsecauth: off\ncluster_name: test99\ntransport: udpu\ntoken: 20000\ntoken_coefficient: 20005\njoin: 20001\nconsensus: 20002\nmiss_count_const: 20003\nfail_recv_const: 20004\n}\n\nnodelist {\n node {\n ring0_addr: rh7-1\n nodeid: 1\n }\n node {\n ring0_addr: rh7-2\n nodeid: 2\n }\n}\n\nquorum {\nprovider: corosync_votequorum\ntwo_node: 1\n}\n\nlogging {\nto_syslog: yes\n}\n') > > def testUIDGID(self): > if utils.is_rhel6(): >diff --git a/pcs/usage.py b/pcs/usage.py >index 2785531..c4e4c78 100644 >--- a/pcs/usage.py >+++ b/pcs/usage.py >@@ -439,8 +439,8 @@ Commands: > [--ttl1 <ttl>]] | [--broadcast1]]]] > [--wait_for_all=<0|1>] [--auto_tie_breaker=<0|1>] > [--last_man_standing=<0|1> [--last_man_standing_window=<time in ms>]] >- [--ipv6] [--token <timeout>] [--join <timeout>] >- [--consensus <timeout>] [--miss_count_const <count>] >+ [--ipv6] [--token <timeout>] [--token_coefficient <timeout>] >+ [--join <timeout>] [--consensus <timeout>] [--miss_count_const <count>] > [--fail_recv_const <failures>] > Configure corosync and sync configuration out to listed nodes > --local will only perform changes on the local node >@@ -453,6 +453,9 @@ Commands: > --ipv6 will configure corosync to use ipv6 (instead of ipv4) > --token <timeout> sets time in milliseconds until a token loss is > declared after not receiving a token (default 1000 ms) >+ --token_coefficient <timeout> sets time in milliseconds used for clusters >+ with at least 3 nodes as a coefficient for real token timeout calculation >+ (token + (number_of_nodes - 2) * token_coefficient) (default 650 ms) > --join <timeout> sets time in milliseconds to wait for join mesages > (default 50 ms) > --consensus <timeout> sets time in milliseconds to wait for consensus >-- >1.8.3.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1108538
: 909155 |
936590