fhcap-cli 0.4.14 → 0.4.15

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