Re-synced to upstream sources
This commit is contained in:
parent
5fba2b6074
commit
c1e59b16a3
1
.gitignore
vendored
1
.gitignore
vendored
@ -22,3 +22,4 @@
|
||||
/pcs-0.9.48.tar.gz
|
||||
/pcs-withgems-0.9.102.tar.gz
|
||||
/pcs-withgems-0.9.115.tar.gz
|
||||
/pcs-withgems-0.9.139.tar.gz
|
||||
|
@ -1,135 +0,0 @@
|
||||
From b18b74ecde9a96761df2a8e8f8d76b8c1642d161 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Feist <cfeist@redhat.com>
|
||||
Date: Wed, 19 Mar 2014 16:30:29 -0500
|
||||
Subject: [PATCH] Add support for setting certain corosync totem options
|
||||
|
||||
---
|
||||
pcs/cluster.py | 13 +++++++++++++
|
||||
pcs/corosync.conf.fedora.template | 1 +
|
||||
pcs/pcs.8 | 15 ++++++++++++++-
|
||||
pcs/pcs.py | 2 +-
|
||||
pcs/test/test_cluster.py | 8 ++++++++
|
||||
pcs/usage.py | 17 ++++++++++++++++-
|
||||
6 files changed, 53 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/pcs/cluster.py b/pcs/cluster.py
|
||||
index ec0e6a1..bf7acda 100644
|
||||
--- a/pcs/cluster.py
|
||||
+++ b/pcs/cluster.py
|
||||
@@ -371,6 +371,18 @@ def corosync_setup(argv,returnConfig=False):
|
||||
ip_version = ""
|
||||
|
||||
|
||||
+ totem_options = ""
|
||||
+ if "--token" in utils.pcs_options:
|
||||
+ totem_options += "token: " + utils.pcs_options["--token"] + "\n"
|
||||
+ if "--join" in utils.pcs_options:
|
||||
+ totem_options += "join: " + utils.pcs_options["--join"] + "\n"
|
||||
+ if "--consensus" in utils.pcs_options:
|
||||
+ totem_options += "consensus: " + utils.pcs_options["--consensus"] + "\n"
|
||||
+ if "--miss_count_const" in utils.pcs_options:
|
||||
+ totem_options += "miss_count_const: " + utils.pcs_options["--miss_count_const"] + "\n"
|
||||
+ if "--fail_recv_const" in utils.pcs_options:
|
||||
+ totem_options += "fail_recv_const: " + utils.pcs_options["--fail_recv_const"] + "\n"
|
||||
+
|
||||
corosync_config = corosync_config.replace("@@nodes", new_nodes_section)
|
||||
corosync_config = corosync_config.replace("@@cluster_name",cluster_name)
|
||||
corosync_config = corosync_config.replace("@@quorum_options\n",quorum_options)
|
||||
@@ -378,6 +390,7 @@ def corosync_setup(argv,returnConfig=False):
|
||||
corosync_config = corosync_config.replace("@@transport",transport)
|
||||
corosync_config = corosync_config.replace("@@interfaceandrrpmode\n",ir)
|
||||
corosync_config = corosync_config.replace("@@ip_version\n",ip_version)
|
||||
+ corosync_config = corosync_config.replace("@@totem_options\n",totem_options)
|
||||
if returnConfig:
|
||||
return corosync_config
|
||||
|
||||
diff --git a/pcs/corosync.conf.fedora.template b/pcs/corosync.conf.fedora.template
|
||||
index 82413c1..4d1227c 100644
|
||||
--- a/pcs/corosync.conf.fedora.template
|
||||
+++ b/pcs/corosync.conf.fedora.template
|
||||
@@ -3,6 +3,7 @@ version: 2
|
||||
secauth: off
|
||||
cluster_name: @@cluster_name
|
||||
transport: @@transport
|
||||
+@@totem_options
|
||||
@@interfaceandrrpmode
|
||||
@@ip_version
|
||||
}
|
||||
diff --git a/pcs/pcs.8 b/pcs/pcs.8
|
||||
index 7f51f61..0eeadb8 100644
|
||||
--- a/pcs/pcs.8
|
||||
+++ b/pcs/pcs.8
|
||||
@@ -144,9 +144,22 @@ Reset failcount for specified resource on all nodes or only on specified node. T
|
||||
auth [node] [...] [\-u username] [\-p password] [\-\-local] [\-\-force]
|
||||
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 --local only authenticates the local node (and does not authenticate the remote nodes with each other). Using --force forces re-authentication to occur.
|
||||
.TP
|
||||
-setup [\-\-start] [\-\-local] [\-\-enable] \-\-name\fR <cluster name> <node1[,node1-altaddr]> [node2[,node2-altaddr]] [..] [--transport <udpu|udp>] [--rrpmode active|passive] [--addr0 <addr/net> [[[--mcast0 <address>] [--mcastport0 <port>] [--ttl0 <ttl>]] | [--broadcast0]] [--addr1 <addr/net> [[[--mcast1 <address>] [--mcastport1 <port>] [--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>]]
|
||||
+setup [\-\-start] [\-\-local] [\-\-enable] \-\-name\fR <cluster name> <node1[,node1-altaddr]> [node2[,node2-altaddr]] [..] [--transport <udpu|udp>] [--rrpmode active|passive] [--addr0 <addr/net> [[[--mcast0 <address>] [--mcastport0 <port>] [--ttl0 <ttl>]] | [--broadcast0]] [--addr1 <addr/net> [[[--mcast1 <address>] [--mcastport1 <port>] [--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>]] [--token <timeout>] [--join <timeout>] [--consensus <timeout>] [--miss_count_const <count>] [--fail_recv_const <failures>]
|
||||
Configure corosync and sync configuration out to listed nodes. \-\-local\fR will only perform changes on the local node, \-\-start\fR will also start the cluster on the specified nodes, \-\-enable\fR will enable corosync and pacemaker on node startup, --transport allows specification of corosync transport (default: udpu). The --wait_for_all, --auto_tie_breaker, --last_man_standing, --last_man_standing_window options are all documented in corosync's votequorum(5) man page. --ipv6 will configure corosync to use ipv6 (instead of ipv4)
|
||||
|
||||
+--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)
|
||||
+
|
||||
+--join <timeout> sets time in milliseconds to wait for join mesages (default 50 ms)
|
||||
+
|
||||
+--consensus <timeout> sets time in milliseconds to wait for consensus to be achieved before starting a new round of membership configuration (default 1200 ms)
|
||||
+
|
||||
+--miss_count_const <count> sets the maximum number of times on receipt of a token a message is checked for retransmission before a retransmission occurs (default 5 messages)
|
||||
+
|
||||
+--fail_recv_const <failures> specifies how many rotations of the token without receiving any messages when messages should be received may occur before a new configuration is formed (default 2500 failures)
|
||||
+
|
||||
+
|
||||
Configuring Redundant Ring Protocol (RRP)
|
||||
|
||||
When using udpu (the default) specifying nodes, specify the ring 0
|
||||
diff --git a/pcs/pcs.py b/pcs/pcs.py
|
||||
index 0d3eecc..22504c3 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"]
|
||||
+ 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="]
|
||||
# pull out negative number arguments and add them back after getopt
|
||||
prev_arg = ""
|
||||
for arg in argv:
|
||||
diff --git a/pcs/usage.py b/pcs/usage.py
|
||||
index 0053381..91d15da 100644
|
||||
--- a/pcs/usage.py
|
||||
+++ b/pcs/usage.py
|
||||
@@ -438,7 +438,9 @@ 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]
|
||||
+ [--ipv6] [--token <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
|
||||
--start will also start the cluster on the specified nodes
|
||||
@@ -448,6 +450,19 @@ Commands:
|
||||
--last_man_standing_window options are all documented in corosync's
|
||||
votequorum(5) man page.
|
||||
--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)
|
||||
+ --join <timeout> sets time in milliseconds to wait for join mesages
|
||||
+ (default 50 ms)
|
||||
+ --consensus <timeout> sets time in milliseconds to wait for consensus
|
||||
+ to be achieved before starting a new round of membership configuration
|
||||
+ (default 1200 ms)
|
||||
+ --miss_count_const <count> sets the maximum number of times on
|
||||
+ receipt of a token a message is checked for retransmission before
|
||||
+ a retransmission occurs (default 5 messages)
|
||||
+ --fail_recv_const <failures> specifies how many rotations of the token
|
||||
+ without receiving any messages when messages should be received
|
||||
+ may occur before a new configuration is formed (default 2500 failures)
|
||||
|
||||
Configuring Redundant Ring Protocol (RRP)
|
||||
|
||||
--
|
||||
1.8.5.3
|
64
fedfix.patch
64
fedfix.patch
@ -1,15 +1,35 @@
|
||||
--- pcs-0.9.139/Makefile.fedfix
|
||||
+++ pcs-0.9.139/Makefile
|
||||
@@ -8,14 +8,7 @@ ifeq ($(PYTHON_SITELIB), /usr/lib/python2.7/dist-packages)
|
||||
EXTRA_SETUP_OPTS="--install-layout=deb"
|
||||
endif
|
||||
|
||||
-IS_SYSTEMCTL=false
|
||||
-ifeq ("$(wildcard /usr/bin/systemctl)","/usr/bin/systemctl")
|
||||
- IS_SYSTEMCTL=true
|
||||
-else
|
||||
- ifeq ("$(wildcard /bin/systemctl)","/usr/bin/systemctl")
|
||||
- IS_SYSTEMCTL=true
|
||||
- endif
|
||||
-endif
|
||||
+IS_SYSTEMCTL=true
|
||||
|
||||
MANDIR=/usr/share/man
|
||||
|
||||
--- pcs-0.9.102/pcsd/Makefile.fedfix 2013-12-13 17:59:47.983000261 -0600
|
||||
+++ pcs-0.9.102/pcsd/Makefile 2013-12-13 17:59:57.709889020 -0600
|
||||
@@ -1,5 +1,5 @@
|
||||
build_gems:
|
||||
@@ -7,7 +7,7 @@ else
|
||||
endif
|
||||
|
||||
build_gems_normal:
|
||||
- bundle install --local --deployment
|
||||
+ bundle install --local --path vendor/bundle
|
||||
|
||||
get_gems:
|
||||
bundle package
|
||||
# RHEL6 needs special rpam-ruby19 gem to work with 1.8.7
|
||||
build_gems_rhel6:
|
||||
--- pcs-0.9.102/pcsd/Gemfile.fedfix 2013-12-04 17:59:26.000000000 -0600
|
||||
+++ pcs-0.9.102/pcsd/Gemfile 2013-12-13 17:58:57.063583063 -0600
|
||||
@@ -1,15 +1,15 @@
|
||||
@@ -1,16 +1,16 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
-gem 'sinatra'
|
||||
@ -32,4 +52,38 @@
|
||||
gem 'monkey-lib'
|
||||
gem 'rpam-ruby19'
|
||||
-gem 'multi_json'
|
||||
-gem 'open4'
|
||||
+#gem 'multi_json'
|
||||
+#gem 'open4'
|
||||
--- pcs-0.9.102/pcsd/Gemfile.lock.fedfix
|
||||
+++ pcs-0.9.102/pcsd/Gemfile.lock
|
||||
@@ -2,12 +2,9 @@ GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
backports (3.6.4)
|
||||
- eventmachine (1.0.3)
|
||||
- highline (1.6.20)
|
||||
monkey-lib (0.5.4)
|
||||
backports
|
||||
multi_json (1.10.1)
|
||||
- open4 (1.3.4)
|
||||
rack (1.5.2)
|
||||
rack-protection (1.5.3)
|
||||
rack
|
||||
@@ -35,16 +32,7 @@ PLATFORMS
|
||||
|
||||
DEPENDENCIES
|
||||
backports
|
||||
- eventmachine
|
||||
- highline
|
||||
monkey-lib
|
||||
- multi_json
|
||||
- open4
|
||||
- rack
|
||||
- rack-protection
|
||||
- rack-test
|
||||
rpam-ruby19
|
||||
- sinatra
|
||||
sinatra-contrib
|
||||
sinatra-sugar
|
||||
- tilt
|
||||
|
16
pcs.spec
16
pcs.spec
@ -1,20 +1,19 @@
|
||||
Name: pcs
|
||||
Version: 0.9.115
|
||||
Release: 5%{?dist}
|
||||
Version: 0.9.139
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2
|
||||
URL: http://github.com/feist/pcs
|
||||
Group: System Environment/Base
|
||||
BuildRequires: python2-devel ruby ruby-devel pam-devel python rubygem-bundler
|
||||
BuildRequires: rubygem-sinatra rubygem-highline rubygem-rack rubygem-rack-protection rubygem-tilt
|
||||
BuildRequires: rubygem-eventmachine rubygem-rack-test rubygem-multi_json rubygem-json
|
||||
BuildRequires: rubygem-eventmachine rubygem-rack-test rubygem-multi_json rubygem-json rubygem-open4
|
||||
Summary: Pacemaker Configuration System
|
||||
Source0: http://people.redhat.com/cfeist/pcs/pcs-withgems-%{version}.tar.gz
|
||||
Patch0: fedfix.patch
|
||||
Patch1: rebase.patch
|
||||
Patch2: bz1078343-Add-support-for-setting-certain-corosync-totem-optio.patch
|
||||
Requires: pacemaker ruby python
|
||||
#Requires: python-clufter
|
||||
Requires: rubygem-sinatra rubygem-highline rubygem-rack rubygem-rack-protection rubygem-tilt
|
||||
Requires: rubygem-eventmachine rubygem-rack-test rubygem-multi_json rubygem-json
|
||||
Requires: rubygem-eventmachine rubygem-rack-test rubygem-multi_json rubygem-json rubygem-open4
|
||||
|
||||
%description
|
||||
pcs is a corosync and pacemaker configuration tool. It permits users to
|
||||
@ -24,8 +23,6 @@ easily view, modify and created pacemaker based clusters.
|
||||
%setup -q
|
||||
|
||||
%patch0 -p1 -b .fedfix
|
||||
%patch1 -p1 -b .rebase
|
||||
%patch2 -p1 -b .bz1078343
|
||||
cd pcsd ; bundle install --local ; cd ..
|
||||
|
||||
%build
|
||||
@ -69,6 +66,9 @@ chmod 755 $RPM_BUILD_ROOT/%{python_sitelib}/pcs/pcs.py
|
||||
%doc COPYING README
|
||||
|
||||
%changelog
|
||||
* Thu Feb 19 2015 Tomas Jelinek <tojeline@redhat.com> - 0.9.139-1
|
||||
- Re-synced to upstream sources
|
||||
|
||||
* Sat Jan 17 2015 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.9.115-5
|
||||
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.2
|
||||
|
||||
|
82966
rebase.patch
82966
rebase.patch
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user