qops 1.7.2 → 1.8.0
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 +4 -4
- data/README.md +3 -5
- data/lib/qops/deployment/helpers.rb +3 -0
- data/lib/qops/deployment/instances.rb +26 -4
- data/lib/qops/version.rb +1 -1
- metadata +9 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4049541294838f48e024d89b6f27e177759922825a1b677dd6a69a59a6cffc0f
|
4
|
+
data.tar.gz: 56e6206d57b52db47c30173042306fb4b2df652d2cdf1830b47ca5a5753f2870
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81010cc6a100a146b98cdcaaa55b2f459003d7a52b7dc76bd2fbb8f663191276a0404583ba6b7c5863dcc4ad7cd4a836546dcd639cb5cda63b9d7da01c205cf3
|
7
|
+
data.tar.gz: 667dd082becededba41b723bdfa06434528a32eb377f6ea6d42cd5b8ee27ed28f05abdbb33469e3c2290c24c7006ccde07fbfe48474469061db8d4b880c01667
|
data/README.md
CHANGED
@@ -14,13 +14,11 @@
|
|
14
14
|
You can create a overridden_built_in_templates folder within you cookbooks folder.
|
15
15
|
/cookbooks/overridden_built_in_templates/unicorn/templates/default/unicorn.conf.erb
|
16
16
|
|
17
|
-
### Q: The `qops` gem is currently not public. How do I access it?
|
18
|
-
|
19
|
-
Please add your personal gemfury source to the gem path to install it.
|
20
|
-
|
21
17
|
### Q: For the `qops qops:instance:run_command` command, it provides two options: one is run commands against all instances of the stack all in once, one is run commands on each instances of the stack one by one randomly. How do I use this?
|
22
18
|
|
23
|
-
When running commands one by one, between each execution of the command, there will be a delay. The delay is config by wait_deploy. By default it is 180 seconds when it is not defined. For now, run_command command will only support commends `setup` `configure` `install_dependencies` `update_dependencies`, since commands `update_custom_cookbooks` `deploy` was implemented before.
|
19
|
+
When running commands one by one, between each execution of the command, there will be a delay. The delay is config by wait_deploy. By default it is 180 seconds when it is not defined. For now, run_command command will only support commends `setup` `configure` `install_dependencies` `update_dependencies`, `execute_recipes`, since commands `update_custom_cookbooks` `deploy` was implemented before.
|
20
|
+
|
21
|
+
When run command `execute_recipes`, a comma separated recipes should be supply, for example: cookbookname::recipename_one,cookbookname::recipename_two
|
24
22
|
|
25
23
|
### Q: How do I use QOPS to override env variables on my opsworks CHEF 11 stack?
|
26
24
|
|
@@ -12,6 +12,9 @@ module Qops::DeployHelpers
|
|
12
12
|
class_option :profile, type: :string, aliases: '-p', desc: 'An AWS profile to use'
|
13
13
|
class_option :force_config, type: :boolean, aliases: '-f', desc: 'Force qops to read options from config. by default qops will search aws opsworks stack'
|
14
14
|
class_option :verbose, type: :boolean, aliases: '-v', desc: 'Provides additional information when running for debugging purposes.'
|
15
|
+
class_option :command_for_run_command, type: :string, aliases: '-c', desc: 'The command to use when run_command'
|
16
|
+
class_option :recipes, type: :string, aliases: '-r', desc: 'The recipes to use when run_command execute_recipes'
|
17
|
+
class_option :options_for_run_command, type: :string, aliases: '-o', desc: 'options for run_command such as current, all_in_once or one_by_one'
|
15
18
|
end
|
16
19
|
|
17
20
|
private
|
@@ -192,20 +192,42 @@ class Qops::Instance < Thor # rubocop:disable Metrics/ClassLength
|
|
192
192
|
initialize_run
|
193
193
|
instances = retrieve_instances
|
194
194
|
|
195
|
-
|
195
|
+
command = options[:command_for_run_command] || ask('Which command you want to execute?', limited_to: %w[setup configure install_dependencies update_dependencies execute_recipes])
|
196
196
|
|
197
|
-
|
197
|
+
option = options[:options_for_run_command] || ask('Which command you want to execute?', limited_to: %w[current all_in_once one_by_one])
|
198
198
|
|
199
|
-
|
199
|
+
puts "Preparing to run command to all servers (#{instances.map(&:hostname).join(', ')})" if option != 'current'
|
200
|
+
|
201
|
+
recipes = options[:recipes] || ask('Recipes list?') if command == 'execute_recipes'
|
200
202
|
|
201
203
|
base_deployment_params = {
|
202
204
|
stack_id: config.stack_id,
|
203
|
-
command: {
|
205
|
+
command: {
|
206
|
+
name: command.to_s
|
207
|
+
}
|
204
208
|
}
|
205
209
|
|
210
|
+
base_deployment_params[:command][:args] = { recipes: recipes.split(',') } if recipes
|
211
|
+
|
212
|
+
puts "#{base_deployment_params}"
|
213
|
+
|
206
214
|
manifest = { environment: config.deploy_type }
|
207
215
|
|
208
216
|
case option
|
217
|
+
when 'current'
|
218
|
+
|
219
|
+
instance = retrieve_instance if config.deploy_type == 'staging'
|
220
|
+
|
221
|
+
if instance.nil?
|
222
|
+
puts 'No instance available to execute_recipes'
|
223
|
+
exit(0)
|
224
|
+
else
|
225
|
+
instance_id = instance.instance_id
|
226
|
+
end
|
227
|
+
|
228
|
+
print "Run command #{command} on instance #{instance_id}"
|
229
|
+
deployment_params = base_deployment_params.deep_dup
|
230
|
+
run_opsworks_command(base_deployment_params, [instance_id])
|
209
231
|
when 'all_in_once'
|
210
232
|
print "Run command #{command} on all instances at once ..."
|
211
233
|
deployment_params = base_deployment_params.deep_dup
|
data/lib/qops/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qops
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Basset
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2019-08-20 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activesupport
|
@@ -21,6 +21,9 @@ dependencies:
|
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: 4.2.1
|
24
|
+
- - "<"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '6.0'
|
24
27
|
type: :runtime
|
25
28
|
prerelease: false
|
26
29
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -28,6 +31,9 @@ dependencies:
|
|
28
31
|
- - ">="
|
29
32
|
- !ruby/object:Gem::Version
|
30
33
|
version: 4.2.1
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '6.0'
|
31
37
|
- !ruby/object:Gem::Dependency
|
32
38
|
name: aws-sdk
|
33
39
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,8 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
143
|
- !ruby/object:Gem::Version
|
138
144
|
version: '0'
|
139
145
|
requirements: []
|
140
|
-
|
141
|
-
rubygems_version: 2.7.4
|
146
|
+
rubygems_version: 3.0.4
|
142
147
|
signing_key:
|
143
148
|
specification_version: 4
|
144
149
|
summary: Helper commands for deployment of opsworks projects.
|