sr-scripts 0.1.19 → 0.1.20
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.
- data/bin/sr-promote-to-master +13 -7
- data/lib/sr-scripts/HostsManager.rb +1 -1
- data/lib/sr-scripts/version.rb +1 -1
- metadata +39 -50
data/bin/sr-promote-to-master
CHANGED
@@ -42,7 +42,8 @@ if(options[:current_master_id] == nil || options[:new_master_id] == nil)
|
|
42
42
|
exit
|
43
43
|
end
|
44
44
|
|
45
|
-
|
45
|
+
connection_current_master = SrScripts::Compute.find_connection(options[:current_master_id])
|
46
|
+
connection_new_master = SrScripts::Compute.find_connection(options[:new_master_id])
|
46
47
|
|
47
48
|
def kill_mysql_connections(db)
|
48
49
|
results = db.query "SHOW PROCESSLIST"
|
@@ -62,14 +63,14 @@ def get_public_ip(fog, instance_id)
|
|
62
63
|
return fog.servers.get(instance_id).public_ip_address
|
63
64
|
end
|
64
65
|
|
65
|
-
fog_current_master =
|
66
|
-
fog_new_master =
|
66
|
+
fog_current_master = connection_current_master.servers.get(options[:current_master_id])
|
67
|
+
fog_new_master = connection_new_master.servers.get(options[:new_master_id])
|
67
68
|
|
68
69
|
mysql_user = options[:mysql_user]
|
69
70
|
mysql_pass = options[:mysql_password]
|
70
71
|
|
71
|
-
current_master_ip = get_public_ip(
|
72
|
-
new_master_ip = get_public_ip(
|
72
|
+
current_master_ip = get_public_ip(connection_current_master, options[:current_master_id])
|
73
|
+
new_master_ip = get_public_ip(connection_new_master, options[:new_master_id])
|
73
74
|
|
74
75
|
current_master_mysql, new_master_mysql = nil
|
75
76
|
|
@@ -113,6 +114,11 @@ if private_dns_alias
|
|
113
114
|
sns.publish(options[:sns_topic_id], "ReloadHostsFile")
|
114
115
|
end
|
115
116
|
puts "Updating Instance Tags"
|
116
|
-
|
117
|
-
|
117
|
+
connection_new_master.tags.create(:resource_id => fog_new_master.id, :key => "master_status", :value => "master")
|
118
|
+
connection_current_master.tags.create(:resource_id => fog_current_master.id, :key => "master_status", :value => "master-retired")
|
118
119
|
end
|
120
|
+
|
121
|
+
puts "Script Completed: Sleeping 10 Seconds And Then Killing Mysql Master Connections Again"
|
122
|
+
sleep 10
|
123
|
+
kill_mysql_connections current_master_mysql
|
124
|
+
|
@@ -10,7 +10,7 @@ module SrScripts
|
|
10
10
|
f.puts "# THIS FILE MANAGED BY sr-update-hosts SCRIPT"
|
11
11
|
f.puts "127.0.0.1 localhost localhost.localdomain"
|
12
12
|
rows.each_pair { |item_name, values|
|
13
|
-
f.puts "#{values['ip_address']} #{item_name}"
|
13
|
+
f.puts "#{values['ip_address'].first} #{item_name}"
|
14
14
|
}
|
15
15
|
}
|
16
16
|
end
|
data/lib/sr-scripts/version.rb
CHANGED
metadata
CHANGED
@@ -1,38 +1,36 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sr-scripts
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 1
|
8
|
-
- 19
|
9
|
-
version: 0.1.19
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.20
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Davy Campano
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2014-04-16 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: fog
|
22
|
-
|
23
|
-
|
24
|
-
requirements:
|
25
|
-
- -
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
|
28
|
-
- 0
|
29
|
-
version: "0"
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
30
22
|
type: :runtime
|
31
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
32
30
|
description: Admin scripts
|
33
|
-
email:
|
31
|
+
email:
|
34
32
|
- dcampano@gmail.com
|
35
|
-
executables:
|
33
|
+
executables:
|
36
34
|
- sr-backup-mysql
|
37
35
|
- sr-check-slave
|
38
36
|
- sr-detect-slaves
|
@@ -44,10 +42,8 @@ executables:
|
|
44
42
|
- sr-update-dns
|
45
43
|
- sr-update-hosts-file
|
46
44
|
extensions: []
|
47
|
-
|
48
45
|
extra_rdoc_files: []
|
49
|
-
|
50
|
-
files:
|
46
|
+
files:
|
51
47
|
- .gitignore
|
52
48
|
- Gemfile
|
53
49
|
- Rakefile
|
@@ -67,35 +63,28 @@ files:
|
|
67
63
|
- lib/sr-scripts/version.rb
|
68
64
|
- sr-scripts.gemspec
|
69
65
|
- test.rb
|
70
|
-
|
71
|
-
homepage: ""
|
66
|
+
homepage: ''
|
72
67
|
licenses: []
|
73
|
-
|
74
68
|
post_install_message:
|
75
69
|
rdoc_options: []
|
76
|
-
|
77
|
-
require_paths:
|
70
|
+
require_paths:
|
78
71
|
- lib
|
79
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
requirements:
|
88
|
-
- -
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
|
91
|
-
- 0
|
92
|
-
version: "0"
|
72
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
80
|
+
requirements:
|
81
|
+
- - ! '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
93
84
|
requirements: []
|
94
|
-
|
95
85
|
rubyforge_project: sr-scripts
|
96
|
-
rubygems_version: 1.
|
86
|
+
rubygems_version: 1.8.23
|
97
87
|
signing_key:
|
98
88
|
specification_version: 3
|
99
89
|
summary: Admin scripts
|
100
90
|
test_files: []
|
101
|
-
|