opzworks 0.5.8 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 32fa5567e79a890164a7a1891c4815e874223cce
4
- data.tar.gz: f56bf6aeec3a01091e3a5426bf04a3cde4b60e22
3
+ metadata.gz: 12927c6f956242bf1f1e1c90f9c4b14ddd42b472
4
+ data.tar.gz: 81d891cf89b29772a00d6de50c820d248adf8a96
5
5
  SHA512:
6
- metadata.gz: a4c2d4364428919c56bc5507bef241c9f80dbff36d8f7c160a0d873e20e1aae0ee1d99d3dd869c1f7f79e40c3b17b9fae6934ccbf3365340d92b89cf0d21610c
7
- data.tar.gz: c0d927dfb44193ffb7ebe478a9faf1c64f312ad0593fde708101f1710fa4b6f2051fb3fbb7b3f58867b1b77ee254728239f1cc51f560895dc98894fd16f76819
6
+ metadata.gz: fb75b56d8dd6b30dddccc38f91202b4e509f708985bca9145ff545c687fff08d9a893c8a075f358d046e827441c14a3e18c7ad612d723db68c1494379e86f934
7
+ data.tar.gz: 748284a47c95da53cd59ed00d7ca12d0e0b418eae160f4317b1e692125cd984b936ce3b6e10d1f0e612b0cde046afbf3539d1dc2e901d2c421edeb758c9e188c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- opzworks (0.5.7)
4
+ opzworks (0.5.8)
5
5
  aws-sdk (~> 2.2.7)
6
6
  diffy (~> 3.1.0)
7
7
  faraday (~> 0.9.2)
@@ -15,8 +15,6 @@ GEM
15
15
  remote: https://rubygems.org/
16
16
  specs:
17
17
  ast (2.2.0)
18
- astrolabe (1.3.1)
19
- parser (~> 2.2)
20
18
  awesome_print (1.6.1)
21
19
  aws-sdk (2.2.12)
22
20
  aws-sdk-resources (= 2.2.12)
@@ -41,15 +39,12 @@ GEM
41
39
  powerpack (0.1.1)
42
40
  rainbow (2.0.0)
43
41
  rake (10.5.0)
44
- rubocop (0.35.1)
45
- astrolabe (~> 1.3)
46
- parser (>= 2.2.3.0, < 3.0)
42
+ rubocop (0.36.0)
43
+ parser (>= 2.3.0.0, < 3.0)
47
44
  powerpack (~> 0.1)
48
45
  rainbow (>= 1.99.1, < 3.0)
49
46
  ruby-progressbar (~> 1.7)
50
- tins (<= 1.6.0)
51
47
  ruby-progressbar (1.7.5)
52
- tins (1.6.0)
53
48
  trollop (2.1.2)
54
49
 
55
50
  PLATFORMS
@@ -60,7 +55,7 @@ DEPENDENCIES
60
55
  bundler (~> 1.11)
61
56
  opzworks!
62
57
  rake
63
- rubocop (~> 0.35.0)
58
+ rubocop (~> 0.36.0)
64
59
 
65
60
  BUNDLED WITH
66
61
  1.11.2
@@ -62,9 +62,9 @@ module OpzWorks
62
62
 
63
63
  berks_cook_path = config.berks_base_path || '/tmp'
64
64
  cook_path = "#{berks_cook_path}/#{@project}-#{@branch}"
65
- install_path = "#{cook_path}" + '/' + "cookbooks-#{@project}-#{@branch}"
65
+ install_path = cook_path + '/' + "cookbooks-#{@project}-#{@branch}"
66
66
  cookbook_tarball = config.berks_tarball_name || 'cookbooks.tgz'
67
- cookbook_upload = "#{cook_path}" + '/' "#{cookbook_tarball}"
67
+ cookbook_upload = cook_path + '/' "#{cookbook_tarball}"
68
68
  s3_bucket = config.berks_s3_bucket || 'opzworks'
69
69
  overrides = 'overrides'
70
70
 
@@ -89,9 +89,7 @@ module OpzWorks
89
89
  # custom nginx.conf.erb in it.
90
90
  #
91
91
  if File.file?("#{@target_path}/#{overrides}")
92
- unless File.directory?("#{install_path}")
93
- FileUtils.mkdir_p("#{install_path}")
94
- end
92
+ FileUtils.mkdir_p(install_path) unless File.directory?(install_path)
95
93
  File.open("#{@target_path}/#{overrides}") do |f|
96
94
  f.each_line do |line|
97
95
  puts "Copying override #{line}".foreground(:blue)
@@ -104,7 +102,7 @@ module OpzWorks
104
102
  system "cd #{@target_path} && git commit -am 'berks update'; git push origin #{@branch}"
105
103
 
106
104
  puts 'Creating tarball of cookbooks'.foreground(:blue)
107
- FileUtils.mkdir_p("#{cook_path}")
105
+ FileUtils.mkdir_p(cook_path)
108
106
  run_local "tar czf #{cookbook_upload} -C #{install_path} ."
109
107
 
110
108
  # upload
@@ -113,12 +111,12 @@ module OpzWorks
113
111
 
114
112
  begin
115
113
  obj = s3.bucket(s3_bucket).object("#{@s3_path}/#{cookbook_tarball}")
116
- obj.upload_file("#{cookbook_upload}")
114
+ obj.upload_file(cookbook_upload)
117
115
  rescue StandardError => e
118
116
  puts "Caught exception while uploading to S3 bucket #{s3_bucket}: #{e}".foreground(:red)
119
117
  puts 'Cleaning up before exiting'.foreground(:blue)
120
- FileUtils.rm("#{cookbook_upload}")
121
- FileUtils.rm_rf("#{install_path}")
118
+ FileUtils.rm(cookbook_upload)
119
+ FileUtils.rm_rf(install_path)
122
120
  abort
123
121
  else
124
122
  puts "Completed successful upload of #{@s3_path}/#{cookbook_tarball} to #{s3_bucket}!".foreground(:green)
@@ -127,8 +125,8 @@ module OpzWorks
127
125
  # cleanup
128
126
  #
129
127
  puts 'Cleaning up'.foreground(:blue)
130
- FileUtils.rm("#{cookbook_upload}")
131
- FileUtils.rm_rf("#{install_path}")
128
+ FileUtils.rm(cookbook_upload)
129
+ FileUtils.rm_rf(install_path)
132
130
  puts 'Done!'.foreground(:green)
133
131
 
134
132
  # update remote cookbooks
@@ -47,16 +47,14 @@ module OpzWorks
47
47
 
48
48
  # loops over inputs
49
49
  ARGV.each do |opt|
50
- if options[:start]
51
- var = es_get_input(opt, response, 'start')
52
- else
53
- var = es_get_input(opt, response)
54
- end
50
+ var = if options[:start]
51
+ es_get_input(opt, response, 'start')
52
+ else
53
+ es_get_input(opt, response)
54
+ end
55
55
  next if var == false
56
56
 
57
- if options[:old_service_name]
58
- @service_name = 'elasticsearch'
59
- end
57
+ options[:old_service_name] ? @service_name = 'elasticsearch' : false
60
58
 
61
59
  case options[:rolling]
62
60
  when true
@@ -24,7 +24,7 @@ def es_get_input(input, data = {}, *cmd)
24
24
  puts 'Found more than one stack matching input '.foreground(:yellow) + input.foreground(:green) + ', skipping.'.foreground(:yellow)
25
25
  return false
26
26
  else
27
- puts 'Operating on stack '.foreground(:blue) + "#{match[:name]}".foreground(:green)
27
+ puts 'Operating on stack '.foreground(:blue) + match[:name].to_s.foreground(:green)
28
28
  layers = @client.describe_layers(stack_id: match[:stack_id])
29
29
  layers[:layers].each { |layer| printf("%-30s %-50s\n", layer[:name], layer[:layer_id]) }
30
30
 
@@ -34,12 +34,12 @@ def es_get_input(input, data = {}, *cmd)
34
34
  unless cmd.include? 'start'
35
35
  STDOUT.print 'Disable shard allocation before starting? (true/false, default is true): '.foreground(:blue)
36
36
  disable_allocation = STDIN.gets.chomp
37
- case disable_allocation
38
- when 'false'
39
- @disable_shard_allocation = false
40
- else
41
- @disable_shard_allocation = true
42
- end
37
+ @disable_shard_allocation = case disable_allocation
38
+ when false
39
+ false
40
+ else
41
+ true
42
+ end
43
43
  end
44
44
 
45
45
  options = {}
@@ -49,7 +49,7 @@ def es_get_input(input, data = {}, *cmd)
49
49
  else
50
50
  options[:layer_id] = layer
51
51
  get_shortname = @client.describe_layers(layer_ids: [layer])
52
- get_shortname[:layers].each { |layer| @service_name = layer[:shortname] }
52
+ get_shortname[:layers].each { |l| @service_name = l[:shortname] }
53
53
  end
54
54
  opsworks_list_ips(options)
55
55
  end
@@ -72,7 +72,7 @@ def es_enable_allocation(ip, type)
72
72
  end
73
73
  break
74
74
  rescue StandardError => e
75
- puts 'Caught exception while trying to change allocation state: '.foreground(:yellow) + "#{e}".foreground(:red) + ', looping around...'.foreground(:yellow) if count == 0
75
+ puts 'Caught exception while trying to change allocation state: '.foreground(:yellow) + e.foreground(:red) + ', looping around...'.foreground(:yellow) if count == 0
76
76
  count += 1
77
77
  sleep 1
78
78
  end
@@ -96,7 +96,7 @@ def es_service(command, ips = [], service_name = 'elasticsearch')
96
96
  end
97
97
 
98
98
  def es_wait_for_status(ip, color)
99
- puts 'Waiting for cluster to go '.foreground(:blue) + "#{color}".foreground(:"#{color}")
99
+ puts 'Waiting for cluster to go '.foreground(:blue) + color.foreground(:"#{color}")
100
100
  conn = Faraday.new(url: "http://#{ip}:9200") do |f|
101
101
  f.adapter :net_http
102
102
  end
@@ -112,14 +112,14 @@ def es_wait_for_status(ip, color)
112
112
  end
113
113
  json = JSON.parse response.body
114
114
  rescue StandardError => e
115
- puts 'Caught exception while trying to check cluster status: '.foreground(:yellow) + "#{e}".foreground(:red) + ', looping around...'.foreground(:yellow) if rescue_count == 0
115
+ puts 'Caught exception while trying to check cluster status: '.foreground(:yellow) + e.foreground(:red) + ', looping around...'.foreground(:yellow) if rescue_count == 0
116
116
  rescue_count += 1
117
117
  printf '.'
118
118
  sleep 1
119
119
  else
120
120
  case json['status']
121
121
  when color
122
- puts "\nCluster is now ".foreground(:blue) + "#{color}".foreground(:"#{color}")
122
+ puts "\nCluster is now ".foreground(:blue) + color.foreground(:"#{color}")
123
123
  break
124
124
  when 'green'
125
125
  puts "\nCluster is green, proceeding without waiting for requested status of #{color}".foreground(:green)
@@ -127,7 +127,7 @@ def es_wait_for_status(ip, color)
127
127
  else
128
128
  count += 1
129
129
  if count == 10
130
- puts "\nStill waiting, cluster is currently ".foreground(:blue) + "#{json['status']}".foreground(:"#{json['status']}")
130
+ puts "\nStill waiting, cluster is currently ".foreground(:blue) + json['status'].to_s.foreground(:"#{json['status']}")
131
131
  count = 0
132
132
  end
133
133
  printf '.'
@@ -67,30 +67,28 @@ module OpzWorks
67
67
 
68
68
  if diff_str.empty?
69
69
  puts 'There are no differences between the existing stack json and the json you\'re asking to push.'.foreground(:yellow)
70
- else
71
- if options[:quiet]
72
- puts 'Quiet mode detected. Pushing the following updated json:'.foreground(:yellow)
73
- puts diff_str
70
+ elsif options[:quiet]
71
+ puts 'Quiet mode detected. Pushing the following updated json:'.foreground(:yellow)
72
+ puts diff_str
73
+
74
+ puts 'Committing changes and pushing'.foreground(:blue)
75
+ system "cd #{@target_path} && git commit -am 'stack update'; git push origin #{@branch}"
74
76
 
77
+ client.update_stack(hash)
78
+ puts 'Done!'.color(:green)
79
+ else
80
+ puts "The following is a partial diff of the existing stack json and the json you're asking to push:".foreground(:yellow)
81
+ puts diff_str
82
+ STDOUT.print "\nType ".foreground(:yellow) + 'yes '.foreground(:blue) + 'to continue, any other key will abort: '.foreground(:yellow)
83
+ input = STDIN.gets.chomp
84
+ if input =~ /^y/i
75
85
  puts 'Committing changes and pushing'.foreground(:blue)
76
86
  system "cd #{@target_path} && git commit -am 'stack update'; git push origin #{@branch}"
77
87
 
78
88
  client.update_stack(hash)
79
89
  puts 'Done!'.color(:green)
80
90
  else
81
- puts "The following is a partial diff of the existing stack json and the json you're asking to push:".foreground(:yellow)
82
- puts diff_str
83
- STDOUT.print "\nType ".foreground(:yellow) + 'yes '.foreground(:blue) + 'to continue, any other key will abort: '.foreground(:yellow)
84
- input = STDIN.gets.chomp
85
- if input =~ /^y/i
86
- puts 'Committing changes and pushing'.foreground(:blue)
87
- system "cd #{@target_path} && git commit -am 'stack update'; git push origin #{@branch}"
88
-
89
- client.update_stack(hash)
90
- puts 'Done!'.color(:green)
91
- else
92
- puts 'Update skipped.'.foreground(:red)
93
- end
91
+ puts 'Update skipped.'.foreground(:red)
94
92
  end
95
93
  end
96
94
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'aws-sdk'
2
4
  require 'trollop'
3
5
  require 'opzworks'
4
6
 
5
- SSH_PREFIX = '# --- OpzWorks ---'
6
- SSH_POSTFIX = '# --- End of OpzWorks ---'
7
+ SSH_PREFIX = '# --- OpzWorks ---'.freeze
8
+ SSH_POSTFIX = '# --- End of OpzWorks ---'.freeze
7
9
 
8
10
  module OpzWorks
9
11
  class Commands
@@ -57,11 +59,11 @@ module OpzWorks
57
59
  instances += result.instances.select { |i| i[:status] != 'stopped' }
58
60
 
59
61
  instances.map! do |instance|
60
- if options[:private]
61
- ip = instance[:private_ip]
62
- else
63
- instance[:elastic_ip].nil? ? ip = instance[:public_ip] : ip = instance[:elastic_ip]
64
- end
62
+ ip = if options[:private]
63
+ instance[:private_ip]
64
+ else
65
+ instance[:elastic_ip].nil? ? instance[:public_ip] : instance[:elastic_ip]
66
+ end
65
67
 
66
68
  if options[:raw]
67
69
  puts ip
@@ -77,32 +79,29 @@ module OpzWorks
77
79
  end
78
80
  end
79
81
 
80
- if options[:raw]
81
- next
82
- else
83
- new_contents = "#{instances.join("\n")}\n"
84
-
85
- if options[:update]
86
- ssh_config = "#{ENV['HOME']}/.ssh/config"
87
- old_contents = File.read(ssh_config)
88
-
89
- if options[:backup]
90
- backup_name = ssh_config + '.backup'
91
- File.open(backup_name, 'w') { |file| file.puts old_contents }
92
- end
93
-
94
- File.open(ssh_config, 'w') do |file|
95
- file.puts old_contents.gsub(
96
- /\n?\n?#{SSH_PREFIX}.*#{SSH_POSTFIX}\n?\n?/m,
97
- ''
98
- )
99
- file.puts new_contents
100
- end
101
-
102
- puts "Successfully updated #{ssh_config} with #{instances.length} instances!"
103
- else
104
- puts new_contents.strip
82
+ next if options[:raw]
83
+ new_contents = "#{instances.join("\n")}\n"
84
+
85
+ if options[:update]
86
+ ssh_config = "#{ENV['HOME']}/.ssh/config"
87
+ old_contents = File.read(ssh_config)
88
+
89
+ if options[:backup]
90
+ backup_name = ssh_config + '.backup'
91
+ File.open(backup_name, 'w') { |file| file.puts old_contents }
92
+ end
93
+
94
+ File.open(ssh_config, 'w') do |file|
95
+ file.puts old_contents.gsub(
96
+ /\n?\n?#{SSH_PREFIX}.*#{SSH_POSTFIX}\n?\n?/m,
97
+ ''
98
+ )
99
+ file.puts new_contents
105
100
  end
101
+
102
+ puts "Successfully updated #{ssh_config} with #{instances.length} instances!"
103
+ else
104
+ puts new_contents.strip
106
105
  end
107
106
  end
108
107
  end
data/lib/opzworks/meta.rb CHANGED
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module OpzWorks
2
- VERSION = '0.5.8'
3
- AUTHORS = ['Grant Heffernan', 'Mapzen']
4
- EMAIL = ['grant@mapzen.com']
5
- DESCRIPTION = 'OpzWorks Utilities'
6
- SUMMARY = 'Command line interface for Amazon OpsWorks'
3
+ VERSION = '0.6.0'.freeze
4
+ AUTHORS = ['Grant Heffernan', 'Mapzen'].freeze
5
+ EMAIL = ['grant@mapzen.com'].freeze
6
+ DESCRIPTION = 'OpzWorks Utilities'.freeze
7
+ SUMMARY = 'Command line interface for Amazon OpsWorks'.freeze
7
8
  end
data/opzworks.gemspec CHANGED
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
34
34
  spec.add_dependency 'net-ssh', '~> 3.0.1'
35
35
  spec.add_dependency 'net-ssh-multi', '~> 1.2.1'
36
36
 
37
- spec.add_development_dependency 'rubocop', '~> 0.35.0'
37
+ spec.add_development_dependency 'rubocop', '~> 0.36.0'
38
38
  spec.add_development_dependency 'bundler', '~> 1.11'
39
39
  spec.add_development_dependency 'rake'
40
40
  spec.add_development_dependency 'awesome_print'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opzworks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grant Heffernan
@@ -129,14 +129,14 @@ dependencies:
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: 0.35.0
132
+ version: 0.36.0
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 0.35.0
139
+ version: 0.36.0
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: bundler
142
142
  requirement: !ruby/object:Gem::Requirement