chef-metal-fog 0.5.beta.6 → 0.5
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba70e5d354ec37158152081d939429461f6cbcee
|
4
|
+
data.tar.gz: d268dfc2afebd4072e31cafb3eb58d3255df80c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09255981c637779902d5e70fdfb636eefa425807d374d9f81ed54e7d8a4243ce63bd796cb838e78b7653cc53f7ec8e3cd96c6412315879bef24f654507fc09b7
|
7
|
+
data.tar.gz: 5d2d21cf7f9a3d76513034c11d78e54a4a578b9ddcde859cf14048fcaa04d44a3c207274097bfd8a7b38ef1048a955fa06bfc72f13db6626a977e31d53565609
|
@@ -81,8 +81,10 @@ class Chef::Provider::FogKeyPair < Chef::Provider::LWRPBase
|
|
81
81
|
case new_driver.compute_options[:provider]
|
82
82
|
when 'DigitalOcean'
|
83
83
|
compute.create_ssh_key(new_resource.name, Cheffish::KeyFormatter.encode(desired_key, :format => :openssh))
|
84
|
-
when 'OpenStack'
|
84
|
+
when 'OpenStack'
|
85
85
|
compute.create_key_pair(new_resource.name, Cheffish::KeyFormatter.encode(desired_key, :format => :openssh))
|
86
|
+
when 'Rackspace'
|
87
|
+
compute.create_keypair(new_resource.name, Cheffish::KeyFormatter.encode(desired_key, :format => :openssh))
|
86
88
|
else
|
87
89
|
compute.key_pairs.get(new_resource.name).destroy
|
88
90
|
compute.import_key_pair(new_resource.name, Cheffish::KeyFormatter.encode(desired_key, :format => :openssh))
|
@@ -101,8 +103,10 @@ class Chef::Provider::FogKeyPair < Chef::Provider::LWRPBase
|
|
101
103
|
case new_driver.compute_options[:provider]
|
102
104
|
when 'DigitalOcean'
|
103
105
|
compute.create_ssh_key(new_resource.name, Cheffish::KeyFormatter.encode(desired_key, :format => :openssh))
|
104
|
-
when 'OpenStack'
|
106
|
+
when 'OpenStack'
|
105
107
|
compute.create_key_pair(new_resource.name, Cheffish::KeyFormatter.encode(desired_key, :format => :openssh))
|
108
|
+
when 'Rackspace'
|
109
|
+
compute.create_keypair(new_resource.name, Cheffish::KeyFormatter.encode(desired_key, :format => :openssh))
|
106
110
|
else
|
107
111
|
compute.import_key_pair(new_resource.name, Cheffish::KeyFormatter.encode(desired_key, :format => :openssh))
|
108
112
|
end
|
@@ -3,6 +3,7 @@ require 'chef_metal/machine/windows_machine'
|
|
3
3
|
require 'chef_metal/machine/unix_machine'
|
4
4
|
require 'chef_metal/machine_spec'
|
5
5
|
require 'chef_metal/convergence_strategy/install_msi'
|
6
|
+
require 'chef_metal/convergence_strategy/install_sh'
|
6
7
|
require 'chef_metal/convergence_strategy/install_cached'
|
7
8
|
require 'chef_metal/convergence_strategy/no_converge'
|
8
9
|
require 'chef_metal/transport/ssh'
|
@@ -117,13 +118,10 @@ module ChefMetalFog
|
|
117
118
|
def self.from_provider(provider, config)
|
118
119
|
# Figure out the options and merge them into the config
|
119
120
|
config, id = compute_options_for(provider, nil, config)
|
120
|
-
driver_options = config[:driver_options] || {}
|
121
|
-
compute_options = driver_options[:compute_options] || {}
|
122
121
|
|
123
122
|
driver_url = "fog:#{provider}:#{id}"
|
124
123
|
|
125
|
-
|
126
|
-
FogDriver.new(driver_url, config)
|
124
|
+
ChefMetal.driver_for_url(driver_url, config)
|
127
125
|
end
|
128
126
|
|
129
127
|
# Create a new fog driver.
|
@@ -479,8 +477,10 @@ module ChefMetalFog
|
|
479
477
|
|
480
478
|
if machine_spec.location['is_windows']
|
481
479
|
ChefMetal::ConvergenceStrategy::InstallMsi.new(machine_options[:convergence_options], config)
|
482
|
-
|
480
|
+
elsif machine_options[:cached_installer] == true
|
483
481
|
ChefMetal::ConvergenceStrategy::InstallCached.new(machine_options[:convergence_options], config)
|
482
|
+
else
|
483
|
+
ChefMetal::ConvergenceStrategy::InstallSh.new(machine_options[:convergence_options], config)
|
484
484
|
end
|
485
485
|
end
|
486
486
|
|
@@ -590,9 +590,9 @@ module ChefMetalFog
|
|
590
590
|
when 'AWS'
|
591
591
|
# Grab the profile
|
592
592
|
aws_profile = FogDriverAWS.get_aws_profile(result[:driver_options], id)
|
593
|
-
[
|
594
|
-
|
595
|
-
|
593
|
+
new_compute_options[:aws_access_key_id] = aws_profile[:aws_access_key_id]
|
594
|
+
new_compute_options[:aws_secret_access_key] = aws_profile[:aws_secret_access_key]
|
595
|
+
new_compute_options[:aws_session_token] = aws_profile[:aws_security_token]
|
596
596
|
# For :region, we prefer the region in compute options or URL over the region in the profile.
|
597
597
|
new_compute_options[:region] ||= aws_profile[:region] if aws_profile.has_key?(:region) && !compute_options.has_key?(:region)
|
598
598
|
when 'OpenStack'
|
@@ -606,7 +606,7 @@ module ChefMetalFog
|
|
606
606
|
new_compute_options[:openstack_auth_url] ||= credential[:openstack_auth_url]
|
607
607
|
new_compute_options[:openstack_tenant] ||= credential[:openstack_tenant]
|
608
608
|
when 'Rackspace'
|
609
|
-
credential = Fog.
|
609
|
+
credential = Fog.credentials
|
610
610
|
|
611
611
|
new_compute_options[:rackspace_username] ||= credential[:rackspace_username]
|
612
612
|
new_compute_options[:rackspace_api_key] ||= credential[:rackspace_api_key]
|
@@ -6,21 +6,22 @@ module ChefMetalFog
|
|
6
6
|
module FogDriverAWS
|
7
7
|
def self.get_aws_profile(driver_options, aws_account_id)
|
8
8
|
aws_credentials = get_aws_credentials(driver_options)
|
9
|
+
compute_options = driver_options[:compute_options] || {}
|
9
10
|
|
10
11
|
# Order of operations:
|
11
|
-
#
|
12
|
-
#
|
12
|
+
# compute_options[:aws_access_key_id] / compute_options[:aws_secret_access_key] / compute_options[:aws_security_token] / compute_options[:region]
|
13
|
+
# compute_options[:aws_profile]
|
13
14
|
# ENV['AWS_ACCESS_KEY_ID'] / ENV['AWS_SECRET_ACCESS_KEY'] / ENV['AWS_SECURITY_TOKEN'] / ENV['AWS_REGION']
|
14
15
|
# ENV['AWS_PROFILE']
|
15
16
|
# ENV['DEFAULT_PROFILE']
|
16
17
|
# 'default'
|
17
|
-
aws_profile = if
|
18
|
+
aws_profile = if compute_options[:aws_access_key_id]
|
18
19
|
Chef::Log.debug("Using AWS driver access key options")
|
19
20
|
{
|
20
|
-
:aws_access_key_id =>
|
21
|
-
:aws_secret_access_key =>
|
22
|
-
:aws_security_token =>
|
23
|
-
:region =>
|
21
|
+
:aws_access_key_id => compute_options[:aws_access_key_id],
|
22
|
+
:aws_secret_access_key => compute_options[:aws_secret_access_key],
|
23
|
+
:aws_security_token => compute_options[:aws_session_token],
|
24
|
+
:region => compute_options[:region]
|
24
25
|
}
|
25
26
|
elsif driver_options[:aws_profile]
|
26
27
|
Chef::Log.debug("Using AWS profile #{driver_options[:aws_profile]}")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-metal-fog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5
|
4
|
+
version: '0.5'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Keiser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef
|
@@ -114,9 +114,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
114
114
|
version: '0'
|
115
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- - "
|
117
|
+
- - ">="
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
119
|
+
version: '0'
|
120
120
|
requirements: []
|
121
121
|
rubyforge_project:
|
122
122
|
rubygems_version: 2.2.2
|