fhcap-cli 0.4.14 → 0.4.15

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: df6384b3f0a956ef606c3ce4543bdf5416501505
4
- data.tar.gz: e468e58706453980ecde19e48309ff3f7eb0d0b8
3
+ metadata.gz: 7acbc771765e2bf82cb5755b32bb7631800182b3
4
+ data.tar.gz: cd859f19e646cf1ea6a2c4d43c5c0cd71030ed60
5
5
  SHA512:
6
- metadata.gz: 32bbd3b888485117124bb672a68018f0a71212e799fe22ee94b0a6dbcb08654c60cefdb4c55734ded424171afc11fb2e49da49df773ad96e3a244c2cc20e2d82
7
- data.tar.gz: cf572600c4a85f9e1f94c5711c9a40d1f1355f34831991ec6b6852493fdbf579c211711549db6b21e2580608a13ade2787cc915637b57477d4eaac9bae814918
6
+ metadata.gz: 26a99632444a62d7563339f8e4d1e785804030c6d1305043ca1ab1edeced32ce135ef3b26685cfca58b121961a91a43b881fa89a2456fdaa8d0107d6ec46bb32
7
+ data.tar.gz: 40aedf8f607a33e9e6009d07a1fdf770e305ec98d70271b3176f192e5209253bd79f126d87c55d72df1202f2f409c56ecf2a01a9048c4040ecba61ce17bdc4b1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 0.4.15
4
+
5
+ * [RHMAP-17998] - Add remote-query option to provider add. Allows skipping querying the remote provider for config data.
6
+ * [RHMAP-16288] - Expose cluster cookbook promote task as CLI method
7
+
3
8
  ## 0.4.14
4
9
 
5
10
  * [RHMAP-16161] - Adding S3 support for RHMAP component validation as part of list_artifacts task
data/lib/fhcap/cluster.rb CHANGED
@@ -202,6 +202,17 @@ module Fhcap
202
202
  Tasks::Cluster::UpdateEnvironmentAttributes.new(task_options(options.dup)).run
203
203
  end
204
204
 
205
+ desc "promote_cookbooks", "[ADVANCED USAGE] Promote Chef environment cookbook versions "
206
+
207
+ shared_options :verbose
208
+
209
+ method_option 'name', :type => :string, :required => true, :desc => 'Cluster name'
210
+
211
+ def promote_cookbooks
212
+ require 'fhcap/tasks/cluster/promote_cookbooks'
213
+ Tasks::Cluster::PromoteCookbooks.new(task_options(options.dup)).run
214
+ end
215
+
205
216
  end
206
217
  end
207
218
  end
@@ -15,6 +15,7 @@ module Fhcap
15
15
  desc "add", "Add a provider"
16
16
 
17
17
  shared_options :verbose, :name, :type, :credentials, :interactive, :'provider-config'
18
+ method_option :'remote-query', :desc => 'Run remote query against provider to gather configuration data.', :type => :boolean, :required => false, :default => true
18
19
 
19
20
  def add
20
21
  require "fhcap/tasks/provider/add"
@@ -0,0 +1,17 @@
1
+ require 'fhcap/tasks/cluster/cluster_task_base'
2
+ require 'fhcap/tasks/chef/environments/promote_cookbooks'
3
+
4
+ module Fhcap
5
+ module Tasks
6
+ module Cluster
7
+ class PromoteCookbooks < ClusterTaskBase
8
+
9
+ def run
10
+ thor.say "Cluster::PromoteCookbooks: name = #{name}", :yellow
11
+ Chef::Environments::PromoteCookbooks.new(@options.dup.merge({:environments => cluster_environments}.merge(chef_task_options))).run
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -14,6 +14,7 @@ module Fhcap
14
14
 
15
15
  def initialize(options)
16
16
  super
17
+ @remote_query = options[:'remote-query']
17
18
  @options_provider_config = options[:'provider-config'] || {}
18
19
  @name = options[:name]
19
20
  @type = options[:type]
@@ -73,47 +74,48 @@ module Fhcap
73
74
  def aws_compute(cfg)
74
75
  creds = cfg[:credentials]
75
76
  cfg[:regions] = {}
76
- ec2 = Aws::EC2::Client.new(
77
- region: 'eu-west-1',
78
- access_key_id: creds[:'aws-access-key'],
79
- secret_access_key: creds[:'aws-secret-key']
80
- )
81
-
82
- resp = ec2.describe_regions
83
- thor.say "Found #{resp.regions.length} regions for this AWS account: #{resp.regions.collect{|r|r.region_name}}"
84
- resp.regions.each do |region|
85
- thor.say "Configure #{region.region_name}", :yellow
77
+ if @remote_query
86
78
  ec2 = Aws::EC2::Client.new(
87
- region: region.region_name,
79
+ region: 'eu-west-1',
88
80
  access_key_id: creds[:'aws-access-key'],
89
81
  secret_access_key: creds[:'aws-secret-key']
90
82
  )
91
83
 
92
- resp = ec2.describe_images({
93
- filters: [
94
- {
95
- name: "tag:fhcap-base",
96
- values: ["true"],
97
- },
98
- ],
99
- })
100
- if resp.images.empty?
101
- thor.say "Could not determine valid base image, tag an appropriate image with \"fhcap-base:true\", and re-run this command to add this region!"
102
- next
84
+ resp = ec2.describe_regions
85
+ thor.say "Found #{resp.regions.length} regions for this AWS account: #{resp.regions.collect { |r| r.region_name }}"
86
+ resp.regions.each do |region|
87
+ thor.say "Configure #{region.region_name}", :yellow
88
+ ec2 = Aws::EC2::Client.new(
89
+ region: region.region_name,
90
+ access_key_id: creds[:'aws-access-key'],
91
+ secret_access_key: creds[:'aws-secret-key']
92
+ )
93
+
94
+ resp = ec2.describe_images({
95
+ filters: [
96
+ {
97
+ name: "tag:fhcap-base",
98
+ values: ["true"],
99
+ },
100
+ ],
101
+ })
102
+ if resp.images.empty?
103
+ thor.say "Could not determine valid base image, tag an appropriate image with \"fhcap-base:true\", and re-run this command to add this region!"
104
+ next
105
+ end
106
+ cfg[:regions][region.region_name.to_sym] = {}
107
+
108
+ base_image = resp.images.first.image_id
109
+ thor.say "Adding Base Image: #{base_image}"
110
+ cfg[:regions][region.region_name.to_sym][:base_image] = base_image
111
+
112
+ resp = ec2.describe_availability_zones
113
+ zones = resp.availability_zones.collect do |az|
114
+ az.zone_name
115
+ end
116
+ thor.say "Adding #{zones.length} Availability Zones: #{zones}"
117
+ cfg[:regions][region.region_name.to_sym][:availability_zones] = zones
103
118
  end
104
- cfg[:regions][region.region_name.to_sym] = {}
105
-
106
- base_image = resp.images.first.image_id
107
- thor.say "Adding Base Image: #{base_image}"
108
- cfg[:regions][region.region_name.to_sym][:base_image] = base_image
109
-
110
- resp = ec2.describe_availability_zones
111
- zones = resp.availability_zones.collect do |az|
112
- az.zone_name
113
- end
114
- thor.say "Adding #{zones.length} Availability Zones: #{zones}"
115
- cfg[:regions][region.region_name.to_sym][:availability_zones] = zones
116
-
117
119
  end
118
120
  cfg[:provides] << 'compute'
119
121
  cfg[:provides].uniq!
data/lib/fhcap/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fhcap
2
- VERSION = "0.4.14"
2
+ VERSION = "0.4.15"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fhcap-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.14
4
+ version: 0.4.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Nairn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-21 00:00:00.000000000 Z
11
+ date: 2017-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -553,6 +553,7 @@ files:
553
553
  - lib/fhcap/tasks/cluster/generate.rb
554
554
  - lib/fhcap/tasks/cluster/info.rb
555
555
  - lib/fhcap/tasks/cluster/list.rb
556
+ - lib/fhcap/tasks/cluster/promote_cookbooks.rb
556
557
  - lib/fhcap/tasks/cluster/provision.rb
557
558
  - lib/fhcap/tasks/cluster/status.rb
558
559
  - lib/fhcap/tasks/cluster/test.rb