big_brother 0.8.7 → 0.8.8

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 419268b5d42c92c626048f86d0cfacd7026579f5
4
+ data.tar.gz: 045fcc7ede458c5c9444b6c33a28fe26597950d3
5
+ SHA512:
6
+ metadata.gz: f4fac606e2c724959eb52ba11293afa8057fd8222f88a0d55a2c8c76860a39dfb0f10df34ff163fced66e2c6de136db6c45e1ee57e92ae32574bd8f9a0da06a4
7
+ data.tar.gz: 5e755d21c54c7175c92da2517384039f85d0cb2efd85488347d432e525ae77ffc1ca292a3d8b32205c3099c307ae06bc5071fcc2be676a0888ebcfa31deaff7c
data/.gitignore CHANGED
@@ -3,6 +3,7 @@
3
3
  *.swp
4
4
  .bundle
5
5
  .config
6
+ .pc
6
7
  .vagrant
7
8
  .yardoc
8
9
  Gemfile.lock
@@ -10,6 +11,8 @@ InstalledFiles
10
11
  Vagrantfile
11
12
  _yardoc
12
13
  coverage
14
+ debian/big-brother
15
+ debian/big-brother.debhelper.log
13
16
  doc/
14
17
  lib/bundler/man
15
18
  pkg
data/.travis.yml CHANGED
@@ -3,3 +3,6 @@ rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
5
  sudo: false
6
+ notifications:
7
+ email:
8
+ - blue-ci-notifications@getbraintree.com
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Build Status](https://secure.travis-ci.org/braintree/big_brother.png)](http://travis-ci.org/braintree/big_brother)
4
4
 
5
- TODO: Write a gem description
5
+ Big_brother is an application to manage the weights of servers on an IPVS load balancer. It is designed to talk to litmus_paper (https://github.com/braintree/litmus_paper).
6
6
 
7
7
  ## Installation
8
8
 
@@ -0,0 +1,136 @@
1
+ #! /bin/sh
2
+ ### BEGIN INIT INFO
3
+ # Provides: bigbro
4
+ # Required-Start: $remote_fs $syslog $network
5
+ # Required-Stop: $remote_fs $syslog
6
+ # Default-Start: 2 3 4 5
7
+ # Default-Stop: 0 1 6
8
+ # Short-Description: IPVS weight coordinator.
9
+ # Description: Service to allow pacemaker to start and
10
+ # stop IPVS tunnels. Will monitor health of
11
+ # the backend nodes.
12
+ ### END INIT INFO
13
+
14
+ # Author: Braintreeps <code@getbraintree.com>
15
+
16
+ # PATH should only include /usr/* if it runs after the mountnfs.sh script
17
+ PATH=/sbin:/usr/sbin:/bin:/usr/bin
18
+ DESC="HA Service monitor"
19
+ NAME=bigbro
20
+ DAEMON=/usr/bin/$NAME
21
+ INTERPRETER=ruby
22
+ PIDFILE=/var/run/$NAME.pid
23
+ DAEMON_ARGS="--port 9000 --config /etc/big_brother/config.yml --data-dir /etc/big_brother --pid $PIDFILE --daemon"
24
+ SCRIPTNAME=/etc/init.d/$NAME
25
+
26
+ # Exit if the package is not installed
27
+ [ -x "$DAEMON" ] || exit 0
28
+
29
+ # Read configuration variable file if it is present
30
+ [ -r /etc/default/$NAME ] && . /etc/default/$NAME
31
+
32
+ # Define LSB log_* functions.
33
+ # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
34
+ . /lib/lsb/init-functions
35
+
36
+ # Exit if there is no config file
37
+ [ -e "/etc/big_brother/config.yml" ] || exit 0
38
+
39
+ #
40
+ # Function that starts the daemon/service
41
+ #
42
+ do_start()
43
+ {
44
+ # Return
45
+ # 0 if daemon has been started
46
+ # 1 if daemon was already running
47
+ # 2 if daemon could not be started
48
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
49
+ || return 1
50
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
51
+ $DAEMON_ARGS \
52
+ || return 2
53
+ # Add code here, if necessary, that waits for the process to be ready
54
+ # to handle requests from services started subsequently which depend
55
+ # on this one. As a last resort, sleep for some time.
56
+ }
57
+
58
+ #
59
+ # Function that stops the daemon/service
60
+ #
61
+ do_stop()
62
+ {
63
+ # Return
64
+ # 0 if daemon has been stopped
65
+ # 1 if daemon was already stopped
66
+ # 2 if daemon could not be stopped
67
+ # other if a failure occurred
68
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $INTERPRETER
69
+ RETVAL="$?"
70
+ [ "$RETVAL" = 2 ] && return 2
71
+ # Many daemons don't delete their pidfiles when they exit.
72
+ rm -f $PIDFILE
73
+ return "$RETVAL"
74
+ }
75
+
76
+ #
77
+ # Function that sends a SIGHUP to the daemon/service
78
+ #
79
+ do_reload() {
80
+ #
81
+ # If the daemon can reload its configuration without
82
+ # restarting (for example, when it is sent a SIGHUP),
83
+ # then implement that here.
84
+ #
85
+ start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $INTERPRETER
86
+ return 0
87
+ }
88
+
89
+ case "$1" in
90
+ start)
91
+ [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
92
+ do_start
93
+ case "$?" in
94
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
95
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
96
+ esac
97
+ ;;
98
+ stop)
99
+ [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
100
+ do_stop
101
+ case "$?" in
102
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
103
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
104
+ esac
105
+ ;;
106
+ status)
107
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
108
+ ;;
109
+ reload|force-reload)
110
+ log_daemon_msg "Reloading $DESC" "$NAME"
111
+ do_reload
112
+ log_end_msg $?
113
+ ;;
114
+ restart)
115
+ log_daemon_msg "Restarting $DESC" "$NAME"
116
+ do_stop
117
+ case "$?" in
118
+ 0|1)
119
+ do_start
120
+ case "$?" in
121
+ 0) log_end_msg 0 ;;
122
+ 1) log_end_msg 1 ;; # Old process is still running
123
+ *) log_end_msg 1 ;; # Failed to start
124
+ esac
125
+ ;;
126
+ *)
127
+ # Failed to stop
128
+ log_end_msg 1
129
+ ;;
130
+ esac
131
+ ;;
132
+ *)
133
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2
134
+ exit 3
135
+ ;;
136
+ esac
@@ -0,0 +1,2 @@
1
+ # FIXME: READMEs found
2
+ # README.md
@@ -0,0 +1,6 @@
1
+ # Automatically added by dh_installinit
2
+ if [ -x "/etc/init.d/bigbro" ]; then
3
+ update-rc.d bigbro defaults >/dev/null
4
+ invoke-rc.d bigbro start || exit $?
5
+ fi
6
+ # End automatically added section
@@ -0,0 +1,5 @@
1
+ # Automatically added by dh_installinit
2
+ if [ "$1" = "purge" ] ; then
3
+ update-rc.d bigbro remove >/dev/null
4
+ fi
5
+ # End automatically added section
@@ -0,0 +1,5 @@
1
+ # Automatically added by dh_installinit
2
+ if [ -x "/etc/init.d/bigbro" ]; then
3
+ invoke-rc.d bigbro stop || exit $?
4
+ fi
5
+ # End automatically added section
@@ -0,0 +1,2 @@
1
+ ruby:Versions=ruby1.9.1
2
+ misc:Depends=
data/debian/changelog ADDED
@@ -0,0 +1,17 @@
1
+ big-brother (0.8.8-1) stable; urgency=low
2
+
3
+ * Automatically restore watched sessions on start
4
+
5
+ -- Michael Vallaly <mike@braintreepayments.com> Wed, 27 Jan 2016 20:34:36 +0000
6
+
7
+ big-brother (0.8.7-2) unstable; urgency=low
8
+
9
+ * Add init script
10
+
11
+ -- Stephen Gelman <stephen.gelman@braintreepayments.com> Wed, 16 Dec 2015 04:42:07 +0000
12
+
13
+ big-brother (0.8.7-1) unstable; urgency=low
14
+
15
+ * Initial release (Closes: #nnnn)
16
+
17
+ -- Stephen Gelman <stephen.gelman@braintreepayments.com> Wed, 16 Dec 2015 01:10:03 +0000
data/debian/compat ADDED
@@ -0,0 +1 @@
1
+ 7
data/debian/control ADDED
@@ -0,0 +1,19 @@
1
+ Source: big-brother
2
+ Section: ruby
3
+ Priority: optional
4
+ Maintainer: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers@lists.alioth.debian.org>
5
+ Uploaders: Stephen Gelman <stephen.gelman@braintreepayments.com>
6
+ DM-Upload-Allowed: yes
7
+ Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.3.0~), ruby-rspec, ruby-rack-test, rake
8
+ Standards-Version: 3.9.3
9
+ Vcs-Git: git://github.com/braintree/big_brother.git
10
+ Vcs-Browser: https://github.com/braintree/big_brother
11
+ Homepage: https://github.com/braintree/big_brother
12
+ XS-Ruby-Versions: all
13
+
14
+ Package: big-brother
15
+ Architecture: all
16
+ XB-Ruby-Versions: ${ruby:Versions}
17
+ Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter, thin, ruby-async-rack, ruby-sinatra (>= 1.0.0), ruby-rack-fiber-pool (>= 0.9.3), ruby-eventmachine (>= 1.0.0), ruby-em-http-request (>= 1.0.0), ruby-em-synchrony (>= 1.0.0), ruby-em-resolv-replace (>= 1.1.0), ruby-em-syslog (>= 0.0.2), kwalify (>= 0.7.2)
18
+ Description: Process to monitor and update weights for servers in an IPVS pool
19
+ IPVS backend supervisor
data/debian/copyright ADDED
@@ -0,0 +1,28 @@
1
+ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2
+ Upstream-Name: big_brother
3
+ Source: https://github.com/braintree/big_brother
4
+
5
+ Files: *
6
+ Copyright: Copyright (c) 2012 Braintree Payment Solutions LLC
7
+ .
8
+ MIT License
9
+ .
10
+ Permission is hereby granted, free of charge, to any person obtaining
11
+ a copy of this software and associated documentation files (the
12
+ "Software"), to deal in the Software without restriction, including
13
+ without limitation the rights to use, copy, modify, merge, publish,
14
+ distribute, sublicense, and/or sell copies of the Software, and to
15
+ permit persons to whom the Software is furnished to do so, subject to
16
+ the following conditions:
17
+ .
18
+ The above copyright notice and this permission notice shall be
19
+ included in all copies or substantial portions of the Software.
20
+ .
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+
data/debian/files ADDED
@@ -0,0 +1 @@
1
+ big-brother_0.8.7-2_all.deb ruby optional
data/debian/install ADDED
@@ -0,0 +1 @@
1
+ config.ru /usr/share/big_brother/
@@ -0,0 +1,11 @@
1
+ --- a/lib/big_brother/cli.rb
2
+ +++ b/lib/big_brother/cli.rb
3
+ @@ -30,7 +30,7 @@
4
+
5
+ opt_parser.parse! args
6
+
7
+ - options[:config] = File.expand_path("../../config.ru", File.dirname(__FILE__))
8
+ + options[:config] = '/usr/share/big_brother/config.ru'
9
+ options[:server] = 'thin-with-callbacks'
10
+ options[:backend] = Thin::Backends::TcpServerWithCallbacks
11
+ options
@@ -0,0 +1 @@
1
+ fix_config_ru_path.patch
@@ -0,0 +1,7 @@
1
+ require 'rspec/core/rake_task'
2
+
3
+ RSpec::Core::RakeTask.new(:spec) do |spec|
4
+ spec.pattern = './spec/**/*_spec.rb'
5
+ end
6
+
7
+ task :default => :spec
data/debian/rules ADDED
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/make -f
2
+ #export DH_VERBOSE=1
3
+ #
4
+ # Uncomment to ignore all test failures (but the tests will run anyway)
5
+ #export DH_RUBY_IGNORE_TESTS=all
6
+ #
7
+ # Uncomment to ignore some test failures (but the tests will run anyway).
8
+ # Valid values:
9
+ #export DH_RUBY_IGNORE_TESTS=ruby1.8 ruby1.9.1 require-rubygems
10
+ #
11
+ # If you need to specify the .gemspec (eg there is more than one)
12
+ #export DH_RUBY_GEMSPEC=gem.gemspec
13
+
14
+ %:
15
+ dh $@ --buildsystem=ruby --with ruby
16
+
17
+ override_dh_installinit:
18
+ dh_installinit --name=bigbro
@@ -0,0 +1 @@
1
+ 3.0 (quilt)
data/debian/watch ADDED
@@ -0,0 +1,2 @@
1
+ version=3
2
+ http://pkg-ruby-extras.alioth.debian.org/cgi-bin/gemwatch/big_brother .*/big_brother-(.*).tar.gz
@@ -13,6 +13,9 @@ module BigBrother
13
13
  (@clusters.keys - new_clusters.keys).each do |removed_name|
14
14
  @clusters.delete(removed_name).stop_monitoring!
15
15
  end
16
+
17
+ ipvs_state = BigBrother.ipvs.running_configuration
18
+
16
19
  new_clusters.each do |cluster_name, cluster|
17
20
  if @clusters.key?(cluster_name)
18
21
  current_cluster = @clusters[cluster_name]
@@ -21,6 +24,11 @@ module BigBrother
21
24
  @clusters[cluster_name] = cluster.incorporate_state(@clusters[cluster_name])
22
25
  else
23
26
  @clusters[cluster_name] = cluster
27
+
28
+ if ipvs_state.key?(cluster.fwmark.to_s)
29
+ BigBrother.logger.info("resuming previously running cluster from kernel state (#{cluster.fwmark})")
30
+ cluster.start_monitoring!
31
+ end
24
32
  end
25
33
  end
26
34
  end
@@ -1,3 +1,3 @@
1
1
  module BigBrother
2
- VERSION = "0.8.7"
2
+ VERSION = "0.8.8"
3
3
  end
@@ -58,18 +58,15 @@ CombinedWeight: 300
58
58
  RESPONSE_BODY
59
59
  end
60
60
 
61
- it "attempts to synchronize the node if it is not running" do
61
+ it "attempts to synchronize/monitor the cluster if its already running in the kernel" do
62
62
  @stub_executor.add_response("ipvsadm --save --numeric", <<-OUTPUT, 0)
63
63
  -A -f 1 -s wrr
64
64
  -a -f 1 -r 10.0.1.223:80 -i -w 1
65
65
  -a -f 1 -r 10.0.1.224:80 -i -w 1
66
- -A -f 2 -s wrr
67
- -a -f 2 -r 10.0.1.225:80 -i -w 1
68
66
  OUTPUT
69
67
  BigBrother.configure(TEST_CONFIG)
70
- BigBrother.clusters['test'] = Factory.cluster(:name => 'test', :fwmark => 1)
71
68
 
72
- get "/cluster/test"
69
+ get "/cluster/test1"
73
70
 
74
71
  last_response.status.should == 200
75
72
  last_response.body.should =~ /^Running: true$/
@@ -175,13 +172,7 @@ CombinedWeight: 300
175
172
  end
176
173
 
177
174
  it "attempts to synchronize the nodes in the cluster" do
178
- @stub_executor.add_response("ipvsadm --save --numeric", <<-OUTPUT, 0)
179
- -A -f 100 -s wrr
180
- -a -f 100 -r 127.0.1.223:80 -i -w 1
181
- -a -f 100 -r 127.0.1.224:80 -i -w 1
182
- -A -f 2 -s wrr
183
- -a -f 2 -r 10.0.1.225:80 -i -w 1
184
- OUTPUT
175
+ BigBrother.ipvs.stub(:running_configuration).and_return({'100' => ['127.0.1.223', '127.0.1.224']})
185
176
  BigBrother.configure(TEST_CONFIG)
186
177
  first = Factory.node(:address => '127.0.1.223')
187
178
  second = Factory.node(:address => '127.0.1.225')
@@ -31,14 +31,22 @@ describe BigBrother do
31
31
  run_in_reactor
32
32
  around(:each) do |spec|
33
33
  response_time = 1 #seconds
34
- server = StubServer.new(<<HTTP, response_time, 9001, '127.0.0.1')
34
+ server1 = StubServer.new(<<HTTP, response_time, 9001, '127.0.0.1')
35
35
  HTTP/1.0 200 OK
36
36
  Connection: close
37
37
 
38
38
  Health: 50
39
39
  HTTP
40
+ server2 = StubServer.new(<<HTTP, response_time, 9002, '127.0.0.1')
41
+ HTTP/1.0 200 OK
42
+ Connection: close
43
+
44
+ Health: 99
45
+ HTTP
46
+
40
47
  spec.run
41
- server.stop
48
+ server1.stop
49
+ server2.stop
42
50
  end
43
51
 
44
52
  it "reconfigures the clusters" do
@@ -173,8 +181,7 @@ EOF
173
181
  end
174
182
  BigBrother.reconfigure
175
183
  BigBrother.clusters['test1'].nodes.first.path.should == "/test/another/path"
176
-
177
- @stub_executor.commands.last.should include("--weight 50")
184
+ BigBrother.clusters['test1'].nodes.first.weight.should == 50
178
185
  end
179
186
  end
180
187
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: big_brother
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.7
5
- prerelease:
4
+ version: 0.8.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Braintree
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2015-12-07 00:00:00.000000000 Z
11
+ date: 2016-02-12 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: thin
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: async-rack
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: sinatra
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rack-fiber_pool
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: eventmachine
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: em-http-request
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: em-synchrony
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: em-resolv-replace
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ~>
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ~>
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: em-syslog
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ~>
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ~>
156
137
  - !ruby/object:Gem::Version
@@ -158,7 +139,6 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: kwalify
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ~>
164
144
  - !ruby/object:Gem::Version
@@ -166,7 +146,6 @@ dependencies:
166
146
  type: :runtime
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ~>
172
151
  - !ruby/object:Gem::Version
@@ -174,7 +153,6 @@ dependencies:
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: rspec
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - ~>
180
158
  - !ruby/object:Gem::Version
@@ -182,7 +160,6 @@ dependencies:
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - ~>
188
165
  - !ruby/object:Gem::Version
@@ -190,7 +167,6 @@ dependencies:
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: rack-test
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
171
  - - ~>
196
172
  - !ruby/object:Gem::Version
@@ -198,7 +174,6 @@ dependencies:
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
178
  - - ~>
204
179
  - !ruby/object:Gem::Version
@@ -206,23 +181,20 @@ dependencies:
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: rake
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
- - - ! '>='
185
+ - - '>='
212
186
  - !ruby/object:Gem::Version
213
187
  version: '0'
214
188
  type: :development
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
- - - ! '>='
192
+ - - '>='
220
193
  - !ruby/object:Gem::Version
221
194
  version: '0'
222
195
  - !ruby/object:Gem::Dependency
223
196
  name: rake_commit
224
197
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
198
  requirements:
227
199
  - - ~>
228
200
  - !ruby/object:Gem::Version
@@ -230,7 +202,6 @@ dependencies:
230
202
  type: :development
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
205
  requirements:
235
206
  - - ~>
236
207
  - !ruby/object:Gem::Version
@@ -255,6 +226,24 @@ files:
255
226
  - big_brother.gemspec
256
227
  - bin/bigbro
257
228
  - config.ru
229
+ - debian/big-brother.bigbro.init
230
+ - debian/big-brother.docs
231
+ - debian/big-brother.postinst.debhelper
232
+ - debian/big-brother.postrm.debhelper
233
+ - debian/big-brother.prerm.debhelper
234
+ - debian/big-brother.substvars
235
+ - debian/changelog
236
+ - debian/compat
237
+ - debian/control
238
+ - debian/copyright
239
+ - debian/files
240
+ - debian/install
241
+ - debian/patches/fix_config_ru_path.patch
242
+ - debian/patches/series
243
+ - debian/ruby-tests.rake
244
+ - debian/rules
245
+ - debian/source/format
246
+ - debian/watch
258
247
  - lib/big_brother.rb
259
248
  - lib/big_brother/active_active_cluster.rb
260
249
  - lib/big_brother/active_passive_cluster.rb
@@ -305,27 +294,26 @@ files:
305
294
  - spec/support/stub_server.rb
306
295
  homepage: https://github.com/braintree/big_brother
307
296
  licenses: []
297
+ metadata: {}
308
298
  post_install_message:
309
299
  rdoc_options: []
310
300
  require_paths:
311
301
  - lib
312
302
  required_ruby_version: !ruby/object:Gem::Requirement
313
- none: false
314
303
  requirements:
315
- - - ! '>='
304
+ - - '>='
316
305
  - !ruby/object:Gem::Version
317
306
  version: '0'
318
307
  required_rubygems_version: !ruby/object:Gem::Requirement
319
- none: false
320
308
  requirements:
321
- - - ! '>='
309
+ - - '>='
322
310
  - !ruby/object:Gem::Version
323
311
  version: '0'
324
312
  requirements: []
325
313
  rubyforge_project:
326
- rubygems_version: 1.8.23
314
+ rubygems_version: 2.0.14
327
315
  signing_key:
328
- specification_version: 3
316
+ specification_version: 4
329
317
  summary: Process to monitor and update weights for servers in an IPVS pool
330
318
  test_files:
331
319
  - spec/big_brother/active_active_cluster_spec.rb