chef-sugar-rackspace 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +21 -0
- data/CHANGELOG.md +6 -0
- data/Gemfile +3 -0
- data/README.md +5 -0
- data/Rakefile +1 -1
- data/chef-sugar-rackspace.gemspec +1 -1
- data/lib/chef/sugar/rackspace/ip.rb +21 -24
- data/lib/chef/sugar/rackspace/rackconnect.rb +3 -3
- data/lib/chef/sugar/rackspace/version.rb +1 -1
- data/metadata.rb +6 -6
- data/spec/unit/chef/sugar/rackspace/ip_spec.rb +12 -13
- data/spec/unit/chef/sugar/rackspace/rackconnect_spec.rb +2 -3
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2ea2b95702f677b15c5e8ca4a97d2e721a9402f
|
4
|
+
data.tar.gz: 249a1b705d2893af550ab8591b8f655ad0d8beb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34048dfae0277faa95803b8a27e3c2c2c0581390464846fea0039af11cdc5e988bbfbf757d78653688a021607795b5aed59e4a3674958f8b9f9680d28e695faf
|
7
|
+
data.tar.gz: fe0c1d1078cd5fac5ac18bd62b2b1fbbac26c881f81562835bdcb795c872c93f328327e1c8d7a12add885f45058119742de785ee55ccb0c2f0148ed9ac53b517
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# This configuration was generated by `rubocop --auto-gen-config`
|
2
|
+
# on 2015-04-07 11:00:29 -0500 using RuboCop version 0.30.0.
|
3
|
+
# The point is for the user to remove these configuration records
|
4
|
+
# one by one as the offenses are removed from the code base.
|
5
|
+
# Note that changes in the inspected code, or installation of new
|
6
|
+
# versions of RuboCop, may require this file to be generated again.
|
7
|
+
|
8
|
+
Metrics/AbcSize:
|
9
|
+
Max: 20
|
10
|
+
|
11
|
+
Metrics/LineLength:
|
12
|
+
Max: 100
|
13
|
+
|
14
|
+
Metrics/MethodLength:
|
15
|
+
Max: 20
|
16
|
+
|
17
|
+
Style/Documentation:
|
18
|
+
Enabled: false
|
19
|
+
|
20
|
+
Style/ModuleFunction:
|
21
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
chef-sugar-rackspace CHANGELOG
|
2
2
|
==============================
|
3
3
|
|
4
|
+
0.3.0
|
5
|
+
-----
|
6
|
+
- [martinb3] - Bumped chefspec pinning to newer
|
7
|
+
- [martinb3] - Added rubocop
|
8
|
+
- [jarosser06] - rackconnected? no longer fails if the rackconnect ohai plugin is not installed
|
9
|
+
|
4
10
|
0.2.0
|
5
11
|
-----
|
6
12
|
- [jarosser06] - Added rackconnected? sugar method
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -17,6 +17,11 @@ Rackconnect helpers require the [Rackconnect Ohai plugin](https://github.com/jar
|
|
17
17
|
|
18
18
|
- `rackconnected?` - return true if the node is rackconnected
|
19
19
|
|
20
|
+
####Note
|
21
|
+
If the rackconnect plugin is not installed but the helper is called
|
22
|
+
rackconnected? will return false. This should not be an issue in most
|
23
|
+
cases but could cause unexepected results on a rackconnected server.
|
24
|
+
|
20
25
|
#### rackconnected?
|
21
26
|
```ruby
|
22
27
|
unless rackconnected?
|
data/Rakefile
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
23
|
spec.require_paths = %w(lib)
|
24
24
|
|
25
|
-
spec.add_runtime_dependency 'chef-sugar', '~>
|
25
|
+
spec.add_runtime_dependency 'chef-sugar', '~> 3.0'
|
26
26
|
|
27
27
|
spec.add_development_dependency 'rake'
|
28
28
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
@@ -9,7 +9,7 @@ class Chef
|
|
9
9
|
## if no label is passed and more than one cloud
|
10
10
|
## network is attached it will pop the first off
|
11
11
|
## the array
|
12
|
-
def cloud_network_ip(node, label=nil)
|
12
|
+
def cloud_network_ip(node, label = nil)
|
13
13
|
networks = cloud_networks(node)
|
14
14
|
return '' if networks.empty?
|
15
15
|
|
@@ -21,40 +21,37 @@ class Chef
|
|
21
21
|
end
|
22
22
|
|
23
23
|
## Return the first ip address in ips
|
24
|
-
|
24
|
+
net['ips'].first['ip']
|
25
25
|
end
|
26
26
|
|
27
27
|
def best_rackspace_ip_for(node, other)
|
28
|
-
|
29
|
-
|
30
|
-
node_clnet = cloud_networks(node)
|
31
|
-
fail if node_clnet.empty?
|
28
|
+
node_clnet = cloud_networks(node)
|
29
|
+
fail 'no cloud networks found for this node' if node_clnet.empty?
|
32
30
|
|
33
|
-
|
34
|
-
|
31
|
+
other_clnet = cloud_networks(other)
|
32
|
+
fail 'no cloud networks found for other node' if other_clnet.empty?
|
35
33
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
end
|
34
|
+
ip = nil
|
35
|
+
node_clnet.each_key do |node_label|
|
36
|
+
other_clnet.each_key do |other_label|
|
37
|
+
if node_label == other_label
|
38
|
+
ip = other_clnet[node_label]['ips'].first['ip']
|
42
39
|
end
|
43
40
|
end
|
41
|
+
end
|
44
42
|
|
45
|
-
|
46
|
-
|
43
|
+
# Couldn't locate a matching cloud network, falling through
|
44
|
+
fail 'could not locate a matching cloud network' if ip.nil?
|
47
45
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
end
|
46
|
+
return ip
|
47
|
+
rescue
|
48
|
+
best_ip_for(node, other)
|
52
49
|
end
|
53
50
|
|
54
51
|
def cloud_networks(node)
|
55
52
|
networks = {}
|
56
|
-
return networks unless node.
|
57
|
-
if node['rackspace'].
|
53
|
+
return networks unless node.key? 'rackspace'
|
54
|
+
if node['rackspace'].key? 'private_networks'
|
58
55
|
private_networks = node['rackspace']['private_networks']
|
59
56
|
|
60
57
|
unless private_networks.nil? || private_networks.empty?
|
@@ -64,12 +61,12 @@ class Chef
|
|
64
61
|
end
|
65
62
|
end
|
66
63
|
|
67
|
-
|
64
|
+
networks
|
68
65
|
end
|
69
66
|
end
|
70
67
|
|
71
68
|
module DSL
|
72
|
-
def cloud_network_ip(label=nil)
|
69
|
+
def cloud_network_ip(label = nil)
|
73
70
|
Chef::Sugar::IP.cloud_network_ip(node, label)
|
74
71
|
end
|
75
72
|
|
@@ -6,11 +6,11 @@ class Chef
|
|
6
6
|
extend self
|
7
7
|
|
8
8
|
def rackconnected?(node)
|
9
|
-
return false unless node.
|
10
|
-
if node['rackspace'].
|
9
|
+
return false unless node.key? 'rackspace'
|
10
|
+
if node['rackspace'].key? 'rackconnect'
|
11
11
|
return node['rackspace']['rackconnect']['enabled']
|
12
12
|
else
|
13
|
-
|
13
|
+
return false
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
data/metadata.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
name
|
2
|
-
maintainer
|
1
|
+
name 'chef-sugar-rackspace'
|
2
|
+
maintainer 'Jim Rosser'
|
3
3
|
maintainer_email 'jarosser06@gmail.com'
|
4
|
-
license
|
5
|
-
description
|
4
|
+
license 'MIT'
|
5
|
+
description 'Installs the chef-sugar-rackspace gem'
|
6
6
|
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
7
|
-
require
|
8
|
-
version
|
7
|
+
require File.expand_path('../lib/chef/sugar/rackspace/version', __FILE__)
|
8
|
+
version Chef::Sugar::Rackspace::VERSION
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Chef::Sugar::IP do
|
4
|
-
|
5
4
|
fake_node = {
|
6
5
|
'cloud' => {
|
7
6
|
'public_ipv4' => '23.253.110.230',
|
@@ -38,14 +37,14 @@ describe Chef::Sugar::IP do
|
|
38
37
|
context 'when on different cloud networks' do
|
39
38
|
before do
|
40
39
|
node['rackspace']['private_networks'] = [{
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
'ips' => [{ 'ip' => '192.168.10.2' }],
|
41
|
+
'label' => 'myprivatenet1'
|
42
|
+
}]
|
44
43
|
|
45
44
|
other['rackspace']['private_networks'] = [{
|
46
|
-
|
47
|
-
|
48
|
-
|
45
|
+
'ips' => [{ 'ip' => '192.168.12.4' }],
|
46
|
+
'label' => 'myprivatenet2'
|
47
|
+
}]
|
49
48
|
end
|
50
49
|
it '#best_rackspace_ip_for returns the service net ip address' do
|
51
50
|
expect(described_class.best_rackspace_ip_for(node, other)).to eq(other['cloud']['local_ipv4'])
|
@@ -59,14 +58,14 @@ describe Chef::Sugar::IP do
|
|
59
58
|
context 'when on the same cloud network' do
|
60
59
|
before do
|
61
60
|
node['rackspace']['private_networks'] = [{
|
62
|
-
|
63
|
-
|
64
|
-
|
61
|
+
'ips' => [{ 'ip' => '192.168.10.2' }],
|
62
|
+
'label' => 'myprivatenet1'
|
63
|
+
}]
|
65
64
|
|
66
65
|
other['rackspace']['private_networks'] = [{
|
67
|
-
|
68
|
-
|
69
|
-
|
66
|
+
'ips' => [{ 'ip' => '192.168.10.4' }],
|
67
|
+
'label' => 'myprivatenet1'
|
68
|
+
}]
|
70
69
|
end
|
71
70
|
it '#best_rackspace_ip_for returns other\'s cloud network ip address' do
|
72
71
|
expect(described_class.best_rackspace_ip_for(node, other)).to eq('192.168.10.4')
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Chef::Sugar::Rackconnect do
|
4
|
-
|
5
4
|
fake_node = {
|
6
5
|
'rackspace' => {}
|
7
6
|
}
|
@@ -9,8 +8,8 @@ describe Chef::Sugar::Rackconnect do
|
|
9
8
|
let(:node) { fake_node }
|
10
9
|
|
11
10
|
context 'when the ohai plugin is not found' do
|
12
|
-
it '#rackconnected?
|
13
|
-
expect
|
11
|
+
it '#rackconnected? returns false' do
|
12
|
+
expect(described_class.rackconnected?(node)).to eq(false)
|
14
13
|
end
|
15
14
|
end
|
16
15
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-sugar-rackspace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Rosser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-sugar
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '3.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,6 +103,7 @@ extra_rdoc_files: []
|
|
103
103
|
files:
|
104
104
|
- ".gitignore"
|
105
105
|
- ".kitchen.yml"
|
106
|
+
- ".rubocop.yml"
|
106
107
|
- ".travis.yml"
|
107
108
|
- Berksfile
|
108
109
|
- CHANGELOG.md
|