knife-solo 0.0.10 → 0.0.11

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.
@@ -13,6 +13,9 @@ class Chef
13
13
  # Approach ported from spatula (https://github.com/trotter/spatula)
14
14
  # Copyright 2009, Trotter Cashion
15
15
  class Cook < Knife
16
+ OMNIBUS_EMBEDDED_PATHS = ["/opt/chef/embedded/bin", "/opt/opscode/embedded/bin"]
17
+ CHEF_VERSION_CONSTRAINT = ">=0.10.4"
18
+
16
19
  include KnifeSolo::SshCommand
17
20
  include KnifeSolo::KitchenCommand
18
21
  include KnifeSolo::Tools
@@ -100,20 +103,11 @@ class Chef
100
103
  end
101
104
 
102
105
  def check_chef_version
103
- constraint = "~>0.10.4"
104
106
  result = run_command <<-BASH
105
- opscode_ruby="/opt/opscode/embedded/bin/ruby"
106
-
107
- if command -v $opscode_ruby &>/dev/null
108
- then
109
- ruby_bin=$opscode_ruby
110
- else
111
- ruby_bin="ruby"
112
- fi
113
-
114
- $ruby_bin -rubygems -e "gem 'chef', '#{constraint}'"
107
+ export PATH="#{OMNIBUS_EMBEDDED_PATHS.join(":")}:$PATH"
108
+ ruby -rubygems -e "gem 'chef', '#{CHEF_VERSION_CONSTRAINT}'"
115
109
  BASH
116
- raise "Couldn't find Chef #{constraint} on #{host}. Please run `#{$0} prepare #{ssh_args}` to ensure Chef is installed and up to date." unless result.success?
110
+ raise "Couldn't find Chef #{CHEF_VERSION_CONSTRAINT} on #{host}. Please run `#{$0} prepare #{ssh_args}` to ensure Chef is installed and up to date." unless result.success?
117
111
  end
118
112
 
119
113
  def cook
@@ -16,11 +16,12 @@ class Chef
16
16
  end
17
17
  File.open(name + "/solo.rb", 'w') do |f|
18
18
  f << <<-RUBY.gsub(/^ {12}/, '')
19
- file_cache_path "/tmp/chef-solo"
20
- data_bag_path "/tmp/chef-solo/data_bags"
21
- cookbook_path [ "/tmp/chef-solo/site-cookbooks",
22
- "/tmp/chef-solo/cookbooks" ]
23
- role_path "/tmp/chef-solo/roles"
19
+ file_cache_path "/tmp/chef-solo"
20
+ data_bag_path "/tmp/chef-solo/data_bags"
21
+ encrypted_data_bag_secret "/tmp/chef-solo/data_bag_key"
22
+ cookbook_path [ "/tmp/chef-solo/site-cookbooks",
23
+ "/tmp/chef-solo/cookbooks" ]
24
+ role_path "/tmp/chef-solo/roles"
24
25
  RUBY
25
26
  end
26
27
  end
@@ -13,6 +13,10 @@ class Chef
13
13
 
14
14
  banner "knife prepare [user@]hostname (options)"
15
15
 
16
+ option :omnibus_version,
17
+ :long => "--omnibus-version VERSION",
18
+ :description => "The version of Omnibus to install"
19
+
16
20
  def run
17
21
  super
18
22
  bootstrap.bootstrap!
@@ -57,7 +57,13 @@ module KnifeSolo
57
57
 
58
58
  def omnibus_install
59
59
  run_command(http_client_get_url("http://opscode.com/chef/install.sh"))
60
- run_command("sudo bash install.sh")
60
+
61
+ # `release_version` within install.sh will be installed if
62
+ # `omnibus_version` is not provided.
63
+ install_command = "sudo bash install.sh"
64
+ install_command << " -v #{prepare.config[:omnibus_version]}" if prepare.config[:omnibus_version]
65
+
66
+ run_command(install_command)
61
67
  end
62
68
 
63
69
  def ubuntu_omnibus_install
@@ -77,7 +77,7 @@ module KnifeSolo::Bootstraps
77
77
  {:type => "omnibus", :version => "squeeze"}
78
78
  when %r{Debian GNU/Linux wheezy}
79
79
  {:type => "debian_gem", :version => "wheezy"}
80
- when %r{Ubuntu}
80
+ when %r{Ubuntu}i
81
81
  version = run_command("lsb_release -cs").stdout.strip
82
82
  {:type => "ubuntu_omnibus", :version => version}
83
83
  when %r{Linaro}
@@ -1,5 +1,5 @@
1
1
  module KnifeSolo
2
2
  def self.version
3
- '0.0.10'
3
+ '0.0.11'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-solo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-30 00:00:00.000000000Z
12
+ date: 2012-06-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70171470744280 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70171470744280
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: mocha
27
- requirement: &70171470743860 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,21 +37,31 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70171470743860
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: chef
38
- requirement: &70171470743360 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
- - - ~>
51
+ - - ! '>='
42
52
  - !ruby/object:Gem::Version
43
- version: 0.10.0
53
+ version: 0.10.10
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *70171470743360
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.10.10
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: net-ssh
49
- requirement: &70171470742840 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -57,10 +72,18 @@ dependencies:
57
72
  version: 2.3.0
58
73
  type: :runtime
59
74
  prerelease: false
60
- version_requirements: *70171470742840
75
+ version_requirements: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: 2.1.3
81
+ - - <
82
+ - !ruby/object:Gem::Version
83
+ version: 2.3.0
61
84
  - !ruby/object:Gem::Dependency
62
85
  name: librarian
63
- requirement: &70171470742120 !ruby/object:Gem::Requirement
86
+ requirement: !ruby/object:Gem::Requirement
64
87
  none: false
65
88
  requirements:
66
89
  - - ~>
@@ -68,7 +91,12 @@ dependencies:
68
91
  version: 0.0.20
69
92
  type: :runtime
70
93
  prerelease: false
71
- version_requirements: *70171470742120
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ~>
98
+ - !ruby/object:Gem::Version
99
+ version: 0.0.20
72
100
  description: Handles bootstrapping, running chef solo, rsyncing cookbooks etc
73
101
  email: mat@schaffer.me
74
102
  executables: []
@@ -101,17 +129,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
129
  - - ! '>='
102
130
  - !ruby/object:Gem::Version
103
131
  version: '0'
132
+ segments:
133
+ - 0
134
+ hash: -4055185627370622040
104
135
  required_rubygems_version: !ruby/object:Gem::Requirement
105
136
  none: false
106
137
  requirements:
107
138
  - - ! '>='
108
139
  - !ruby/object:Gem::Version
109
140
  version: '0'
141
+ segments:
142
+ - 0
143
+ hash: -4055185627370622040
110
144
  requirements: []
111
145
  rubyforge_project: nowarning
112
- rubygems_version: 1.8.17
146
+ rubygems_version: 1.8.24
113
147
  signing_key:
114
148
  specification_version: 3
115
149
  summary: A collection of knife plugins for dealing with chef solo
116
150
  test_files: []
117
- has_rdoc: