chef-metal-fog 0.5.beta.6 → 0.5
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:
|
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
|