jetpants 0.7.4 → 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/jetpants +6 -1
  2. data/doc/requirements.rdoc +5 -2
  3. metadata +16 -16
data/bin/jetpants CHANGED
@@ -10,7 +10,7 @@ module Jetpants
10
10
  def initialize *args
11
11
  super
12
12
  # setup pry
13
- Pry.config.prompt = proc {|object| "# #{object} > "}
13
+ Pry.config.prompt = proc {|object, nest_level, _| "# #{object} > "}
14
14
  end
15
15
 
16
16
  # Override Thor.dispatch to allow simple callbacks, which must be before_foo /
@@ -189,6 +189,11 @@ module Jetpants
189
189
 
190
190
  source.start_mysql if ! source.running?
191
191
  error "source (#{source}) is not a standby slave" unless source.is_standby?
192
+
193
+ targets.each do |t|
194
+ error "target #{t} already has a master; please clear out node (including in asset tracker) before proceeding" if t.master
195
+ end
196
+
192
197
  source.enslave_siblings!(targets)
193
198
  targets.concurrent_each {|t| t.resume_replication; t.catch_up_to_master}
194
199
  source.pool.sync_configuration
@@ -6,8 +6,11 @@ Plugins may freely override these assumptions, and upstream patches are very wel
6
6
 
7
7
  == Environment
8
8
 
9
- * Ruby 1.9.2 or higher
10
- * MySQL (or Percona Server), specifically version 5.1 or higher.
9
+ * Ruby 1.9.2 or higher.
10
+ * If your OS bundles a non-upgradeable 1.8 Ruby, we recommend using {rvm}[https://rvm.io/] to manage multiple Ruby versions.
11
+ * To date, \Jetpants has only been tested on the MRI/YARV implementation of Ruby. We hope to add JRuby compatibility in the near future.
12
+ * Several Ruby gem module dependencies. If you're new to Ruby, the easiest way to install everything at once is <tt>gem install jetpants</tt>.
13
+ * MySQL (or compatible, like Percona Server), version 5.1 or higher.
11
14
  * a RHEL/CentOS distribution of Linux.
12
15
  * It should be easy to write a plugin supporting another distribution. The main change might be overriding Jetpants::Host#service, if your distribution doesn't have <tt>/sbin/service</tt>.
13
16
  * InnoDB / Percona XtraDB for storage engine. \Jetpants has not been tested with MyISAM, since \Jetpants is geared towards huge tables, and MyISAM is generally a bad fit.
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: jetpants
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.7.4
5
+ version: 0.7.6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Evan Elias
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2012-09-05 00:00:00 Z
14
+ date: 2012-09-18 00:00:00 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: mysql2
@@ -19,9 +19,9 @@ dependencies:
19
19
  requirement: &id001 !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
- - - ">="
22
+ - - ~>
23
23
  - !ruby/object:Gem::Version
24
- version: "0"
24
+ version: 0.3.0
25
25
  type: :runtime
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
@@ -30,9 +30,9 @@ dependencies:
30
30
  requirement: &id002 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
- - - ">="
33
+ - - ~>
34
34
  - !ruby/object:Gem::Version
35
- version: "0"
35
+ version: "3.36"
36
36
  type: :runtime
37
37
  version_requirements: *id002
38
38
  - !ruby/object:Gem::Dependency
@@ -41,9 +41,9 @@ dependencies:
41
41
  requirement: &id003 !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
- - - ">="
44
+ - - ~>
45
45
  - !ruby/object:Gem::Version
46
- version: "0"
46
+ version: "2.3"
47
47
  type: :runtime
48
48
  version_requirements: *id003
49
49
  - !ruby/object:Gem::Dependency
@@ -52,9 +52,9 @@ dependencies:
52
52
  requirement: &id004 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
- - - ">="
55
+ - - ~>
56
56
  - !ruby/object:Gem::Version
57
- version: "0"
57
+ version: 0.9.8
58
58
  type: :runtime
59
59
  version_requirements: *id004
60
60
  - !ruby/object:Gem::Dependency
@@ -63,9 +63,9 @@ dependencies:
63
63
  requirement: &id005 !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
66
- - - ">="
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: "0"
68
+ version: "0.15"
69
69
  type: :runtime
70
70
  version_requirements: *id005
71
71
  - !ruby/object:Gem::Dependency
@@ -74,9 +74,9 @@ dependencies:
74
74
  requirement: &id006 !ruby/object:Gem::Requirement
75
75
  none: false
76
76
  requirements:
77
- - - ">="
77
+ - - ~>
78
78
  - !ruby/object:Gem::Version
79
- version: "0"
79
+ version: 1.6.12
80
80
  type: :runtime
81
81
  version_requirements: *id006
82
82
  - !ruby/object:Gem::Dependency
@@ -85,9 +85,9 @@ dependencies:
85
85
  requirement: &id007 !ruby/object:Gem::Requirement
86
86
  none: false
87
87
  requirements:
88
- - - ">="
88
+ - - ~>
89
89
  - !ruby/object:Gem::Version
90
- version: "0"
90
+ version: "1.2"
91
91
  type: :runtime
92
92
  version_requirements: *id007
93
93
  description: Jetpants is an automation toolkit for handling monstrously large MySQL database topologies. It is geared towards common operational tasks like cloning slaves, rebalancing shards, and performing master promotions. It features a command suite for easy use by operations staff, though it's also a full Ruby library for use in developing custom migration scripts and database automation.