jetpants 0.7.4 → 0.7.6

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.
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.