avst-cloud 0.1.20 → 0.1.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjFkMjViN2E1ZjcyZGQ4MjkxNWQ4OGQwMmE1NTFkYmM0YjRjOGMwNQ==
4
+ ZjNlODExNDZjNDRmNTg4MzkyYzFmMzBhM2I1Njg4YjdkZTFkODk0Nw==
5
5
  data.tar.gz: !binary |-
6
- OWE2NWM0MjRjZjY4ZDM3OTZkZDdlYzE1YzZlNTZlZDE4ZGQwMWE0OQ==
6
+ MTkyMDI2YThlNmUxNjgyODFmNmQ2MGQwZTYyOWE0NmRkMTEzYjdlMw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- Mjc4MDg4ZWJlMWE1YTE2ODFkYjExZWYyNmU2OTExZWFkZDYxZmFmYTUyNDBl
10
- ZGI5YzM5OGU2YzcyYWE4M2E2OGJkMzMwODU5YWMzZTc1ZGI3ZjE5OTMzMTMw
11
- NzM1YmNhMGQzM2Y2ZGU2NDMwZDQyMTNjYTc0YzE2YzQzZWYwMjA=
9
+ N2ZkMDA3NTE0MjI4ZTliNGFlZDkzYzU2NjI1OGRiZmEyNTBkZDhhODcyN2I4
10
+ ZDlkZmZlYjM4YThlZmVhOTY4M2M1NGMwY2FjMmM5NGRjM2I1YjhiMjIyMTMx
11
+ YmJjZmViY2IxYzhiNTY0NzU2ZTQwYzg2MjdiNWQyMDkyMDc5ODA=
12
12
  data.tar.gz: !binary |-
13
- NDBlZjRkNTllMzdjMzlkZjU0ZTMxN2U5NTcwNTMwYjFkMGVjMTBhMzY5NzYw
14
- NjY0ZmJhZDlkYWM3YTM1ZmRmY2RiNWVmMjkxNjQ5YzczZmVhZTA3OTVhMDE3
15
- MWY4NDAxZDNlNjEyOWJkOGU1YTEyMzQ3MjA2MThjZWExMzc3NmQ=
13
+ NmYwNTJlZDQ4MDFlMWEzNGI0ODI2NmNkMjQ1NDUzOTRhNTYwMWZmODE3MzRj
14
+ ODBhNzQzNWZjMzU2YjM3YmIyOGMwZWEwNTczZGFiY2VhMjI5YzZlMjVmMTk5
15
+ M2U5MThiNTQ0ZDFhYzlmNTNmNzU2ZTVhNGU3OGJkMTI2YTk3MGM=
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "avst-cloud"
7
- spec.version = '0.1.20'
7
+ spec.version = '0.1.21'
8
8
  spec.authors = ["Martin Brehovsky", "Jon Bevan", "Matthew Hope"]
9
9
  spec.email = ["mbrehovsky@adaptavist.com", "jbevan@adaptavist.com", "mhope@adaptavist.com"]
10
10
  spec.summary = %q{Automated creation, bootstrapping and provisioning of servers }
@@ -115,7 +115,7 @@ module AvstCloud
115
115
  logger.debug "storage_account_name - #{storage_account_name}"
116
116
  logger.debug "vm_size - #{vm_size}"
117
117
  logger.debug "user - #{user}"
118
- logger.debug "password - #{password}"
118
+ logger.debug "password - #{Logging.mask_message(password)}"
119
119
  logger.debug "publisher - #{publisher}"
120
120
  logger.debug "offer - #{offer}"
121
121
  logger.debug "sku - #{sku}"
@@ -171,7 +171,7 @@ module AvstCloud
171
171
  result_server = AvstCloud::AzureRmServer.new(server, server_name, ip_address, user, password)
172
172
  logger.debug "[DONE]\n\n"
173
173
  logger.debug "The server has been successfully created, to login onto the server:\n"
174
- logger.debug "\t ssh #{user}@#{ip_address} with pass #{password} \n"
174
+ logger.debug "\t ssh #{user}@#{ip_address} with pass #{Logging.mask_message(password)} \n"
175
175
  result_server
176
176
  end
177
177
  end
@@ -15,22 +15,34 @@
15
15
  require 'logger'
16
16
 
17
17
  module Logging
18
+
19
+ def self.logger
20
+ @logger ||= Logger.new(STDOUT)
21
+ end
22
+
23
+ def self.logger=(logger)
24
+ @logger = logger
25
+ end
26
+
27
+ def self.show_passwords=(show_passwords)
28
+ @show_passwords = show_passwords
29
+ end
30
+
31
+ def self.mask_message(message)
32
+ !@show_passwords ? "*****" : message
33
+ end
34
+
35
+ # Addition
18
36
  def self.included(base)
19
37
  class << base
20
38
  def logger
21
- @logger ||= Logger.new($stdout)
22
- end
23
-
24
- def logger=(logger)
25
- @logger = logger
39
+ Logging.logger
26
40
  end
27
41
  end
28
42
  end
29
43
 
30
44
  def logger
31
- self.class.logger
32
- end
33
- def logger=(logger)
34
- @logger = logger
45
+ Logging.logger
35
46
  end
47
+
36
48
  end
@@ -78,7 +78,7 @@ module AvstCloud
78
78
  logger.debug "You can continute to monitor the build process through the web console at https://mycloud.rackspace.com/\n\n"
79
79
  raise "Timeout while creating Rackspace server #{server_name}"
80
80
  end
81
- logger.debug "The #{server.username} password is #{server.password}\n\n"
81
+ logger.debug "The #{server.username} password is #{Logging.mask_message(server.password)}\n\n"
82
82
  end
83
83
  result_server.access_user = server.username
84
84
  result_server.access_password = server.password
@@ -126,7 +126,7 @@ module AvstCloud
126
126
  private
127
127
  def connect
128
128
  unless @connection
129
- logger.debug "Creating new connection to rackspace: #{@provider_user} #{@provider_pass} #{@region}"
129
+ logger.debug "Creating new connection to rackspace: #{@provider_user} #{Logging.mask_message(@provider_pass)} #{@region}"
130
130
  @connection = Fog::Compute.new({
131
131
  :provider => 'rackspace',
132
132
  :rackspace_username => @provider_access_user,
@@ -26,7 +26,6 @@ module AvstCloud
26
26
  end
27
27
 
28
28
  class SshTask < AvstCloud::Task
29
- include Logging
30
29
  def execute(server)
31
30
  unless server.ip_address
32
31
  logger.error 'Can not find host'.red
@@ -43,7 +42,7 @@ module AvstCloud
43
42
  raise 'Password not found. Please provide root_password in config. for this server.'
44
43
  end
45
44
 
46
- logger.debug "Using #{server.access_user}@#{server.ip_address} with #{server.access_password} to perform ssh task."
45
+ logger.debug "Using #{server.access_user}@#{server.ip_address} with #{Logging.mask_message(server.access_password)} to perform ssh task."
47
46
  attempts = 1
48
47
  success = false
49
48
  max_attempts = 50
@@ -71,8 +70,6 @@ module AvstCloud
71
70
  end
72
71
 
73
72
  class SshCommandTask < AvstCloud::SshTask
74
- include Logging
75
-
76
73
  def initialize(cmds, debug = false, structured_log = false)
77
74
  @cmds = cmds
78
75
  @debug = debug
@@ -107,7 +104,6 @@ module AvstCloud
107
104
  # for user that performs it
108
105
  # In case user does not have sudo no pass, enable it for bootstrapping and provisioning
109
106
  class DisableRequireTty < AvstCloud::SshTask
110
- include Logging
111
107
  def initialize(for_user, pass, enable_passwordless_sudo=false)
112
108
  @for_user = for_user
113
109
  @user_password = pass
@@ -153,7 +149,6 @@ module AvstCloud
153
149
  end
154
150
 
155
151
  class WaitUntilReady < AvstCloud::SshTask
156
- include Logging
157
152
 
158
153
  def ssh_command(session)
159
154
  session.open_channel do |channel|
@@ -180,7 +175,6 @@ module AvstCloud
180
175
  end
181
176
 
182
177
  class CapistranoDeploymentTask < AvstCloud::Task
183
- include Logging
184
178
 
185
179
  def initialize(git, branch, server_tmp_folder = "/tmp/avst_cloud_tmp_#{Time.now.to_i}", reference = nil, custom_provisioning_commands = [], puppet_runner = nil, puppet_runner_prepare = nil, destination_folder = '/var/opt/puppet')
186
180
  unless git and (branch or reference)
@@ -214,8 +208,7 @@ module AvstCloud
214
208
  raise 'Password not found. Please provide root_password in config. for this server.'
215
209
  end
216
210
 
217
- logger.debug "Using #{server.access_user}@#{server.ip_address} with #{server.access_password}"
218
-
211
+ logger.debug "Using #{server.access_user}@#{server.ip_address} with #{Logging.mask_message(server.access_password)}"
219
212
 
220
213
  # Initiate capistrano deploy script to download the laters code and provision the server
221
214
  require 'capistrano/all'
@@ -264,7 +257,6 @@ module AvstCloud
264
257
  end
265
258
 
266
259
  class ScpTask < AvstCloud::Task
267
- include Logging
268
260
 
269
261
  def initialize(files)
270
262
  @files = files
@@ -286,7 +278,7 @@ module AvstCloud
286
278
  raise 'Password not found. Please provide root_password in config. for this server.'
287
279
  end
288
280
 
289
- logger.debug "Using #{server.access_user}@#{server.ip_address} with #{server.access_password}"
281
+ logger.debug "Using #{server.access_user}@#{server.ip_address} with #{Logging.mask_message(server.access_password)}"
290
282
  Net::SCP.start( server.ip_address, server.access_user, :password => server.access_password, :keys => [server.access_password] ) do |scp|
291
283
  @files.each do |local_file, remote_path|
292
284
  upload_file(scp, local_file, remote_path)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avst-cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.20
4
+ version: 0.1.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Brehovsky
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-09-20 00:00:00.000000000 Z
13
+ date: 2016-10-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler