avst-cloud 0.1.32 → 0.1.34

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