socotra-build 0.3.46 → 0.3.47
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/lib/socotra-build.rb +12 -12
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 105b9a92916d116c3c0045a5c815e194bf721896
|
|
4
|
+
data.tar.gz: 2b42b8a7b4ae330b71eda818398648b048e8284a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 88952073df2c626efbbd3cac12c8206068bda03cecc1d34fe975084e59ebd5996d98a510d199598fb8603607d7ea6397b462a4d60b571a03608a1d2502ecbcf1
|
|
7
|
+
data.tar.gz: a9bff08ffbe87bd543b45112f60a8ec0b04a5562466e1bbca77f51cd6f4c28efad63da2a556ab9bca21ede24b38ef157a1ed1f410a233b20ea7086e3748efceb
|
data/lib/socotra-build.rb
CHANGED
|
@@ -3,8 +3,8 @@ require 'set'
|
|
|
3
3
|
require 'timeout'
|
|
4
4
|
require_relative 's3_uploader'
|
|
5
5
|
|
|
6
|
-
def self.safe_retry(cmd, description, error_message="command failed", raise_on_fail=true,
|
|
7
|
-
retry_count
|
|
6
|
+
def self.safe_retry(cmd, description, error_message="command failed", raise_on_fail=true, log=true, tries=3, timeout=0)
|
|
7
|
+
retry_count = 0
|
|
8
8
|
begin
|
|
9
9
|
if retry_count == (tries - 1)
|
|
10
10
|
last_try = true
|
|
@@ -12,7 +12,7 @@ def self.safe_retry(cmd, description, error_message="command failed", raise_on_f
|
|
|
12
12
|
last_try = false
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
status, output = system_safe(cmd, description, error_message, raise_on_fail=raise_on_fail,
|
|
15
|
+
status, output = system_safe(cmd, description, error_message, raise_on_fail=raise_on_fail, log=log, print_command=true, retry_exec=true, timeout=timeout, log_file_number=retry_count, last_try=last_try)
|
|
16
16
|
rescue
|
|
17
17
|
sleep 5
|
|
18
18
|
retry if (retry_count += 1) < (tries)
|
|
@@ -104,11 +104,11 @@ def self.logger(log, success, retry_exec, raise_on_fail, log_out, log_err, log_l
|
|
|
104
104
|
if log
|
|
105
105
|
log("INFO", "Logs available here: #{log_err} and #{log_out}" )
|
|
106
106
|
else
|
|
107
|
-
log("INFO", "
|
|
107
|
+
log("INFO", "Logs unavailable due to user settings")
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
if not (success or retry_exec)
|
|
111
|
-
log(
|
|
111
|
+
log("ERROR", error_message)
|
|
112
112
|
raise
|
|
113
113
|
end
|
|
114
114
|
|
|
@@ -131,7 +131,7 @@ def self.logger(log, success, retry_exec, raise_on_fail, log_out, log_err, log_l
|
|
|
131
131
|
end
|
|
132
132
|
end
|
|
133
133
|
|
|
134
|
-
def self.system_safe(cmd=cmd, cmd_description=cmd_description, error_message=error_message, raise_on_fail=true,
|
|
134
|
+
def self.system_safe(cmd=cmd, cmd_description=cmd_description, error_message=error_message, raise_on_fail=true, log=true, print_command=true, retry_exec=false, timeout=0, log_file_number=1, last_try=true)
|
|
135
135
|
start = Time.now.to_i
|
|
136
136
|
|
|
137
137
|
cmd_sanitized = get_sanitized_cmd(cmd)
|
|
@@ -158,7 +158,7 @@ def self.system_safe(cmd=cmd, cmd_description=cmd_description, error_message=err
|
|
|
158
158
|
file = File.open(log_out, "rb")
|
|
159
159
|
out = file.read
|
|
160
160
|
|
|
161
|
-
logger(log, success, retry_exec, raise_on_fail, log_out, log_err,
|
|
161
|
+
logger(log, success, retry_exec, raise_on_fail, log_out, log_err, error_message, last_try)
|
|
162
162
|
|
|
163
163
|
return success
|
|
164
164
|
end
|
|
@@ -177,25 +177,25 @@ end
|
|
|
177
177
|
|
|
178
178
|
def self.put_secret(key, subkey_value_map, log_identifier)
|
|
179
179
|
cmd = "vault write #{key} #{subkey_value_map}"
|
|
180
|
-
system_safe(cmd, log_identifier, "Put secret failed", true,
|
|
180
|
+
system_safe(cmd, log_identifier, "Put secret failed", true, false)
|
|
181
181
|
end
|
|
182
182
|
|
|
183
183
|
def self.generate_aws_keys(key, log_identifier)
|
|
184
184
|
cmd = "vault read #{key}"
|
|
185
185
|
|
|
186
|
-
status, output = system_safe(cmd, log_identifier, "AWS key generation failed", true,
|
|
186
|
+
status, output = system_safe(cmd, log_identifier, "AWS key generation failed", true, false)
|
|
187
187
|
|
|
188
188
|
cmd = "echo '#{output}' |grep access_key|awk '{print $2'}"
|
|
189
|
-
status, account_access_key = system_safe(cmd, "get_generated_access_key", "Getting account access key failed", true,
|
|
189
|
+
status, account_access_key = system_safe(cmd, "get_generated_access_key", "Getting account access key failed", true, false, false)
|
|
190
190
|
|
|
191
191
|
account_access_key = account_access_key.strip
|
|
192
192
|
|
|
193
193
|
cmd = "echo '#{output}' |grep secret_key|awk '{print $2'}"
|
|
194
|
-
status, account_secret_key = system_safe(cmd, "get_generated_access_key", "Getting account access key failed", true,
|
|
194
|
+
status, account_secret_key = system_safe(cmd, "get_generated_access_key", "Getting account access key failed", true, false, false)
|
|
195
195
|
account_secret_key = account_secret_key.strip
|
|
196
196
|
|
|
197
197
|
cmd = "echo '#{output}' |grep lease_id|awk '{print $2'}"
|
|
198
|
-
status, lease_id = system_safe(cmd, "get_generated_access_key", "Getting account access key failed", true,
|
|
198
|
+
status, lease_id = system_safe(cmd, "get_generated_access_key", "Getting account access key failed", true, false, false)
|
|
199
199
|
lease_id = lease_id.strip
|
|
200
200
|
|
|
201
201
|
return account_access_key, account_secret_key, lease_id
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: socotra-build
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.47
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chris Antenesse
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-07-
|
|
11
|
+
date: 2017-07-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Common functions for build
|
|
14
14
|
email: chris.antenesse@socotra.com
|