knife-solo 0.0.11 → 0.0.12
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.
data/lib/chef/knife/prepare.rb
CHANGED
@@ -2,6 +2,7 @@ require 'chef/knife'
|
|
2
2
|
require 'knife-solo/ssh_command'
|
3
3
|
require 'knife-solo/kitchen_command'
|
4
4
|
require 'knife-solo/bootstraps'
|
5
|
+
require 'knife-solo/knife_solo_error'
|
5
6
|
|
6
7
|
class Chef
|
7
8
|
class Knife
|
@@ -11,6 +12,10 @@ class Chef
|
|
11
12
|
include KnifeSolo::SshCommand
|
12
13
|
include KnifeSolo::KitchenCommand
|
13
14
|
|
15
|
+
class WrongPrepareError < KnifeSolo::KnifeSoloError
|
16
|
+
alias :message :to_s
|
17
|
+
end
|
18
|
+
|
14
19
|
banner "knife prepare [user@]hostname (options)"
|
15
20
|
|
16
21
|
option :omnibus_version,
|
@@ -18,6 +23,7 @@ class Chef
|
|
18
23
|
:description => "The version of Omnibus to install"
|
19
24
|
|
20
25
|
def run
|
26
|
+
validate_params!
|
21
27
|
super
|
22
28
|
bootstrap.bootstrap!
|
23
29
|
generate_node_config
|
@@ -38,6 +44,12 @@ class Chef
|
|
38
44
|
def operating_system
|
39
45
|
@operating_system ||= run_command('uname -s').stdout.strip
|
40
46
|
end
|
47
|
+
|
48
|
+
def validate_params!
|
49
|
+
unless @name_args.first =~ /\A.+\@.+\z/
|
50
|
+
raise WrongPrepareError.new "need to pass a [user@]hostname as the first argument"
|
51
|
+
end
|
52
|
+
end
|
41
53
|
end
|
42
54
|
end
|
43
55
|
end
|
@@ -14,7 +14,7 @@ module KnifeSolo::Bootstraps
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def http_client_get_url(url)
|
17
|
-
"
|
17
|
+
"curl -LO #{url}"
|
18
18
|
end
|
19
19
|
|
20
20
|
def zypper_gem_install
|
@@ -91,6 +91,10 @@ module KnifeSolo::Bootstraps
|
|
91
91
|
{:type => "omnibus", :version => "RHEL5"}
|
92
92
|
when %r{Red Hat Enterprise.*? 6}
|
93
93
|
{:type => "omnibus", :version => "RHEL6"}
|
94
|
+
when %r{Fedora release.*? 15}
|
95
|
+
{:type => "omnibus", :version => "FC15"}
|
96
|
+
when %r{Fedora release.*? 16}
|
97
|
+
{:type => "omnibus", :version => "FC16"}
|
94
98
|
when %r{Scientific Linux.*? 5}
|
95
99
|
{:type => "omnibus", :version => "RHEL5"}
|
96
100
|
when %r{Scientific Linux.*? 6}
|
data/lib/knife-solo/info.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
require 'knife-solo/knife_solo_error'
|
2
|
+
|
1
3
|
module KnifeSolo
|
2
4
|
module KitchenCommand
|
3
|
-
class OutOfKitchenError <
|
5
|
+
class OutOfKitchenError < KnifeSoloError
|
4
6
|
def message
|
5
7
|
"This command must be run inside a Chef solo kitchen."
|
6
8
|
end
|
@@ -23,7 +25,11 @@ module KnifeSolo
|
|
23
25
|
end
|
24
26
|
|
25
27
|
def required_files_present?
|
26
|
-
KitchenCommand.all_requirements.inject(true)
|
28
|
+
KitchenCommand.all_requirements.inject(true) do |m, f|
|
29
|
+
check = File.exists?(f)
|
30
|
+
Chef::Log.warn "#{f} is a required file/directory" unless check
|
31
|
+
m && check
|
32
|
+
end
|
27
33
|
end
|
28
34
|
end
|
29
35
|
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.
|
4
|
+
version: 0.0.12
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- lib/knife-solo/bootstraps.rb
|
115
115
|
- lib/knife-solo/info.rb
|
116
116
|
- lib/knife-solo/kitchen_command.rb
|
117
|
+
- lib/knife-solo/knife_solo_error.rb
|
117
118
|
- lib/knife-solo/ssh_command.rb
|
118
119
|
- lib/knife-solo/tools.rb
|
119
120
|
- lib/knife-solo.rb
|
@@ -131,7 +132,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
131
132
|
version: '0'
|
132
133
|
segments:
|
133
134
|
- 0
|
134
|
-
hash: -
|
135
|
+
hash: -4402118030036500865
|
135
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
137
|
none: false
|
137
138
|
requirements:
|
@@ -140,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
141
|
version: '0'
|
141
142
|
segments:
|
142
143
|
- 0
|
143
|
-
hash: -
|
144
|
+
hash: -4402118030036500865
|
144
145
|
requirements: []
|
145
146
|
rubyforge_project: nowarning
|
146
147
|
rubygems_version: 1.8.24
|