avst-cloud 0.1.32 → 0.1.34

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78c2594a42f7a68a61eb24543dc369bfc27b02796f37e80ad29c66ca00bf18f7
4
- data.tar.gz: bcb3e6ad15450db234086533de8115df9c6f70af29c254e0ff3eee249ddf7876
3
+ metadata.gz: a7ade3d1a34eb13a1f59c2c0d2b1e45052da700d1486863ab8ffe15d83556961
4
+ data.tar.gz: 7fc3fc9dbb2a5a81db491884481e9ee5a7e31fe93ed14d0c35efaf8260353767
5
5
  SHA512:
6
- metadata.gz: 556be45093bfe379d965ee19c3986a3cefa3d671d76f58ece5f7362df0ecf722f098be4ef4b596539fb3dfb210f535180a6232182719f46c547a8be5ece07a44
7
- data.tar.gz: 36ff0c72ac07c240fb793b9db4cf49cfd3d63adb2fd64c396c270e404a082b49c3623f8c057f4c2c76da18dadbacf36d06b7b5c4287bcd529319cefb7273a89d
6
+ metadata.gz: cc1993fb4976ec41a56d7d7f74552f09e74f5730a9627f5bf6caea81ef3950fb97ef157a052583b1042ac7efbf76db9087d5dd4d2d1ebf8270b3aeccf9140edc
7
+ data.tar.gz: 3dfc93f2648b8829b0edea4bd2d31d50ab85946e4260d6e6bf03fdc53a6dc951b633de84e39b214d31f0aba3d2fd8665a2c55ee396362f846f5e668f30bedfd6
data/README.md CHANGED
@@ -161,7 +161,7 @@ If puppet_runner param is defined:
161
161
  * create avst_cloud_tmp_folder on the server
162
162
  * uploads the content of local folder config/custom_system_config to it and then moves it to destination_folder, in subfolder hiera-configs the only files uploaded may be server_name.yaml, server_name_facts.yaml and puppetfile_dictionary.yaml
163
163
  * if puppet_runner_prepare is defined, it will run it
164
- * r10k puppetfile install
164
+ * if download_dependencies_command is defined, it will run it, in the common case should be 'r10k puppetfile install'
165
165
  * clear /etc/puppet folder
166
166
  * link /var/opt/puppet/current to /etc/puppet
167
167
  * links /var/opt/puppet/current/hiera.yaml to /etc/hiera.yaml
@@ -178,9 +178,11 @@ If custom_provisioning_command is defined, it will run the command on the server
178
178
  branch = "master"
179
179
  puppet_runner = nil
180
180
  puppet_runner_prepare = nil
181
+ avst_cloud_config_dir = nil
182
+ download_dependencies_command = nil
181
183
  custom_provisioning_command = "echo 'done' >> /tmp/done",
182
184
  destination_folder = nil
183
- server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder)
185
+ server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir, download_dependencies_command)
184
186
 
185
187
 
186
188
  ```
@@ -218,12 +220,14 @@ branch = "master" # branch
218
220
  reference = nil # tag
219
221
  # In this example we are using puppet-runner to apply our puppet configs, check doco
220
222
  puppet_runner = "puppet-runner start"
223
+ avst_cloud_config_dir = 'config'
224
+ download_dependencies_command = 'gem install r10k -v 2.6.4; r10k puppetfile install'
221
225
  puppet_runner_prepare = "puppet-runner prepare -c ./hiera-configs -d ./hiera -f ./environments/production/modules/hosts/facts.d -t ./hiera-configs -r ./hiera-configs/puppetfile_dictionary.yaml -o ./Puppetfile -e /var/opt/puppet/secure/keys"
222
226
 
223
227
  custom_provisioning_commands = ["echo 'done' >> /tmp/done"]
224
228
  # defaults to /var/opt/puppet
225
229
  destination_folder = nil
226
230
 
227
- server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder)
231
+ server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder. avst_cloud_config_dir, download_dependencies_command)
228
232
 
229
233
  ```
@@ -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.32'
7
+ spec.version = '0.1.34'
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 }
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "sshkit", "~> 1.16.0"
30
30
  spec.add_dependency "derelict"
31
31
  spec.add_dependency "docopt", ">= 0.5.0"
32
- spec.add_dependency "colorize", ">= 0.7.3"
32
+ spec.add_dependency "rainbow"
33
33
  spec.add_dependency "nokogiri", '1.8.2'
34
34
  end
35
35
 
@@ -81,11 +81,13 @@ reference = nil # Tag
81
81
  # In this example we do not use puppet-runner, check doco
82
82
  puppet_runner = nil
83
83
  puppet_runner_prepare = nil
84
+ avst_cloud_config_dir = nil
85
+ download_dependencies_command = nil
84
86
  custom_provisioning_commands = ["echo 'done' >> /tmp/done", "echo 'done' >> /tmp/done1"]
85
87
  server_tmp_folder="/tmp/avst_cloud_tmp_#{Time.now.to_i}"
86
88
 
87
89
  destination_folder = nil # defaults to /var/opt/puppet
88
- server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder)
90
+ server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir, download_dependencies_command)
89
91
 
90
92
  # puts conn.server_status(server_name)
91
93
  # server.stop
@@ -15,7 +15,8 @@
15
15
  require 'net/ssh'
16
16
  require 'net/scp'
17
17
  require 'uri'
18
- require 'colorize'
18
+ require 'rainbow/refinement'
19
+ using Rainbow
19
20
  require 'fog'
20
21
  module AvstCloud
21
- end
22
+ 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, avst_cloud_config_dir)
42
+ def provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir, download_dependencies_command)
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, avst_cloud_config_dir)
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, download_dependencies_command)
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', avst_cloud_config_dir = 'config')
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', download_dependencies_command = nil)
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}"
@@ -188,6 +188,7 @@ module AvstCloud
188
188
  @reference = reference
189
189
  @custom_provisioning_commands = custom_provisioning_commands || []
190
190
  @puppet_runner = puppet_runner
191
+ @download_dependencies_command = download_dependencies_command
191
192
  @puppet_runner_prepare = puppet_runner_prepare
192
193
  @destination_folder = destination_folder || '/var/opt/puppet'
193
194
  @avst_cloud_config_dir = avst_cloud_config_dir || 'config'
@@ -225,6 +226,7 @@ module AvstCloud
225
226
  ENV['cap_access_user'] = server.access_user
226
227
  ENV['server_name'] = server.server_name
227
228
  ENV['puppet_runner'] = @puppet_runner
229
+ ENV['download_dependencies_command'] = @download_dependencies_command
228
230
  ENV['puppet_runner_prepare'] = @puppet_runner_prepare
229
231
  ENV['avst_cloud_tmp_folder'] = @server_tmp_folder
230
232
  ENV['custom_provisioning_commands'] = @custom_provisioning_commands.to_json
@@ -21,7 +21,7 @@ task :prepare_puppet_and_execute do
21
21
  SSHKit.config.command_map[:link_hiera] = "sudo su -c 'cd /etc && sudo rm -f hiera.yaml && sudo ln -sf /var/opt/puppet/current/hiera.yaml .'"
22
22
  SSHKit.config.command_map[:clear_puppet] = "sudo su -c 'rm -fr /etc/puppet'"
23
23
  SSHKit.config.command_map[:create_puppet_files] = "sudo su -c 'if [ ! -d /var/opt/puppet/current/files ]; then mkdir /var/opt/puppet/current/files; fi'"
24
- SSHKit.config.command_map[:r10k] = "sudo su -c 'source /usr/local/rvm/scripts/rvm; r10k puppetfile install'"
24
+ SSHKit.config.command_map[:download_dependencies_command] = "sudo su -c 'source /usr/local/rvm/scripts/rvm; #{ENV["download_dependencies_command"]}'"
25
25
  SSHKit.config.command_map[:execute_puppet_runner] = "sudo su -c 'source /usr/local/rvm/scripts/rvm; #{ENV["puppet_runner"]}'"
26
26
  SSHKit.config.command_map[:cleanup_configs_from_hiera_configs] = "sudo su -c 'find /var/opt/puppet/current/hiera-configs -maxdepth 1 -type f ! -name \'puppetfile_dictionary_v4.yaml\' ! -name \'puppetfile_dictionary.yaml\' ! -name \'#{ENV["server_name"]}.yaml\' ! -name \'#{ENV["server_name"]}_facts.yaml\' -exec rm -f {} + '"
27
27
 
@@ -44,10 +44,10 @@ task :prepare_puppet_and_execute do
44
44
  end
45
45
 
46
46
  within '/var/opt/puppet/current' do
47
- execute :r10k
47
+ execute :download_dependencies_command
48
48
  end
49
49
 
50
- puts "Done r10k puppetfile install"
50
+ puts "Done downloading dependencies"
51
51
 
52
52
  execute :clear_puppet
53
53
  execute :create_puppet_files
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.32
4
+ version: 0.1.34
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: 2018-06-21 00:00:00.000000000 Z
13
+ date: 2018-09-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -209,19 +209,19 @@ dependencies:
209
209
  - !ruby/object:Gem::Version
210
210
  version: 0.5.0
211
211
  - !ruby/object:Gem::Dependency
212
- name: colorize
212
+ name: rainbow
213
213
  requirement: !ruby/object:Gem::Requirement
214
214
  requirements:
215
215
  - - ">="
216
216
  - !ruby/object:Gem::Version
217
- version: 0.7.3
217
+ version: '0'
218
218
  type: :runtime
219
219
  prerelease: false
220
220
  version_requirements: !ruby/object:Gem::Requirement
221
221
  requirements:
222
222
  - - ">="
223
223
  - !ruby/object:Gem::Version
224
- version: 0.7.3
224
+ version: '0'
225
225
  - !ruby/object:Gem::Dependency
226
226
  name: nokogiri
227
227
  requirement: !ruby/object:Gem::Requirement