syncwrap 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +8 -0
- data/Manifest.txt +5 -0
- data/etc/corosync/corosync.conf +39 -0
- data/etc/corosync/uidgid.d/qpid +4 -0
- data/etc/init.d/qpidd +89 -0
- data/lib/syncwrap/base.rb +1 -1
- data/lib/syncwrap/postgresql.rb +1 -0
- data/lib/syncwrap/qpid.rb +251 -0
- data/lib/syncwrap/rhel.rb +19 -1
- data/postgresql/rhel/postgresql.conf +30 -16
- data/usr/local/etc/qpidd.conf +11 -0
- metadata +7 -2
data/History.rdoc
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
=== 1.4.0 (2012-10-16)
|
2
|
+
* PostgreSQL configuration updates for 9.2.x (RHEL only)
|
3
|
+
* Add support for build, deploy, configure of Apache Qpid for which
|
4
|
+
stock RPMs are not available on Amazon Linux. This includes corosync
|
5
|
+
build for a working cluster setup on EC2.
|
6
|
+
* Add :succeed option to RHEL.dist_install (for local RPM files that
|
7
|
+
may already be installed)
|
8
|
+
|
1
9
|
=== 1.3.0 (2012-10-4)
|
2
10
|
* Include RHEL/Amazon Linux Postgresql 9.1 config and deploy support
|
3
11
|
and reorganize for Ubuntu support as well. Default deploy data dir
|
data/Manifest.txt
CHANGED
@@ -3,7 +3,10 @@ Manifest.txt
|
|
3
3
|
README.rdoc
|
4
4
|
Rakefile
|
5
5
|
etc/gemrc
|
6
|
+
etc/corosync/corosync.conf
|
7
|
+
etc/corosync/uidgid.d/qpid
|
6
8
|
etc/init.d/iyyov
|
9
|
+
etc/init.d/qpidd
|
7
10
|
etc/sysconfig/pgsql/postgresql
|
8
11
|
etc/sysctl.d/61-postgresql-shm.conf
|
9
12
|
lib/syncwrap/base.rb
|
@@ -17,6 +20,7 @@ lib/syncwrap/iyyov.rb
|
|
17
20
|
lib/syncwrap/java.rb
|
18
21
|
lib/syncwrap/jruby.rb
|
19
22
|
lib/syncwrap/postgresql.rb
|
23
|
+
lib/syncwrap/qpid.rb
|
20
24
|
lib/syncwrap/remote_task.rb
|
21
25
|
lib/syncwrap/rhel.rb
|
22
26
|
lib/syncwrap/ubuntu.rb
|
@@ -32,4 +36,5 @@ postgresql/ubuntu/postgresql.conf
|
|
32
36
|
postgresql/ubuntu/start.conf
|
33
37
|
test/test_syncwrap.rb
|
34
38
|
usr/local/bin/jgem
|
39
|
+
usr/local/etc/qpidd.conf
|
35
40
|
var/iyyov/jobs.rb
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# corosync sample config using pre-determined member list and updu
|
2
|
+
# which is EC2 compatible. Enable UDP access to udp ports 5404 and
|
3
|
+
# 5405 on each cluster member.
|
4
|
+
#
|
5
|
+
# See also http://www.thatsgeeky.com/2011/12/installing-corosync-on-ec2/
|
6
|
+
|
7
|
+
compatibility: whitetank
|
8
|
+
|
9
|
+
totem {
|
10
|
+
version: 2
|
11
|
+
secauth: off
|
12
|
+
interface {
|
13
|
+
member {
|
14
|
+
memberaddr: 10.252.133.51 #FIXME: Replace with your actual members
|
15
|
+
}
|
16
|
+
member {
|
17
|
+
memberaddr: 10.252.73.186
|
18
|
+
}
|
19
|
+
ringnumber: 0
|
20
|
+
bindnetaddr: 10.252.0.0 # FIXME: is host specific, compute via:
|
21
|
+
# ipcalc -n `ip addr show eth0 | grep 'inet ' |awk '{print $2}'` | awk -F= '{print $2}'
|
22
|
+
mcastport: 5405
|
23
|
+
ttl: 1
|
24
|
+
}
|
25
|
+
transport: udpu
|
26
|
+
}
|
27
|
+
|
28
|
+
logging {
|
29
|
+
fileline: off
|
30
|
+
to_logfile: yes
|
31
|
+
to_syslog: yes
|
32
|
+
logfile: /var/log/cluster/corosync.log
|
33
|
+
debug: off
|
34
|
+
timestamp: on
|
35
|
+
logger_subsys {
|
36
|
+
subsys: AMF
|
37
|
+
debug: off
|
38
|
+
}
|
39
|
+
}
|
data/etc/init.d/qpidd
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
#
|
3
|
+
# qpidd Startup script for the Qpid messaging daemon.
|
4
|
+
#
|
5
|
+
# chkconfig: 2345 85 15
|
6
|
+
# description: Qpidd is an AMQP broker.
|
7
|
+
# processname: qpidd
|
8
|
+
# config: /usr/local/etc/qpidd.conf
|
9
|
+
|
10
|
+
prog=qpidd
|
11
|
+
lockfile=/var/lock/subsys/$prog
|
12
|
+
pidfile=/var/run/qpidd.pid
|
13
|
+
|
14
|
+
# Source function library.
|
15
|
+
. /etc/rc.d/init.d/functions
|
16
|
+
|
17
|
+
if [ -f /etc/sysconfig/$prog ] ; then
|
18
|
+
. /etc/sysconfig/$prog
|
19
|
+
fi
|
20
|
+
|
21
|
+
RETVAL=0
|
22
|
+
|
23
|
+
#ensure binary is present and executable
|
24
|
+
if [[ !(-x /usr/local/sbin/$prog) ]] ; then
|
25
|
+
echo "/usr/local/sbin/$prog not found or not executable"
|
26
|
+
exit 5
|
27
|
+
fi
|
28
|
+
|
29
|
+
#ensure user has sufficient permissions
|
30
|
+
runuser -s /bin/sh qpidd -c "echo x > /dev/null" 2> /dev/null || RETVAL=4
|
31
|
+
if [ $RETVAL = 4 ]; then
|
32
|
+
echo "user had insufficient privilege";
|
33
|
+
exit $RETVAL
|
34
|
+
fi
|
35
|
+
|
36
|
+
start() {
|
37
|
+
echo -n $"Starting Qpid AMQP daemon: "
|
38
|
+
daemon --pidfile $pidfile --check $prog --user qpidd /usr/local/sbin/$prog --daemon $QPID_OPTIONS
|
39
|
+
RETVAL=$?
|
40
|
+
echo
|
41
|
+
[ $RETVAL = 0 ] && touch $lockfile
|
42
|
+
if [ $RETVAL = 0 ]; then
|
43
|
+
touch $pidfile
|
44
|
+
chown qpidd.qpidd $pidfile
|
45
|
+
[ -x /sbin/restorecon ] && /sbin/restorecon $pidfile
|
46
|
+
runuser -s /bin/sh qpidd -c "/usr/local/sbin/$prog --check > $pidfile"
|
47
|
+
fi
|
48
|
+
return $RETVAL
|
49
|
+
}
|
50
|
+
|
51
|
+
stop() {
|
52
|
+
echo -n $"Stopping Qpid AMQP daemon: "
|
53
|
+
killproc -p ${pidfile} $prog
|
54
|
+
RETVAL=$?
|
55
|
+
echo
|
56
|
+
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
|
57
|
+
}
|
58
|
+
|
59
|
+
reload() {
|
60
|
+
echo 1>&2 $"$0: reload not supported"
|
61
|
+
exit 3
|
62
|
+
}
|
63
|
+
|
64
|
+
restart() {
|
65
|
+
stop
|
66
|
+
start
|
67
|
+
}
|
68
|
+
|
69
|
+
# See how we were called.
|
70
|
+
case "$1" in
|
71
|
+
start|stop|restart|reload)
|
72
|
+
$1
|
73
|
+
;;
|
74
|
+
status)
|
75
|
+
status $prog
|
76
|
+
RETVAL=$?
|
77
|
+
;;
|
78
|
+
force-reload)
|
79
|
+
restart
|
80
|
+
;;
|
81
|
+
try-restart|condrestart)
|
82
|
+
[ -e $lockfile ] && restart || :
|
83
|
+
;;
|
84
|
+
*)
|
85
|
+
echo 1>&2 $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|force-reload}"
|
86
|
+
exit 2
|
87
|
+
esac
|
88
|
+
|
89
|
+
exit $RETVAL
|
data/lib/syncwrap/base.rb
CHANGED
data/lib/syncwrap/postgresql.rb
CHANGED
@@ -0,0 +1,251 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2011-2012 David Kellum
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
5
|
+
# may not use this file except in compliance with the License. You may
|
6
|
+
# obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
13
|
+
# implied. See the License for the specific language governing
|
14
|
+
# permissions and limitations under the License.
|
15
|
+
#++
|
16
|
+
|
17
|
+
require 'syncwrap/common'
|
18
|
+
require 'syncwrap/distro'
|
19
|
+
|
20
|
+
# Qpid AMQP broker provisioning. Currently this is RHEL/AmazonLinux
|
21
|
+
# centric.
|
22
|
+
module SyncWrap::Qpid
|
23
|
+
include SyncWrap::Common
|
24
|
+
include SyncWrap::Distro
|
25
|
+
|
26
|
+
attr_accessor :qpid_src_root
|
27
|
+
|
28
|
+
attr_accessor :qpid_version
|
29
|
+
attr_accessor :qpid_repo
|
30
|
+
attr_accessor :qpid_distro
|
31
|
+
|
32
|
+
attr_accessor :corosync_version
|
33
|
+
attr_accessor :corosync_repo
|
34
|
+
|
35
|
+
def initialize
|
36
|
+
super
|
37
|
+
|
38
|
+
@qpid_src_root = '/tmp/src'
|
39
|
+
|
40
|
+
@qpid_version = '0.18'
|
41
|
+
@qpid_repo = 'http://apache.osuosl.org/qpid'
|
42
|
+
@qpid_distro = 'amzn1'
|
43
|
+
|
44
|
+
@corosync_version = '1.4.4'
|
45
|
+
@corosync_repo = 'https://github.com/downloads/corosync/corosync'
|
46
|
+
end
|
47
|
+
|
48
|
+
def qpid_install
|
49
|
+
unless exist?( "/usr/local/sbin/qpidd" )
|
50
|
+
qpid_install!
|
51
|
+
qpid_install_init!
|
52
|
+
end
|
53
|
+
qpid_tools_install
|
54
|
+
rput( 'usr/local/etc/qpidd.conf', :user => 'root' )
|
55
|
+
end
|
56
|
+
|
57
|
+
def qpid_install_init!
|
58
|
+
unless exec_conditional { run "id qpidd >/dev/null" } == 0
|
59
|
+
sudo <<-SH
|
60
|
+
useradd -r qpidd
|
61
|
+
mkdir -p /var/local/qpidd
|
62
|
+
chown qpidd:qpidd /var/local/qpidd
|
63
|
+
SH
|
64
|
+
end
|
65
|
+
|
66
|
+
rput( 'etc/init.d/qpidd', :user => 'root' )
|
67
|
+
|
68
|
+
# Add to init.d
|
69
|
+
dist_install_init_service( 'qpidd' )
|
70
|
+
end
|
71
|
+
|
72
|
+
def qpid_tools_install
|
73
|
+
unless exist?( "/usr/bin/qpid-config" )
|
74
|
+
qpid_tools_install!
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
def qpid_install!
|
79
|
+
corosync_install!( :devel => true )
|
80
|
+
qpid_build
|
81
|
+
end
|
82
|
+
|
83
|
+
def qpid_tools_install!
|
84
|
+
dist_install( 'python-setuptools' )
|
85
|
+
qpid_src = "#{qpid_src_root}/qpid-#{qpid_version}"
|
86
|
+
|
87
|
+
run <<-SH
|
88
|
+
mkdir -p #{qpid_src_root}
|
89
|
+
rm -rf #{qpid_src}
|
90
|
+
cd #{qpid_src_root}
|
91
|
+
curl -sSL #{qpid_tools_tarball} | tar -zxf -
|
92
|
+
SH
|
93
|
+
|
94
|
+
sudo <<-SH
|
95
|
+
cd #{qpid_src}
|
96
|
+
easy_install ./python ./tools ./extras/qmf
|
97
|
+
SH
|
98
|
+
end
|
99
|
+
|
100
|
+
def qpid_build
|
101
|
+
qpid_install_build_deps
|
102
|
+
qpid_install_deps
|
103
|
+
|
104
|
+
qpid_src = "#{qpid_src_root}/qpidc-#{qpid_version}"
|
105
|
+
|
106
|
+
run <<-SH
|
107
|
+
mkdir -p #{qpid_src_root}
|
108
|
+
rm -rf #{qpid_src}
|
109
|
+
cd #{qpid_src_root}
|
110
|
+
curl -sSL #{qpid_src_tarball} | tar -zxf -
|
111
|
+
cd #{qpid_src}
|
112
|
+
./configure > /dev/null
|
113
|
+
make > /dev/null
|
114
|
+
SH
|
115
|
+
|
116
|
+
sudo <<-SH
|
117
|
+
cd #{qpid_src}
|
118
|
+
make install > /dev/null
|
119
|
+
SH
|
120
|
+
|
121
|
+
run <<-SH
|
122
|
+
cd #{qpid_src}
|
123
|
+
make check > /dev/null
|
124
|
+
SH
|
125
|
+
|
126
|
+
sudo <<-SH
|
127
|
+
cd /usr/local
|
128
|
+
rm -f /tmp/qpidc-#{qpid_version}-1-#{qpid_distro}-x64.tar.gz
|
129
|
+
tar -zc \
|
130
|
+
--exclude games --exclude lib64/perl5 --exclude src \
|
131
|
+
--exclude share/man --exclude share/perl5 --exclude share/info \
|
132
|
+
--exclude share/applications \
|
133
|
+
-f /tmp/qpidc-#{qpid_version}-1-#{qpid_distro}-x64.tar.gz .
|
134
|
+
SH
|
135
|
+
end
|
136
|
+
|
137
|
+
def qpid_src_tarball
|
138
|
+
"#{qpid_repo}/#{qpid_version}/qpid-cpp-#{qpid_version}.tar.gz"
|
139
|
+
end
|
140
|
+
|
141
|
+
def qpid_tools_tarball
|
142
|
+
"#{qpid_repo}/#{qpid_version}/qpid-#{qpid_version}.tar.gz"
|
143
|
+
end
|
144
|
+
|
145
|
+
def qpid_install_build_deps
|
146
|
+
dist_install( %w[ gcc gcc-c++ make autogen autoconf
|
147
|
+
help2man libtool pkgconfig rpm-build ] )
|
148
|
+
end
|
149
|
+
|
150
|
+
def qpid_install_deps
|
151
|
+
dist_install( %w[ nss-devel boost-devel libuuid-devel swig
|
152
|
+
ruby-devel python-devel cyrus-sasl-devel ] )
|
153
|
+
end
|
154
|
+
|
155
|
+
def corosync_install( opts = {} )
|
156
|
+
unless exist?( "/usr/sbin/corosync" )
|
157
|
+
corosync_install!( opts )
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
def corosync_install!( opts = {} )
|
162
|
+
corosync_build
|
163
|
+
dist_install( "#{corosync_src}/x86_64/*.rpm", :succeed => true )
|
164
|
+
end
|
165
|
+
|
166
|
+
def corosync_build
|
167
|
+
qpid_install_build_deps
|
168
|
+
corosync_install_build_deps
|
169
|
+
|
170
|
+
run <<-SH
|
171
|
+
mkdir -p #{qpid_src_root}
|
172
|
+
rm -rf #{corosync_src}
|
173
|
+
cd #{qpid_src_root}
|
174
|
+
curl -sSL #{corosync_repo}/corosync-#{corosync_version}.tar.gz | tar -zxf -
|
175
|
+
cd #{corosync_src}
|
176
|
+
./autogen.sh
|
177
|
+
./configure > /dev/null
|
178
|
+
make rpm > /dev/null
|
179
|
+
SH
|
180
|
+
|
181
|
+
end
|
182
|
+
|
183
|
+
def corosync_packages( include_devel = false )
|
184
|
+
packs = [ "corosync-#{corosync_version}-1.#{qpid_distro}.x86_64.rpm",
|
185
|
+
"corosynclib-#{corosync_version}-1.#{qpid_distro}.x86_64.rpm" ]
|
186
|
+
packs << "corosynclib-devel-#{corosync_version}-1.#{qpid_distro}.x86_64.rpm" if include_devel
|
187
|
+
packs
|
188
|
+
end
|
189
|
+
|
190
|
+
def corosync_install_build_deps
|
191
|
+
dist_install( %w[ nss-devel libibverbs-devel librdmacm-devel ] )
|
192
|
+
end
|
193
|
+
|
194
|
+
def corosync_src
|
195
|
+
"#{qpid_src_root}/corosync-#{corosync_version}"
|
196
|
+
end
|
197
|
+
|
198
|
+
# Simplify qpid install by using pre-built binaries (for example,
|
199
|
+
# archived from the build steps above.)
|
200
|
+
module BinRepo
|
201
|
+
include SyncWrap::Qpid
|
202
|
+
|
203
|
+
attr_accessor :qpid_prebuild_repo
|
204
|
+
|
205
|
+
def initialize
|
206
|
+
super
|
207
|
+
|
208
|
+
@qpid_prebuild_repo = nil
|
209
|
+
end
|
210
|
+
|
211
|
+
def qpid_install
|
212
|
+
corosync_install
|
213
|
+
super
|
214
|
+
end
|
215
|
+
|
216
|
+
def qpid_install!
|
217
|
+
raise "qpid_prebuild_repo required, but not set" unless qpid_prebuild_repo
|
218
|
+
|
219
|
+
dist_install( %w[ boost cyrus-sasl ] )
|
220
|
+
|
221
|
+
sudo <<-SH
|
222
|
+
cd /usr/local
|
223
|
+
curl -sS #{qpid_prebuild_repo}/qpidc-#{qpid_version}-1-#{qpid_distro}-x64.tar.gz | tar -zxf -
|
224
|
+
SH
|
225
|
+
end
|
226
|
+
|
227
|
+
def corosync_install!( opts = {} )
|
228
|
+
raise "qpid_prebuild_repo required, but not set" unless qpid_prebuild_repo
|
229
|
+
packs = corosync_packages
|
230
|
+
curls = packs.map do |p|
|
231
|
+
"curl -sS -O #{qpid_prebuild_repo}/#{p}"
|
232
|
+
end
|
233
|
+
|
234
|
+
sudo <<-SH
|
235
|
+
rm -rf /tmp/rpm-drop
|
236
|
+
mkdir -p /tmp/rpm-drop
|
237
|
+
cd /tmp/rpm-drop
|
238
|
+
#{curls.join("\n")}
|
239
|
+
SH
|
240
|
+
dist_install( "/tmp/rpm-drop/*.rpm", :succeed => true )
|
241
|
+
end
|
242
|
+
|
243
|
+
# Where uploaded qpid-python-tools-M.N.tar.gz contains the
|
244
|
+
# ./python ./tools ./extras/qmf packages for easy_install.
|
245
|
+
def qpid_tools_tarball
|
246
|
+
"#{qpid_prebuild_repo}/qpid-python-tools-#{qpid_version}.tar.gz"
|
247
|
+
end
|
248
|
+
|
249
|
+
end
|
250
|
+
|
251
|
+
end
|
data/lib/syncwrap/rhel.rb
CHANGED
@@ -29,9 +29,27 @@ module SyncWrap::RHEL
|
|
29
29
|
'postgresql' => 'postgresql-server' )
|
30
30
|
end
|
31
31
|
|
32
|
+
# Install packages. The last argument is interpreted as a options if
|
33
|
+
# it is a Hash.
|
34
|
+
# === Options
|
35
|
+
# :succeed:: Always succeed (useful for local rpms which might
|
36
|
+
# already be installed.
|
32
37
|
def dist_install( *pkgs )
|
38
|
+
|
39
|
+
if pkgs.last.is_a?( Hash )
|
40
|
+
pkgs = pkgs.dup
|
41
|
+
opts = pkgs.pop
|
42
|
+
else
|
43
|
+
opts = {}
|
44
|
+
end
|
45
|
+
|
33
46
|
pkgs = dist_map_packages( pkgs )
|
34
|
-
|
47
|
+
|
48
|
+
if opts[ :succeed ]
|
49
|
+
sudo "yum install -q -y #{pkgs.join( ' ' )} || true"
|
50
|
+
else
|
51
|
+
sudo "yum install -q -y #{pkgs.join( ' ' )}"
|
52
|
+
end
|
35
53
|
end
|
36
54
|
|
37
55
|
def dist_uninstall( *pkgs )
|
@@ -45,7 +45,7 @@
|
|
45
45
|
# (change requires restart)
|
46
46
|
|
47
47
|
# If external_pid_file is not explicitly set, no extra PID file is written.
|
48
|
-
#external_pid_file = '
|
48
|
+
#external_pid_file = '' # write an extra PID file
|
49
49
|
# (change requires restart)
|
50
50
|
|
51
51
|
#------------------------------------------------------------------------------
|
@@ -56,14 +56,17 @@
|
|
56
56
|
|
57
57
|
#listen_addresses = 'localhost' # what IP address(es) to listen on;
|
58
58
|
# comma-separated list of addresses;
|
59
|
-
# defaults to 'localhost'
|
59
|
+
# defaults to 'localhost'; use '*' for all
|
60
60
|
# (change requires restart)
|
61
61
|
#port = 5432 # (change requires restart)
|
62
|
+
# Note: In RHEL/Fedora installations, you can't set the port number here;
|
63
|
+
# adjust it in the service file instead.
|
62
64
|
max_connections = 100 # (change requires restart)
|
63
65
|
# Note: Increasing max_connections costs ~400 bytes of shared memory per
|
64
66
|
# connection slot, plus lock space (see max_locks_per_transaction).
|
65
67
|
#superuser_reserved_connections = 3 # (change requires restart)
|
66
|
-
#
|
68
|
+
#unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories
|
69
|
+
# (change requires restart)
|
67
70
|
#unix_socket_group = '' # (change requires restart)
|
68
71
|
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
|
69
72
|
# (change requires restart)
|
@@ -79,6 +82,10 @@ max_connections = 100 # (change requires restart)
|
|
79
82
|
#ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
|
80
83
|
# (change requires restart)
|
81
84
|
#ssl_renegotiation_limit = 512MB # amount of data between renegotiations
|
85
|
+
#ssl_cert_file = 'server.crt' # (change requires restart)
|
86
|
+
#ssl_key_file = 'server.key' # (change requires restart)
|
87
|
+
#ssl_ca_file = '' # (change requires restart)
|
88
|
+
#ssl_crl_file = '' # (change requires restart)
|
82
89
|
#password_encryption = on
|
83
90
|
#db_user_namespace = off
|
84
91
|
|
@@ -177,6 +184,9 @@ checkpoint_segments = 16 # in logfile segments, min 1, 16MB each
|
|
177
184
|
#archive_mode = off # allows archiving to be done
|
178
185
|
# (change requires restart)
|
179
186
|
#archive_command = '' # command to use to archive a logfile segment
|
187
|
+
# placeholders: %p = path of file to archive
|
188
|
+
# %f = file name only
|
189
|
+
# e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
|
180
190
|
#archive_timeout = 0 # force a logfile segment switch after this
|
181
191
|
# number of seconds; 0 disables
|
182
192
|
|
@@ -186,21 +196,25 @@ checkpoint_segments = 16 # in logfile segments, min 1, 16MB each
|
|
186
196
|
|
187
197
|
# - Master Server -
|
188
198
|
|
189
|
-
#
|
199
|
+
# Set these on the master and on any standby that will send replication data.
|
190
200
|
|
191
201
|
#max_wal_senders = 0 # max number of walsender processes
|
192
202
|
# (change requires restart)
|
193
|
-
#wal_sender_delay = 1s # walsender cycle time, 1-10000 milliseconds
|
194
203
|
#wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables
|
195
|
-
#vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
|
196
204
|
#replication_timeout = 60s # in milliseconds; 0 disables
|
205
|
+
|
206
|
+
# - Master Server -
|
207
|
+
|
208
|
+
# These settings are ignored on a standby server.
|
209
|
+
|
197
210
|
#synchronous_standby_names = '' # standby servers that provide sync rep
|
198
211
|
# comma-separated list of application_name
|
199
212
|
# from standby(s); '*' = all
|
213
|
+
#vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
|
200
214
|
|
201
215
|
# - Standby Servers -
|
202
216
|
|
203
|
-
# These settings are ignored on a master server
|
217
|
+
# These settings are ignored on a master server.
|
204
218
|
|
205
219
|
#hot_standby = off # "on" allows queries during recovery
|
206
220
|
# (change requires restart)
|
@@ -225,6 +239,7 @@ checkpoint_segments = 16 # in logfile segments, min 1, 16MB each
|
|
225
239
|
#enable_hashagg = on
|
226
240
|
#enable_hashjoin = on
|
227
241
|
#enable_indexscan = on
|
242
|
+
#enable_indexonlyscan = on
|
228
243
|
#enable_material = on
|
229
244
|
#enable_mergejoin = on
|
230
245
|
#enable_nestloop = on
|
@@ -302,10 +317,8 @@ log_rotation_size = 0 # Automatic rotation of logfiles will
|
|
302
317
|
#syslog_facility = 'LOCAL0'
|
303
318
|
#syslog_ident = 'postgres'
|
304
319
|
|
305
|
-
#
|
306
|
-
|
307
|
-
# logging_collector
|
308
|
-
# (change requires restart)
|
320
|
+
# This is only relevant when logging to eventlog (win32):
|
321
|
+
#event_source = 'PostgreSQL'
|
309
322
|
|
310
323
|
# - When to Log -
|
311
324
|
|
@@ -390,7 +403,7 @@ log_line_prefix = '%t ' # special values:
|
|
390
403
|
#log_temp_files = -1 # log temporary files equal or larger
|
391
404
|
# than the specified size in kilobytes;
|
392
405
|
# -1 disables, 0 logs all temp files
|
393
|
-
|
406
|
+
log_timezone = 'UTC'
|
394
407
|
|
395
408
|
#------------------------------------------------------------------------------
|
396
409
|
# RUNTIME STATISTICS
|
@@ -400,6 +413,7 @@ log_line_prefix = '%t ' # special values:
|
|
400
413
|
|
401
414
|
#track_activities = on
|
402
415
|
#track_counts = on
|
416
|
+
#track_io_timing = off
|
403
417
|
#track_functions = none # none, pl, all
|
404
418
|
#track_activity_query_size = 1024 # (change requires restart)
|
405
419
|
#update_process_title = on
|
@@ -466,7 +480,7 @@ log_line_prefix = '%t ' # special values:
|
|
466
480
|
|
467
481
|
datestyle = 'iso, mdy'
|
468
482
|
#intervalstyle = 'postgres'
|
469
|
-
|
483
|
+
timezone = 'UTC'
|
470
484
|
#timezone_abbreviations = 'Default' # Select the set of available time zone
|
471
485
|
# abbreviations. Currently, there are
|
472
486
|
# Default
|
@@ -530,11 +544,11 @@ default_text_search_config = 'pg_catalog.english'
|
|
530
544
|
# ERROR HANDLING
|
531
545
|
#------------------------------------------------------------------------------
|
532
546
|
|
533
|
-
#exit_on_error = off
|
534
|
-
#restart_after_crash = on
|
547
|
+
#exit_on_error = off # terminate session on any error?
|
548
|
+
#restart_after_crash = on # reinitialize after backend crash?
|
535
549
|
|
536
550
|
#------------------------------------------------------------------------------
|
537
551
|
# CUSTOMIZED OPTIONS
|
538
552
|
#------------------------------------------------------------------------------
|
539
553
|
|
540
|
-
#
|
554
|
+
# Add settings for extensions here
|
metadata
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
name: syncwrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.
|
5
|
+
version: 1.4.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- David Kellum
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
@@ -57,7 +57,10 @@ files:
|
|
57
57
|
- README.rdoc
|
58
58
|
- Rakefile
|
59
59
|
- etc/gemrc
|
60
|
+
- etc/corosync/corosync.conf
|
61
|
+
- etc/corosync/uidgid.d/qpid
|
60
62
|
- etc/init.d/iyyov
|
63
|
+
- etc/init.d/qpidd
|
61
64
|
- etc/sysconfig/pgsql/postgresql
|
62
65
|
- etc/sysctl.d/61-postgresql-shm.conf
|
63
66
|
- lib/syncwrap/base.rb
|
@@ -71,6 +74,7 @@ files:
|
|
71
74
|
- lib/syncwrap/java.rb
|
72
75
|
- lib/syncwrap/jruby.rb
|
73
76
|
- lib/syncwrap/postgresql.rb
|
77
|
+
- lib/syncwrap/qpid.rb
|
74
78
|
- lib/syncwrap/remote_task.rb
|
75
79
|
- lib/syncwrap/rhel.rb
|
76
80
|
- lib/syncwrap/ubuntu.rb
|
@@ -86,6 +90,7 @@ files:
|
|
86
90
|
- postgresql/ubuntu/start.conf
|
87
91
|
- test/test_syncwrap.rb
|
88
92
|
- usr/local/bin/jgem
|
93
|
+
- usr/local/etc/qpidd.conf
|
89
94
|
- var/iyyov/jobs.rb
|
90
95
|
homepage: http://github.com/dekellum/syncwrap
|
91
96
|
licenses: []
|