avst-cloud 0.1.23 → 0.1.24

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,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MTJmZWUxZWJkOTBmYmNmZjA2MTI4MzMzOWQ2NDRiZTAwNjZiYjY3Yw==
5
- data.tar.gz: !binary |-
6
- YThjYjYwNzY4MmQxM2NlNDc5YjBjZDBjZDMzNTQ1NzM2YjUxYTc1NQ==
2
+ SHA1:
3
+ metadata.gz: 3370ac4ccdbfd9ceeb83ac96811777096a6e1b57
4
+ data.tar.gz: 3c223c920252d5b07f828c828f06af2e438060e3
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NWQ2ZjQyMTYzZWI5NzdjYzliMjBiZjNkNjJhZmVjN2YwNGVkZGY4MmI3MmI4
10
- NWI5ZTcxNGM2ODkzMjAxYzRiMzcyMTcyMmU4N2NmOWNiOWMwN2FmMDYwNjFj
11
- ZDJmYTIyNjdlZDI1YTVkOGNkZWZiZjlhODdmYTgzODY5MDQ0ZWE=
12
- data.tar.gz: !binary |-
13
- MzgzMDNmMDY2YTkxNDU0NjcxNTNiYTk4NmZjZjVmMWQ1MmFkZWJhYjY1ZWQ5
14
- NjI5MTY3NjkzZTdlYjZiMzFmYjI4YTI4MjA5OGE5YzE2NDg0NGUxYjBkMjI4
15
- ZTJmZmIzNzBmOWIzZDliY2M5N2RiMmE3N2FiMWFlZjJhMWY0YzQ=
6
+ metadata.gz: 009ee424963d6c69d534ae34337d70b791b63784597838a706e6ded71447ca8297c6f7a2972acc0aa5b8718b211b910b0b8ee1373ccbec686b86ac62fcfd941f
7
+ data.tar.gz: 884718437f8225ea53c5b3be975addb07e0d1d16bed4a9f737f2ab4b2013477883e9b57c97a9a893cd9ee2f280cb960d1813a04b5b6da041b1bbd03975c61fa5
@@ -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.23'
7
+ spec.version = '0.1.24'
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 }
@@ -143,10 +143,10 @@ module AvstCloud
143
143
 
144
144
  # Check if network_interface_card_id exists if not create one
145
145
  # If not, create one for virtual network provided with subnet, security group and also public ip name
146
- ip_address = check_create_network_interface(network_interface_name, network_interface_resource_group, location, virtual_network_name, subnet_name, ip_configuration_name, private_ip_allocation_method, public_ip_allocation_method, subnet_address_list, dns_list, network_address_list, address_prefix, use_public_ip, create_public_ip_configuration, virtual_network_resource_group, public_ip_resource_group, subnet_resource_group)
146
+ check_create_network_interface(network_interface_name, network_interface_resource_group, location, virtual_network_name, subnet_name, ip_configuration_name, private_ip_allocation_method, public_ip_allocation_method, subnet_address_list, dns_list, network_address_list, address_prefix, use_public_ip, create_public_ip_configuration, virtual_network_resource_group, public_ip_resource_group, subnet_resource_group)
147
147
 
148
148
  # create server
149
- server = connect.servers.create(
149
+ connect.servers.create(
150
150
  name: server_name,
151
151
  location: location,
152
152
  resource_group: resource_group,
@@ -168,10 +168,11 @@ module AvstCloud
168
168
  attach_data_disk(server, data_disk_name, data_disks[data_disk_name], storage_account_name)
169
169
  end
170
170
  end
171
- result_server = AvstCloud::AzureRmServer.new(server, server_name, ip_address, user, password)
171
+ result_server = server(server_name, resource_group, user, password, use_public_ip, network_interface_resource_group, public_ip_resource_group)
172
+
172
173
  logger.debug "[DONE]\n\n"
173
174
  logger.debug "The server has been successfully created, to login onto the server:\n"
174
- logger.debug "\t ssh #{user}@#{ip_address} with pass #{Logging.mask_message(password)} \n"
175
+ logger.debug "\t ssh #{user}@#{result_server.ip_address} with pass #{Logging.mask_message(password)} \n"
175
176
  result_server
176
177
  end
177
178
  end
@@ -39,9 +39,9 @@ module AvstCloud
39
39
  logger.debug "Bootstrap done. You can connect to server as #{@access_user} on #{@ip_address}"
40
40
  end
41
41
 
42
- def provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder)
42
+ def provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir)
43
43
  logger.debug "Provisioning #{@server_name}..."
44
- provision_task = AvstCloud::CapistranoDeploymentTask.new(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder)
44
+ provision_task = AvstCloud::CapistranoDeploymentTask.new(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir)
45
45
  run_tasks([AvstCloud::WaitUntilReady.new, provision_task])
46
46
  logger.debug "Provisioning done. You can connect to server on #{@ip_address}"
47
47
  end
@@ -176,7 +176,7 @@ module AvstCloud
176
176
 
177
177
  class CapistranoDeploymentTask < AvstCloud::Task
178
178
 
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')
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', avst_cloud_config_dir = 'config')
180
180
  unless git and (branch or reference)
181
181
  logger.debug "You have to provide git repo url #{git} and git branch #{branch} or git tag reference #{reference}".red
182
182
  raise "You have to provide git repo url #{git} and git branch #{branch} or git tag reference #{reference}"
@@ -190,6 +190,7 @@ module AvstCloud
190
190
  @puppet_runner = puppet_runner
191
191
  @puppet_runner_prepare = puppet_runner_prepare
192
192
  @destination_folder = destination_folder || '/var/opt/puppet'
193
+ @avst_cloud_config_dir = avst_cloud_config_dir || 'config'
193
194
  end
194
195
 
195
196
  def execute(server)
@@ -228,6 +229,7 @@ module AvstCloud
228
229
  ENV['avst_cloud_tmp_folder'] = @server_tmp_folder
229
230
  ENV['custom_provisioning_commands'] = @custom_provisioning_commands.to_json
230
231
  ENV['destination_folder'] = @destination_folder
232
+ ENV['avst_cloud_config_dir'] = @avst_cloud_config_dir
231
233
  logger.debug "Using git #{@git} branch #{@branch} to provision #{server.ip_address}"
232
234
 
233
235
  Capistrano::Application.invoke('production')
@@ -28,8 +28,8 @@ task :prepare_puppet_and_execute do
28
28
  avst_cloud_tmp_folder = ENV["avst_cloud_tmp_folder"]
29
29
  execute "mkdir #{avst_cloud_tmp_folder}"
30
30
 
31
- if File.exist?("config/custom_system_config")
32
- upload! "config/custom_system_config", avst_cloud_tmp_folder, recursive: true
31
+ if File.exist?("#{ENV["avst_cloud_config_dir"]}/custom_system_config")
32
+ upload! "#{ENV["avst_cloud_config_dir"]}/custom_system_config", avst_cloud_tmp_folder, recursive: true
33
33
  execute "cp -rf #{avst_cloud_tmp_folder}/custom_system_config/* /var/opt/puppet/current/."
34
34
  end
35
35
 
@@ -51,8 +51,8 @@ task :prepare_puppet_and_execute do
51
51
  execute :link_puppet
52
52
  execute :link_hiera
53
53
 
54
- if File.exist?("config/keys")
55
- upload! "config/keys", "/etc/puppet/config", recursive: true
54
+ if File.exist?("#{ENV["avst_cloud_config_dir"]}/keys")
55
+ upload! "#{ENV["avst_cloud_config_dir"]}/keys", "/etc/puppet/config", recursive: true
56
56
  end
57
57
 
58
58
  within '/etc/puppet' do
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.23
4
+ version: 0.1.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Brehovsky
@@ -10,62 +10,62 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-10-21 00:00:00.000000000 Z
13
+ date: 2016-11-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - ~>
19
+ - - "~>"
20
20
  - !ruby/object:Gem::Version
21
21
  version: '1.6'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - ~>
26
+ - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: '1.6'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rake
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ! '>='
33
+ - - ">="
34
34
  - !ruby/object:Gem::Version
35
35
  version: '0'
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ! '>='
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: fog
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ! '>='
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ! '>='
54
+ - - ">="
55
55
  - !ruby/object:Gem::Version
56
56
  version: '0'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: fog-azure
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ! '>='
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - ! '>='
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  - !ruby/object:Gem::Dependency
@@ -86,28 +86,28 @@ dependencies:
86
86
  name: azure
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ! '>='
89
+ - - ">="
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - ! '>='
96
+ - - ">="
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: rvm-capistrano
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - ! '>='
103
+ - - ">="
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  type: :runtime
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - ! '>='
110
+ - - ">="
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  - !ruby/object:Gem::Dependency
@@ -128,14 +128,14 @@ dependencies:
128
128
  name: capistrano-rvm
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - ! '>='
131
+ - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0'
134
134
  type: :runtime
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - ! '>='
138
+ - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
141
  - !ruby/object:Gem::Dependency
@@ -170,42 +170,42 @@ dependencies:
170
170
  name: derelict
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
- - - ! '>='
173
+ - - ">="
174
174
  - !ruby/object:Gem::Version
175
175
  version: '0'
176
176
  type: :runtime
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
- - - ! '>='
180
+ - - ">="
181
181
  - !ruby/object:Gem::Version
182
182
  version: '0'
183
183
  - !ruby/object:Gem::Dependency
184
184
  name: docopt
185
185
  requirement: !ruby/object:Gem::Requirement
186
186
  requirements:
187
- - - ! '>='
187
+ - - ">="
188
188
  - !ruby/object:Gem::Version
189
189
  version: 0.5.0
190
190
  type: :runtime
191
191
  prerelease: false
192
192
  version_requirements: !ruby/object:Gem::Requirement
193
193
  requirements:
194
- - - ! '>='
194
+ - - ">="
195
195
  - !ruby/object:Gem::Version
196
196
  version: 0.5.0
197
197
  - !ruby/object:Gem::Dependency
198
198
  name: colorize
199
199
  requirement: !ruby/object:Gem::Requirement
200
200
  requirements:
201
- - - ! '>='
201
+ - - ">="
202
202
  - !ruby/object:Gem::Version
203
203
  version: 0.7.3
204
204
  type: :runtime
205
205
  prerelease: false
206
206
  version_requirements: !ruby/object:Gem::Requirement
207
207
  requirements:
208
- - - ! '>='
208
+ - - ">="
209
209
  - !ruby/object:Gem::Version
210
210
  version: 0.7.3
211
211
  description: Automated creation, bootstrapping and provisioning of servers
@@ -222,8 +222,8 @@ executables:
222
222
  extensions: []
223
223
  extra_rdoc_files: []
224
224
  files:
225
- - .gitignore
226
- - .travis.yml
225
+ - ".gitignore"
226
+ - ".travis.yml"
227
227
  - Gemfile
228
228
  - LICENSE.txt
229
229
  - README.md
@@ -263,12 +263,12 @@ require_paths:
263
263
  - lib
264
264
  required_ruby_version: !ruby/object:Gem::Requirement
265
265
  requirements:
266
- - - ! '>='
266
+ - - ">="
267
267
  - !ruby/object:Gem::Version
268
268
  version: '0'
269
269
  required_rubygems_version: !ruby/object:Gem::Requirement
270
270
  requirements:
271
- - - ! '>='
271
+ - - ">="
272
272
  - !ruby/object:Gem::Version
273
273
  version: '0'
274
274
  requirements: []