avst-cloud 0.1.20 → 0.1.21

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