chef 10.14.0 → 10.14.2
Sign up to get free protection for your applications and to get access to all the features.
- data/distro/common/html/chef-client.8.html +3 -3
- data/distro/common/html/chef-expander.8.html +3 -3
- data/distro/common/html/chef-expanderctl.8.html +3 -3
- data/distro/common/html/chef-server-webui.8.html +3 -3
- data/distro/common/html/chef-server.8.html +3 -3
- data/distro/common/html/chef-solo.8.html +3 -3
- data/distro/common/html/chef-solr.8.html +3 -3
- data/distro/common/html/knife-bootstrap.1.html +3 -3
- data/distro/common/html/knife-client.1.html +3 -3
- data/distro/common/html/knife-configure.1.html +4 -4
- data/distro/common/html/knife-cookbook-site.1.html +3 -3
- data/distro/common/html/knife-cookbook.1.html +3 -3
- data/distro/common/html/knife-data-bag.1.html +3 -3
- data/distro/common/html/knife-environment.1.html +6 -6
- data/distro/common/html/knife-exec.1.html +3 -3
- data/distro/common/html/knife-index.1.html +3 -3
- data/distro/common/html/knife-node.1.html +3 -3
- data/distro/common/html/knife-role.1.html +6 -6
- data/distro/common/html/knife-search.1.html +5 -5
- data/distro/common/html/knife-ssh.1.html +3 -3
- data/distro/common/html/knife-status.1.html +4 -4
- data/distro/common/html/knife-tag.1.html +4 -4
- data/distro/common/html/knife.1.html +11 -11
- data/distro/common/html/shef.1.html +7 -7
- data/distro/common/man/man1/knife-bootstrap.1 +1 -1
- data/distro/common/man/man1/knife-client.1 +1 -1
- data/distro/common/man/man1/knife-configure.1 +1 -1
- data/distro/common/man/man1/knife-cookbook-site.1 +1 -1
- data/distro/common/man/man1/knife-cookbook.1 +1 -1
- data/distro/common/man/man1/knife-data-bag.1 +1 -1
- data/distro/common/man/man1/knife-environment.1 +1 -1
- data/distro/common/man/man1/knife-exec.1 +1 -1
- data/distro/common/man/man1/knife-index.1 +1 -1
- data/distro/common/man/man1/knife-node.1 +1 -1
- data/distro/common/man/man1/knife-role.1 +1 -1
- data/distro/common/man/man1/knife-search.1 +1 -1
- data/distro/common/man/man1/knife-ssh.1 +1 -1
- data/distro/common/man/man1/knife-status.1 +1 -1
- data/distro/common/man/man1/knife-tag.1 +1 -1
- data/distro/common/man/man1/knife.1 +1 -1
- data/distro/common/man/man1/shef.1 +1 -1
- data/distro/common/man/man8/chef-client.8 +1 -1
- data/distro/common/man/man8/chef-expander.8 +1 -1
- data/distro/common/man/man8/chef-expanderctl.8 +1 -1
- data/distro/common/man/man8/chef-server-webui.8 +1 -1
- data/distro/common/man/man8/chef-server.8 +1 -1
- data/distro/common/man/man8/chef-solo.8 +1 -1
- data/distro/common/man/man8/chef-solr.8 +1 -1
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +2 -2
- data/lib/chef/knife/ssh.rb +1 -1
- data/lib/chef/knife/status.rb +4 -6
- data/lib/chef/provider/service/freebsd.rb +1 -2
- data/lib/chef/provider/service/systemd.rb +1 -1
- data/lib/chef/provider/user/useradd.rb +4 -4
- data/lib/chef/resource/group.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +39 -0
- data/spec/unit/knife/status_spec.rb +43 -0
- data/spec/unit/provider/user/useradd_spec.rb +16 -10
- metadata +5 -4
@@ -68,8 +68,7 @@ class Chef
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def define_resource_requirements
|
71
|
-
|
72
|
-
|
71
|
+
shared_resource_requirements
|
73
72
|
requirements.assert(:start, :enable, :reload, :restart) do |a|
|
74
73
|
a.assertion { @rcd_script_found }
|
75
74
|
a.failure_message Chef::Exceptions::Service, "#{@new_resource}: unable to locate the rc.d script"
|
@@ -48,7 +48,7 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def define_resource_requirements
|
51
|
-
|
51
|
+
shared_resource_requirements
|
52
52
|
requirements.assert(:all_actions) do |a|
|
53
53
|
a.assertion { @status_check_success }
|
54
54
|
# We won't stop in any case, but in whyrun warn and tell what we're doing.
|
@@ -34,8 +34,9 @@ class Chef
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def manage_user
|
37
|
-
command = compile_command("usermod")
|
38
|
-
|
37
|
+
command = compile_command("usermod") do |u|
|
38
|
+
u << universal_options
|
39
|
+
end
|
39
40
|
run_command(:command => command)
|
40
41
|
end
|
41
42
|
|
@@ -108,7 +109,7 @@ class Chef
|
|
108
109
|
if updating_home?
|
109
110
|
if managing_home_dir?
|
110
111
|
Chef::Log.debug("#{@new_resource} managing the users home directory")
|
111
|
-
opts << " -d '#{@new_resource.home}'"
|
112
|
+
opts << " -m -d '#{@new_resource.home}'"
|
112
113
|
else
|
113
114
|
Chef::Log.debug("#{@new_resource} setting home to #{@new_resource.home}")
|
114
115
|
opts << " -d '#{@new_resource.home}'"
|
@@ -120,7 +121,6 @@ class Chef
|
|
120
121
|
|
121
122
|
def useradd_options
|
122
123
|
opts = ''
|
123
|
-
opts << " -m" if updating_home? && managing_home_dir?
|
124
124
|
opts << " -r" if @new_resource.system
|
125
125
|
opts
|
126
126
|
end
|
data/lib/chef/resource/group.rb
CHANGED
data/lib/chef/version.rb
CHANGED
@@ -90,5 +90,44 @@ describe Chef::Formatters::ErrorInspectors::CompileErrorInspector do
|
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
|
+
describe "when explaining an error on windows" do
|
94
|
+
before do
|
95
|
+
Chef::Config.stub!(:cookbook_path).and_return([ "C:/opscode/chef/var/cache/cookbooks" ])
|
96
|
+
recipe_lines = BAD_RECIPE.split("\n").map {|l| l << "\n" }
|
97
|
+
IO.should_receive(:readlines).with("C:/opscode/chef/var/cache/cookbooks/foo/recipes/default.rb").and_return(recipe_lines)
|
98
|
+
@trace = [
|
99
|
+
"C:/opscode/chef/var/cache/cookbooks/foo/recipes/default.rb:14 in `from_file'",
|
100
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:144:in `rescue in block in load_libraries'",
|
101
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:138:in `block in load_libraries'",
|
102
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:230:in `call'",
|
103
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:230:in `block (2 levels) in foreach_cookbook_load_segment'",
|
104
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:229:in `each'",
|
105
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:229:in `block in foreach_cookbook_load_segment'",
|
106
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:227:in `each'",
|
107
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:227:in `foreach_cookbook_load_segment'",
|
108
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:137:in `load_libraries'",
|
109
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/run_context.rb:62:in `load'",
|
110
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/client.rb:198:in `setup_run_context'",
|
111
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/client.rb:418:in `do_run'",
|
112
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/client.rb:176:in `run'",
|
113
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/application/client.rb:283:in `block in run_application'",
|
114
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/application/client.rb:270:in `loop'",
|
115
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/application/client.rb:270:in `run_application'",
|
116
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/lib/chef/application.rb:70:in `run'",
|
117
|
+
"C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-10.14.0/bin/chef-client:26:in `<top (required)>'",
|
118
|
+
"C:/opscode/chef/bin/chef-client:19:in `load'",
|
119
|
+
"C:/opscode/chef/bin/chef-client:19:in `<main>'"
|
120
|
+
]
|
121
|
+
@exception.set_backtrace(@trace)
|
122
|
+
@path = "/var/chef/cache/cookbooks/syntax-err/recipes/default.rb"
|
123
|
+
@inspector = described_class.new(@path, @exception)
|
124
|
+
@inspector.add_explanation(@description)
|
125
|
+
end
|
126
|
+
|
127
|
+
it "prints a pretty message" do
|
128
|
+
@description.display(@outputter)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
93
132
|
|
94
133
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Sahil Muthoo (<sahil.muthoo@gmail.com>)
|
3
|
+
# Copyright:: Copyright (c) 2012 Opscode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'spec_helper'
|
20
|
+
require 'highline'
|
21
|
+
|
22
|
+
describe Chef::Knife::Status do
|
23
|
+
before(:each) do
|
24
|
+
node = Chef::Node.new.tap do |n|
|
25
|
+
n["fqdn"] = "foobar"
|
26
|
+
n["ohai_time"] = 1343845969
|
27
|
+
end
|
28
|
+
query = mock("Chef::Search::Query")
|
29
|
+
query.stub!(:search).and_yield(node)
|
30
|
+
Chef::Search::Query.stub!(:new).and_return(query)
|
31
|
+
@knife = Chef::Knife::Status.new
|
32
|
+
@stdout = StringIO.new
|
33
|
+
@knife.stub!(:highline).and_return(HighLine.new(StringIO.new, @stdout))
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "run" do
|
37
|
+
it "should not colorize output unless it's writing to a tty" do
|
38
|
+
@knife.run
|
39
|
+
@stdout.string.match(/foobar/).should_not be_nil
|
40
|
+
@stdout.string.match(/\e.*ago/).should be_nil
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -115,9 +115,9 @@ describe Chef::Provider::User::Useradd do
|
|
115
115
|
:non_unique => false})
|
116
116
|
end
|
117
117
|
|
118
|
-
it "should set -d /homedir
|
119
|
-
@provider.universal_options.should == " -d '/wowaweea'"
|
120
|
-
@provider.useradd_options.should == "
|
118
|
+
it "should set -m -d /homedir" do
|
119
|
+
@provider.universal_options.should == " -m -d '/wowaweea'"
|
120
|
+
@provider.useradd_options.should == ""
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
@@ -128,9 +128,9 @@ describe Chef::Provider::User::Useradd do
|
|
128
128
|
@new_resource.stub!(:non_unique).and_return(false)
|
129
129
|
end
|
130
130
|
|
131
|
-
it "should set -d /homedir
|
132
|
-
@provider.universal_options.should eql(" -d '/wowaweea'")
|
133
|
-
@provider.useradd_options.should == "
|
131
|
+
it "should set -m -d /homedir" do
|
132
|
+
@provider.universal_options.should eql(" -m -d '/wowaweea'")
|
133
|
+
@provider.useradd_options.should == ""
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
@@ -168,7 +168,7 @@ describe Chef::Provider::User::Useradd do
|
|
168
168
|
end
|
169
169
|
|
170
170
|
it "runs useradd with the computed command options" do
|
171
|
-
command = "useradd -c 'Adam Jacob' -g '23' -p 'abracadabra' -s '/usr/bin/zsh' -u '1000' -d '/Users/mud'
|
171
|
+
command = "useradd -c 'Adam Jacob' -g '23' -p 'abracadabra' -s '/usr/bin/zsh' -u '1000' -m -d '/Users/mud' adam"
|
172
172
|
@provider.should_receive(:run_command).with({ :command => command }).and_return(true)
|
173
173
|
@provider.create_user
|
174
174
|
end
|
@@ -181,7 +181,7 @@ describe Chef::Provider::User::Useradd do
|
|
181
181
|
@provider.new_resource.instance_variable_set("@home", nil)
|
182
182
|
end
|
183
183
|
|
184
|
-
it "should not include -d in the command options" do
|
184
|
+
it "should not include -m or -d in the command options" do
|
185
185
|
command = "useradd -c 'Adam Jacob' -g '23' -p 'abracadabra' -s '/usr/bin/zsh' -u '1000' -r adam"
|
186
186
|
@provider.should_receive(:run_command).with({ :command => command }).and_return(true)
|
187
187
|
@provider.create_user
|
@@ -198,17 +198,23 @@ describe Chef::Provider::User::Useradd do
|
|
198
198
|
@provider.new_resource.gid '23'
|
199
199
|
end
|
200
200
|
|
201
|
+
# CHEF-3423, -m must come before the username
|
201
202
|
it "runs usermod with the computed command options" do
|
202
|
-
@provider.should_receive(:run_command).with({ :command => "usermod -g '23' -d '/Users/mud' adam
|
203
|
+
@provider.should_receive(:run_command).with({ :command => "usermod -g '23' -m -d '/Users/mud' adam" }).and_return(true)
|
203
204
|
@provider.manage_user
|
204
205
|
end
|
205
206
|
|
206
207
|
it "does not set the -r option to usermod" do
|
207
208
|
@new_resource.system(true)
|
208
|
-
@provider.should_receive(:run_command).with({ :command => "usermod -g '23' -d '/Users/mud' adam
|
209
|
+
@provider.should_receive(:run_command).with({ :command => "usermod -g '23' -m -d '/Users/mud' adam" }).and_return(true)
|
209
210
|
@provider.manage_user
|
210
211
|
end
|
211
212
|
|
213
|
+
it "CHEF-3429: does not set -m if we aren't changing the home directory" do
|
214
|
+
@provider.should_receive(:updating_home?).and_return(false)
|
215
|
+
@provider.should_receive(:run_command).with({ :command => "usermod -g '23' adam" }).and_return(true)
|
216
|
+
@provider.manage_user
|
217
|
+
end
|
212
218
|
end
|
213
219
|
|
214
220
|
describe "when removing a user" do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 115
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 10
|
8
8
|
- 14
|
9
|
-
-
|
10
|
-
version: 10.14.
|
9
|
+
- 2
|
10
|
+
version: 10.14.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Adam Jacob
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-09-
|
18
|
+
date: 2012-09-10 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: mixlib-config
|
@@ -1151,6 +1151,7 @@ files:
|
|
1151
1151
|
- spec/unit/knife/role_from_file_spec.rb
|
1152
1152
|
- spec/unit/knife/node_run_list_add_spec.rb
|
1153
1153
|
- spec/unit/knife/cookbook_site_download_spec.rb
|
1154
|
+
- spec/unit/knife/status_spec.rb
|
1154
1155
|
- spec/unit/knife/configure_client_spec.rb
|
1155
1156
|
- spec/unit/knife/ssh_spec.rb
|
1156
1157
|
- spec/unit/knife/cookbook_metadata_from_file_spec.rb
|