syncwrap 2.7.1 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.rdoc +61 -0
- data/Manifest.txt +3 -0
- data/lib/syncwrap/base.rb +1 -1
- data/lib/syncwrap/change_key_listener.rb +56 -0
- data/lib/syncwrap/cli.rb +71 -8
- data/lib/syncwrap/components/arch.rb +8 -10
- data/lib/syncwrap/components/bundle.rb +3 -6
- data/lib/syncwrap/components/bundled_iyyov_daemon.rb +3 -8
- data/lib/syncwrap/components/bundler_gem.rb +2 -2
- data/lib/syncwrap/components/cruby_vm.rb +9 -5
- data/lib/syncwrap/components/debian.rb +13 -11
- data/lib/syncwrap/components/iyyov.rb +21 -4
- data/lib/syncwrap/components/jruby_vm.rb +5 -4
- data/lib/syncwrap/components/postgresql.rb +28 -7
- data/lib/syncwrap/components/puma.rb +112 -35
- data/lib/syncwrap/components/qpid.rb +2 -2
- data/lib/syncwrap/components/rhel.rb +65 -34
- data/lib/syncwrap/components/run_user.rb +11 -4
- data/lib/syncwrap/components/source_tree.rb +5 -1
- data/lib/syncwrap/components/tarpit_gem.rb +2 -2
- data/lib/syncwrap/components/users.rb +2 -1
- data/lib/syncwrap/context.rb +15 -2
- data/lib/syncwrap/distro.rb +5 -7
- data/lib/syncwrap/shell.rb +2 -2
- data/lib/syncwrap/systemd_service.rb +140 -0
- data/lib/syncwrap.rb +4 -3
- data/sync/etc/systemd/system/puma.service.erb +3 -0
- data/sync/etc/systemd/system/puma.socket.erb +15 -0
- data/sync/postgresql/postgresql.conf.erb +25 -5
- data/test/test_components.rb +14 -2
- data/test/test_context.rb +1 -1
- data/test/test_context_rput.rb +1 -1
- data/test/test_rsync.rb +1 -1
- data/test/test_shell.rb +2 -1
- data/test/test_space.rb +22 -1
- data/test/test_space_main.rb +6 -2
- data/test/test_version_support.rb +1 -1
- data/test/test_zone_balancer.rb +2 -2
- metadata +7 -4
@@ -0,0 +1,140 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2011-2016 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
|
+
module SyncWrap
|
18
|
+
|
19
|
+
# Support module for components which install SystemD
|
20
|
+
# services. Provide unit file installation with `systemctl` calls,
|
21
|
+
# and also provides standard #start, #restart, #stop, and #status
|
22
|
+
# commands for use in the CLI.
|
23
|
+
#
|
24
|
+
# Host component dependencies: <Distro>
|
25
|
+
module SystemDService
|
26
|
+
|
27
|
+
protected
|
28
|
+
|
29
|
+
# The name of a systemd service unit file to create/rput. The name
|
30
|
+
# should include a ".service" suffix. Will rput the same name (or
|
31
|
+
# .erb extended template) under :sync_paths /etc/systemd/system.
|
32
|
+
# (Required for use of public interface)
|
33
|
+
attr_accessor :systemd_service
|
34
|
+
|
35
|
+
# The name of the systemd socket unit file to create/rput for
|
36
|
+
# socket activation. If specified, the name should include a
|
37
|
+
# ".socket" suffix. Will rput the same name (or .erb extended
|
38
|
+
# template) under :sync_paths /etc/systemd/system.
|
39
|
+
attr_accessor :systemd_socket
|
40
|
+
|
41
|
+
# An array of ListenStream configuration values for #systemd_socket
|
42
|
+
# (Default: nil -> unspecified and will raise if accessed)
|
43
|
+
attr_writer :listen_streams
|
44
|
+
|
45
|
+
def listen_streams
|
46
|
+
@listen_streams or raise "#{self.class.name}#listen_streams not specified"
|
47
|
+
end
|
48
|
+
|
49
|
+
def initialize( opts = {} )
|
50
|
+
@systemd_service = nil
|
51
|
+
@systemd_socket = nil
|
52
|
+
@listen_streams = nil
|
53
|
+
super
|
54
|
+
end
|
55
|
+
|
56
|
+
public
|
57
|
+
|
58
|
+
# Install the systemd units files by #rput_unit_files, detecting
|
59
|
+
# changes and performs `systemctl` daemon-reload, (re-)enable, and
|
60
|
+
# #restart or #start as required. If restart_required evaluates to
|
61
|
+
# true, for example given other external changes, a #restart is
|
62
|
+
# mandated.
|
63
|
+
def install_units( restart_required = false )
|
64
|
+
require_systemd_service!
|
65
|
+
units_d = rput_unit_files
|
66
|
+
|
67
|
+
sock_d = systemd_socket &&
|
68
|
+
units_d.find { |_,f| File.basename( f ) == systemd_socket }
|
69
|
+
|
70
|
+
if !units_d.empty?
|
71
|
+
systemctl( 'daemon-reload' )
|
72
|
+
systemctl( 'reenable', *systemd_units )
|
73
|
+
end
|
74
|
+
|
75
|
+
if ( restart_required || !units_d.empty? )
|
76
|
+
restart( with_socket: !!sock_d )
|
77
|
+
else
|
78
|
+
start
|
79
|
+
end
|
80
|
+
|
81
|
+
units_d
|
82
|
+
end
|
83
|
+
|
84
|
+
# Start all #systemd_units.
|
85
|
+
def start
|
86
|
+
require_systemd_service!
|
87
|
+
systemctl( 'start', *systemd_units )
|
88
|
+
end
|
89
|
+
|
90
|
+
# Restart the service. If option :with_socket is passed as true,
|
91
|
+
# restart all #systemd_units which includes #systemd_socket if
|
92
|
+
# present.
|
93
|
+
def restart( opts = {} )
|
94
|
+
require_systemd_service!
|
95
|
+
if opts[ :with_socket ]
|
96
|
+
systemctl( 'restart', *systemd_units )
|
97
|
+
else
|
98
|
+
systemctl( 'restart', systemd_service )
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
# Stop all #systemd_units.
|
103
|
+
def stop
|
104
|
+
require_systemd_service!
|
105
|
+
systemctl( 'stop', *systemd_units )
|
106
|
+
end
|
107
|
+
|
108
|
+
# Output status of #systemd_units (useful via CLI with --verbose)
|
109
|
+
def status
|
110
|
+
require_systemd_service!
|
111
|
+
systemctl( 'status', *systemd_units )
|
112
|
+
end
|
113
|
+
|
114
|
+
protected
|
115
|
+
|
116
|
+
# Perform rput of systemd unit files and return changes
|
117
|
+
# array. This can be overridden, for example to use system
|
118
|
+
# provided units (no-op and return `[]`) or for additional "drop-in"
|
119
|
+
# config files (e.g. foo.service.d/overrides.conf). Any changes
|
120
|
+
# signal that the service (or if included in changes, the socket)
|
121
|
+
# should be restarted.
|
122
|
+
def rput_unit_files
|
123
|
+
srcs = systemd_units.map { |u| "/etc/systemd/system/" + u }
|
124
|
+
rput( *srcs, "/etc/systemd/system/", user: :root )
|
125
|
+
end
|
126
|
+
|
127
|
+
# Return Array of the unit names that were specified (not nil)
|
128
|
+
# via #systemd_service and #systemd_socket.
|
129
|
+
def systemd_units
|
130
|
+
[systemd_socket, systemd_service].compact
|
131
|
+
end
|
132
|
+
|
133
|
+
# Raise if systemd_service not specified.
|
134
|
+
def require_systemd_service!
|
135
|
+
raise "#{self.class.name}#systemd_service not set" unless systemd_service
|
136
|
+
end
|
137
|
+
|
138
|
+
end
|
139
|
+
|
140
|
+
end
|
data/lib/syncwrap.rb
CHANGED
@@ -359,11 +359,10 @@ module SyncWrap
|
|
359
359
|
opts[ :flush_component ] ? "start" : "enqueue" )
|
360
360
|
end
|
361
361
|
|
362
|
-
comp.
|
363
|
-
|
364
|
-
ctx.flush if opts[ :flush_component ]
|
362
|
+
comp.public_send( mth )
|
365
363
|
|
366
364
|
if opts[ :flush_component ]
|
365
|
+
ctx.flush
|
367
366
|
formatter.sync do
|
368
367
|
formatter.write_component( host, comp, mth, "complete" )
|
369
368
|
end
|
@@ -423,7 +422,9 @@ module SyncWrap
|
|
423
422
|
|
424
423
|
# Additional autoloads (optional support)
|
425
424
|
autoload :AmazonEC2, 'syncwrap/amazon_ec2'
|
425
|
+
autoload :ChangeKeyListener, 'syncwrap/change_key_listener'
|
426
426
|
autoload :GitHelp, 'syncwrap/git_help'
|
427
|
+
autoload :SystemDService, 'syncwrap/systemd_service'
|
427
428
|
autoload :UserData, 'syncwrap/user_data'
|
428
429
|
autoload :ZoneBalancer, 'syncwrap/zone_balancer'
|
429
430
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
[Unit]
|
2
|
+
Description=Puma HTTP Server Accept Sockets
|
3
|
+
|
4
|
+
[Socket]
|
5
|
+
<% listen_streams.each do |s| %>
|
6
|
+
ListenStream=<%= s %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
# Socket options matching Puma defaults
|
10
|
+
NoDelay=true
|
11
|
+
ReusePort=true
|
12
|
+
Backlog=1024
|
13
|
+
|
14
|
+
[Install]
|
15
|
+
WantedBy=sockets.target
|
@@ -79,8 +79,6 @@ listen_addresses = '*'
|
|
79
79
|
# defaults to 'localhost'; use '*' for all
|
80
80
|
# (change requires restart)
|
81
81
|
#port = 5432 # (change requires restart)
|
82
|
-
# Note: In RHEL-like installations, you can't set the port number here;
|
83
|
-
# adjust it in the service file instead.
|
84
82
|
max_connections = 100 # (change requires restart)
|
85
83
|
# Note: Increasing max_connections costs ~400 bytes of shared memory per
|
86
84
|
# connection slot, plus lock space (see max_locks_per_transaction).
|
@@ -136,6 +134,7 @@ max_connections = 100 # (change requires restart)
|
|
136
134
|
shared_buffers = <%= shared_buffers %> # min 128kB
|
137
135
|
# (change requires restart)
|
138
136
|
#huge_pages = try # on, off, or try (9.4+)
|
137
|
+
# (change requires restart)
|
139
138
|
#temp_buffers = 8MB # min 800kB
|
140
139
|
#max_prepared_transactions = 0 # zero disables the feature
|
141
140
|
# (change requires restart)
|
@@ -145,6 +144,8 @@ shared_buffers = <%= shared_buffers %> # min 128kB
|
|
145
144
|
# actively intend to use prepared transactions.
|
146
145
|
work_mem = <%= work_mem %> # min 64kB
|
147
146
|
maintenance_work_mem = <%= maintenance_work_mem %> # min 1MB
|
147
|
+
#replacement_sort_tuples = 150000 # limits use of replacement selection sort (9.6+)
|
148
|
+
#autovacuum_work_mem = -1 # min 1MB, or -1 to use maintenance_work_mem (9.4+)
|
148
149
|
max_stack_depth = <%= max_stack_depth %> # min 100kB
|
149
150
|
#dynamic_shared_memory_type = posix # the default is the first option (9.4+)
|
150
151
|
# supported by the operating system:
|
@@ -177,13 +178,20 @@ max_stack_depth = <%= max_stack_depth %> # min 100kB
|
|
177
178
|
|
178
179
|
#bgwriter_delay = 200ms # 10-10000ms between rounds
|
179
180
|
#bgwriter_lru_maxpages = 100 # 0-1000 max buffers written/round
|
180
|
-
#bgwriter_lru_multiplier = 2.0 # 0-10.0
|
181
|
+
#bgwriter_lru_multiplier = 2.0 # 0-10.0 multiplier on buffers scanned/round
|
182
|
+
#bgwriter_flush_after = 0 # 0 disables,
|
183
|
+
# default is 512kb on linux, 0 otherwise (9.6+)
|
181
184
|
|
182
185
|
# - Asynchronous Behavior -
|
183
186
|
|
184
187
|
effective_io_concurrency = <%= effective_io_concurrency %>
|
185
188
|
# 1-1000; 0 disables prefetching
|
186
|
-
#max_worker_processes = 8 # (9.4+)
|
189
|
+
#max_worker_processes = 8 # (change requires restart, 9.4+)
|
190
|
+
#max_parallel_workers_per_gather = 2 # taken from max_worker_processes (9.6+)
|
191
|
+
#old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is immediate (9.6+)
|
192
|
+
# (change requires restart)
|
193
|
+
#backend_flush_after = 0 # 0 disables,
|
194
|
+
# default is 128kb on linux, 0 otherwise (9.6+)
|
187
195
|
|
188
196
|
#------------------------------------------------------------------------------
|
189
197
|
# WRITE AHEAD LOG
|
@@ -192,6 +200,7 @@ effective_io_concurrency = <%= effective_io_concurrency %>
|
|
192
200
|
# - Settings -
|
193
201
|
|
194
202
|
#wal_level = minimal # minimal, archive, hot_standby, or logical
|
203
|
+
# 9.6+: minimal, replica, or logical
|
195
204
|
# (change requires restart)
|
196
205
|
#fsync = on # turns forced synchronization on or off
|
197
206
|
synchronous_commit = <%= synchronous_commit %> # synchronization level;
|
@@ -210,6 +219,7 @@ synchronous_commit = <%= synchronous_commit %> # synchronization level;
|
|
210
219
|
#wal_buffers = -1 # min 32kB, -1 sets based on shared_buffers
|
211
220
|
# (change requires restart)
|
212
221
|
#wal_writer_delay = 200ms # 1-10000 milliseconds
|
222
|
+
#wal_writer_flush_after = 1MB # 0 disables (9.6+)
|
213
223
|
|
214
224
|
commit_delay = <%= commit_delay %> # range 0-100000, in microseconds
|
215
225
|
#commit_siblings = 5 # range 1-1000
|
@@ -227,6 +237,8 @@ checkpoint_segments = <%= checkpoint_segments %> # in logfile segments, min 1, 1
|
|
227
237
|
<% end %>
|
228
238
|
#checkpoint_timeout = 5min # range 30s-1h
|
229
239
|
#checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
|
240
|
+
#checkpoint_flush_after = 0 # 0 disables,
|
241
|
+
# default is 256kb on linux, 0 otherwise
|
230
242
|
#checkpoint_warning = 30s # 0 disables
|
231
243
|
|
232
244
|
# - Archiving -
|
@@ -314,7 +326,10 @@ checkpoint_segments = <%= checkpoint_segments %> # in logfile segments, min 1, 1
|
|
314
326
|
#cpu_tuple_cost = 0.01 # same scale as above
|
315
327
|
#cpu_index_tuple_cost = 0.005 # same scale as above
|
316
328
|
#cpu_operator_cost = 0.0025 # same scale as above
|
317
|
-
#
|
329
|
+
#parallel_tuple_cost = 0.1 # same scale as above (9.6+)
|
330
|
+
#parallel_setup_cost = 1000.0 # same scale as above (9.6+)
|
331
|
+
#min_parallel_relation_size = 8MB # (9.6+)
|
332
|
+
#effective_cache_size = 4GB # (128MB was default < 9.4)
|
318
333
|
|
319
334
|
# - Genetic Query Optimizer -
|
320
335
|
|
@@ -334,6 +349,7 @@ checkpoint_segments = <%= checkpoint_segments %> # in logfile segments, min 1, 1
|
|
334
349
|
#from_collapse_limit = 8
|
335
350
|
#join_collapse_limit = 8 # 1 disables collapsing of explicit
|
336
351
|
# JOIN clauses
|
352
|
+
#force_parallel_mode = off # (9.6+)
|
337
353
|
|
338
354
|
#------------------------------------------------------------------------------
|
339
355
|
# ERROR REPORTING AND LOGGING
|
@@ -376,6 +392,8 @@ log_rotation_size = 0 # Automatic rotation of logfiles will
|
|
376
392
|
# These are relevant when logging to syslog:
|
377
393
|
#syslog_facility = 'LOCAL0'
|
378
394
|
#syslog_ident = 'postgres'
|
395
|
+
#syslog_sequence_numbers = on # (9.6+)
|
396
|
+
#syslog_split_messages = on # (9.6+)
|
379
397
|
|
380
398
|
# This is only relevant when logging to eventlog (win32):
|
381
399
|
#event_source = 'PostgreSQL'
|
@@ -447,6 +465,7 @@ log_line_prefix = '< %m >' # special values:
|
|
447
465
|
# %p = process ID
|
448
466
|
# %t = timestamp without milliseconds
|
449
467
|
# %m = timestamp with milliseconds
|
468
|
+
# %n = timestamp with milliseconds (Unix epoch, 9.6+)
|
450
469
|
# %i = command tag
|
451
470
|
# %e = SQL state
|
452
471
|
# %c = session ID
|
@@ -540,6 +559,7 @@ log_timezone = 'UTC'
|
|
540
559
|
#session_replication_role = 'origin'
|
541
560
|
#statement_timeout = 0 # in milliseconds, 0 is disabled
|
542
561
|
#lock_timeout = 0 # in milliseconds, 0 is disabled
|
562
|
+
#idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is disabled
|
543
563
|
#vacuum_freeze_min_age = 50000000
|
544
564
|
#vacuum_freeze_table_age = 150000000
|
545
565
|
#vacuum_multixact_freeze_min_age = 5000000
|
data/test/test_components.rb
CHANGED
@@ -23,6 +23,12 @@ require 'syncwrap'
|
|
23
23
|
|
24
24
|
module SyncWrap
|
25
25
|
|
26
|
+
class RpmUrlInstaller < Component
|
27
|
+
def install
|
28
|
+
dist_install( "http://foo.bar/goo-3.3.4.x86_64.rpm" )
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
26
32
|
# Each of the following are default auto test construction plans,
|
27
33
|
# for all components, used below. The last component is under test
|
28
34
|
# and run via #install if implemented. The prior components are
|
@@ -57,6 +63,11 @@ module SyncWrap
|
|
57
63
|
[ RHEL, RunUser, JRubyVM, BundlerGem,
|
58
64
|
SourceTree, { source_dir: 'lib', require_clean: false },
|
59
65
|
Bundle, Puma, systemd_unit: 'puma.service' ],
|
66
|
+
[ RHEL, RunUser, JRubyVM, BundlerGem,
|
67
|
+
SourceTree, { source_dir: 'lib', require_clean: false },
|
68
|
+
Bundle, Puma, { systemd_service: 'puma.service',
|
69
|
+
systemd_socket: 'puma.socket',
|
70
|
+
puma_flags: { port: 5811 } } ],
|
60
71
|
[ Debian, OpenJDK, JRubyVM, Hashdot ],
|
61
72
|
[ RHEL, JRubyVM, RunUser, Iyyov ],
|
62
73
|
[ Ubuntu, JRubyVM, RunUser, Iyyov, IyyovDaemon, name: 'test', version: '0' ],
|
@@ -81,6 +92,7 @@ module SyncWrap
|
|
81
92
|
[ RHEL, Qpid ],
|
82
93
|
[ CentOS, QpidRepo, qpid_prebuild_repo: 'http://localhost' ],
|
83
94
|
[ RHEL ],
|
95
|
+
[ RHEL, RpmUrlInstaller ],
|
84
96
|
[ RunUser ],
|
85
97
|
[ RHEL, CRubyVM, TarpitGem ],
|
86
98
|
[ RHEL, JRubyVM, TarpitGem ],
|
@@ -122,12 +134,12 @@ module SyncWrap
|
|
122
134
|
# Don't run rsync. Return some or no changes at random.
|
123
135
|
def rsync( srcs, target, opts )
|
124
136
|
@commands << rsync_args( host, srcs, target, opts )
|
125
|
-
( rand(2) == 1 ) ? [
|
137
|
+
( rand(2) == 1 ) ? [ [ 'something', 'somefile' ] ] : []
|
126
138
|
end
|
127
139
|
|
128
140
|
end
|
129
141
|
|
130
|
-
class TestComponents <
|
142
|
+
class TestComponents < Minitest::Test
|
131
143
|
|
132
144
|
def with_test_context( sp, host )
|
133
145
|
ctx = TestContext.new( host, sp.default_options )
|
data/test/test_context.rb
CHANGED
data/test/test_context_rput.rb
CHANGED
data/test/test_rsync.rb
CHANGED
data/test/test_shell.rb
CHANGED
@@ -21,7 +21,7 @@ require_relative 'setup'
|
|
21
21
|
|
22
22
|
require 'syncwrap/shell'
|
23
23
|
|
24
|
-
class TestShell <
|
24
|
+
class TestShell < Minitest::Test
|
25
25
|
include TestOptions
|
26
26
|
include SyncWrap::Shell
|
27
27
|
|
@@ -243,6 +243,7 @@ class TestShell < MiniTest::Unit::TestCase
|
|
243
243
|
done
|
244
244
|
SH
|
245
245
|
exit_code, outputs = capture3( cmd )
|
246
|
+
assert_equal( 0, exit_code )
|
246
247
|
assert_equal( 36_000, collect_stream( :err, outputs ).length )
|
247
248
|
assert_equal( 0, collect_stream( :out, outputs ).length )
|
248
249
|
end
|
data/test/test_space.rb
CHANGED
@@ -21,7 +21,7 @@ require_relative 'setup'
|
|
21
21
|
|
22
22
|
require 'syncwrap'
|
23
23
|
|
24
|
-
class TestSpace <
|
24
|
+
class TestSpace < Minitest::Test
|
25
25
|
include SyncWrap
|
26
26
|
|
27
27
|
def sp
|
@@ -30,6 +30,10 @@ class TestSpace < MiniTest::Unit::TestCase
|
|
30
30
|
# for test access:
|
31
31
|
public :resolve_component_methods
|
32
32
|
end
|
33
|
+
f = s.formatter
|
34
|
+
def f.write_component( *args )
|
35
|
+
#disable
|
36
|
+
end
|
33
37
|
end
|
34
38
|
|
35
39
|
end
|
@@ -65,6 +69,15 @@ class TestSpace < MiniTest::Unit::TestCase
|
|
65
69
|
class Turnip
|
66
70
|
end
|
67
71
|
|
72
|
+
class CompFailure < RuntimeError
|
73
|
+
end
|
74
|
+
|
75
|
+
class CompFail < Component
|
76
|
+
def install
|
77
|
+
raise CompFailure, "always fail"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
68
81
|
def test_host_roles
|
69
82
|
sp.host( 'localhost' )
|
70
83
|
assert_equal( 'localhost', sp.host( 'localhost' ).name )
|
@@ -219,4 +232,12 @@ class TestSpace < MiniTest::Unit::TestCase
|
|
219
232
|
end
|
220
233
|
end
|
221
234
|
|
235
|
+
def test_fail_raise
|
236
|
+
sp.host( 'localhost', CompFail.new )
|
237
|
+
sp.host( 'other', CompFail.new )
|
238
|
+
assert_raises( CompFailure ) do
|
239
|
+
sp.execute
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
222
243
|
end
|
data/test/test_space_main.rb
CHANGED
@@ -22,7 +22,11 @@ require_relative 'setup'
|
|
22
22
|
require 'syncwrap'
|
23
23
|
require 'syncwrap/version_support.rb'
|
24
24
|
|
25
|
-
class
|
25
|
+
class SyncWrap::IyyovDaemon
|
26
|
+
public :daemon_service_dir
|
27
|
+
end
|
28
|
+
|
29
|
+
class TestSpaceMain < Minitest::Test
|
26
30
|
include SyncWrap
|
27
31
|
include VersionSupport
|
28
32
|
|
@@ -35,7 +39,7 @@ class TestSpaceMain < MiniTest::Unit::TestCase
|
|
35
39
|
end
|
36
40
|
end
|
37
41
|
|
38
|
-
def
|
42
|
+
def test_wrap
|
39
43
|
skip if ( defined?( JRUBY_VERSION ) &&
|
40
44
|
( version_lt?( JRUBY_VERSION, [1,7,24] ) ||
|
41
45
|
( version_gte?( JRUBY_VERSION, [9] ) &&
|
data/test/test_zone_balancer.rb
CHANGED
@@ -21,10 +21,10 @@ require_relative 'setup'
|
|
21
21
|
|
22
22
|
require 'syncwrap'
|
23
23
|
|
24
|
-
class TestZoneBalancer <
|
24
|
+
class TestZoneBalancer < Minitest::Test
|
25
25
|
include SyncWrap
|
26
26
|
|
27
|
-
def
|
27
|
+
def test_balance
|
28
28
|
sp = Space.new
|
29
29
|
zb = ZoneBalancer
|
30
30
|
sp.with do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: syncwrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Kellum
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: term-ansicolor
|
@@ -98,14 +98,14 @@ dependencies:
|
|
98
98
|
requirements:
|
99
99
|
- - "~>"
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
101
|
+
version: 5.8.4
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
105
|
requirements:
|
106
106
|
- - "~>"
|
107
107
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
108
|
+
version: 5.8.4
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
110
|
name: rdoc
|
111
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -169,6 +169,7 @@ files:
|
|
169
169
|
- lib/syncwrap/amazon_ec2.rb
|
170
170
|
- lib/syncwrap/amazon_ws.rb
|
171
171
|
- lib/syncwrap/base.rb
|
172
|
+
- lib/syncwrap/change_key_listener.rb
|
172
173
|
- lib/syncwrap/cli.rb
|
173
174
|
- lib/syncwrap/component.rb
|
174
175
|
- lib/syncwrap/components/amazon_linux.rb
|
@@ -212,6 +213,7 @@ files:
|
|
212
213
|
- lib/syncwrap/ruby_support.rb
|
213
214
|
- lib/syncwrap/shell.rb
|
214
215
|
- lib/syncwrap/systemd.rb
|
216
|
+
- lib/syncwrap/systemd_service.rb
|
215
217
|
- lib/syncwrap/user_data.rb
|
216
218
|
- lib/syncwrap/version_support.rb
|
217
219
|
- lib/syncwrap/zone_balancer.rb
|
@@ -225,6 +227,7 @@ files:
|
|
225
227
|
- sync/etc/sysctl.d/61-postgresql-shm.conf.erb
|
226
228
|
- sync/etc/systemd/system/iyyov.service.erb
|
227
229
|
- sync/etc/systemd/system/puma.service.erb
|
230
|
+
- sync/etc/systemd/system/puma.socket.erb
|
228
231
|
- sync/jruby/bin/jgem
|
229
232
|
- sync/postgresql/environment
|
230
233
|
- sync/postgresql/pg_ctl.conf
|