mondupe 0.0.34 → 0.0.35
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/bin/mondupe +1 -0
- data/lib/mondupe.rb +15 -19
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 09d1178f6114f5753a0085ebd2cb18b9a00002fd
|
4
|
+
data.tar.gz: 13ab96c86ca846ff06af27e71bbecad50acaaa2f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ab3b7c62aeb7cabbb332da35483ea1d695014c5d6abba1f218c3b1c86c87fc011f2dfd983b60b14ac01dd8f97ca236a360f3203236c69e323649dfcf9a3c2bd
|
7
|
+
data.tar.gz: 725e2f6dfdf4fb4f8bc60a3cb67dbbe37bece5ecad4251028170d7092e25a99a48f75d9666e1a1a345976f9cbece8ae83e0ab92593ad5e004e94e4fcd1642584
|
data/bin/mondupe
CHANGED
data/lib/mondupe.rb
CHANGED
@@ -86,21 +86,25 @@ class Mondupe
|
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
89
|
+
def try_command(tries, command)
|
90
|
+
begin
|
91
|
+
`#{command}` or raise "Failure"
|
92
|
+
rescue
|
93
|
+
tries -= 1
|
94
|
+
if tries > 0
|
95
|
+
puts "Trying again. #{tries} left."
|
96
|
+
retry
|
97
|
+
end
|
98
|
+
puts "Failed after #{tries} retries..."
|
99
|
+
end
|
100
|
+
end
|
89
101
|
|
90
102
|
def bootstrap(instance_name, instance_fqdn, instance_ipaddress, chef_environment, chef_identity_file, chef_run_list, ssh_user, knife_exec)
|
91
103
|
# Bootstrap the new instance with chef
|
92
104
|
puts "Bootstraping node with Chef..."
|
93
105
|
puts "Running..."
|
94
106
|
#puts "#{knife_exec} bootstrap #{instance_ipaddress} -N #{instance_fqdn[0...-1]} -E #{chef_environment} -i #{chef_identity_file} -r #{chef_run_list} -x #{ssh_user} --sudo"
|
95
|
-
|
96
|
-
begin
|
97
|
-
sleep 30
|
98
|
-
system("#{knife_exec} bootstrap #{instance_ipaddress} -N #{instance_fqdn[0...-1]} -E #{chef_environment} -i #{chef_identity_file} -r #{chef_run_list} -x #{ssh_user} --sudo") or raise "Knife bootstrap failed"
|
99
|
-
rescue
|
100
|
-
tries -= 1
|
101
|
-
puts "Cannot connect to node, trying again... #{tries} left."
|
102
|
-
retry if tries > 0
|
103
|
-
end
|
107
|
+
try_command(20, "#{knife_exec} bootstrap #{instance_ipaddress} -N #{instance_fqdn[0...-1]} -E #{chef_environment} -i #{chef_identity_file} -r #{chef_run_list} -x #{ssh_user} --sudo") or abort "Knife bootstrap failed"
|
104
108
|
end
|
105
109
|
|
106
110
|
def get_db_dump_from_s3(instance_ip, s3_bucket_name, dump_tmp_path, ssh_user, dump_file_name)
|
@@ -128,15 +132,7 @@ class Mondupe
|
|
128
132
|
db_connect_string = "mongo #{mongo_db_name}"
|
129
133
|
db_connect_string << " -u \"#{mongo_user}\" -p \"#{mongo_pass}\"" if !mongo_user.nil? && !mongo_pass.nil?
|
130
134
|
db_connect_string << " --authenticationDatabase \"#{mongo_auth_db}\"" if !mongo_auth_db.nil?
|
131
|
-
|
132
|
-
begin
|
133
|
-
`#{ssh_command} "echo 'db.serverStatus()' | #{db_connect_string}"` or raise "Connection failed..."
|
134
|
-
sleep 20
|
135
|
-
rescue
|
136
|
-
tries -= 1
|
137
|
-
puts "Could not connect to DB. Trying again... #{tries} left."
|
138
|
-
retry if tries > 0
|
139
|
-
end
|
135
|
+
try_command(20, "#{ssh_command} \"echo 'db.serverStatus()' | #{db_connect_string}\"") or abort "Failed to connect"
|
140
136
|
puts "#{Time.now.to_s} - Dropping existing database"
|
141
137
|
`#{ssh_command} "#{db_connect_string} --eval 'db.dropDatabase()'"`
|
142
138
|
if $?.success? then puts "#{Time.now.to_s} - Database drop complete" else abort("Error dropping database") end
|
@@ -162,7 +158,7 @@ class Mondupe
|
|
162
158
|
#puts "Connect String: #{db_connect_string}"
|
163
159
|
puts "#{Time.now.to_s} - Running command on #{instance_dns} against #{mongo_db_name}"
|
164
160
|
puts "JS Query: #{java_command}"
|
165
|
-
db_output =
|
161
|
+
db_output = try_command(20, "ssh -i #{ssh_key} #{ssh_user}@#{instance_dns} \"#{db_connect_string} --eval '#{java_command}'\"") or abort "Failed to run command"
|
166
162
|
puts db_output
|
167
163
|
if $?.success? then puts "#{Time.now.to_s} - Command execution complete" else abort("Error executing command") end
|
168
164
|
end
|