avst-cloud 0.1.23 → 0.1.24

Sign up to get free protection for your applications and to get access to all the features.
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: []