Am I crazy or is manage_home=>true broken in Chef 10.14


#1

I just upgraded my first preproduction system from Chef 10.12 to 10.14 and I’m now getting run fails due to chef-client trying to run usermod with bad syntax. Thanks to the nice error reporting in 10.14 I can give a human readable format of the error:

================================================================================
Error executing action create on resource ‘user[bob]’

Chef::Exceptions::Exec

usermod -u ‘5656’ bob -m returned 2, expected 0

Compiled Resource:

Declared in /var/cache/chef/cookbooks/some_cookbook/recipes/ubuntu.rb:124:in `from_file’

user(“bob”) do
recipe_name "ubuntu"
password "SURE…."
home "/home/bob"
username "bob"
supports {:manage_home=>true}
cookbook_name "some_cookbook"
retry_delay 2
uid "5656"
retries 0
action :create
shell "/bin/bash"
End

So what happens when you execute “usermod -u ‘5656’ bob –m” on a box:

sudo usermod -u ‘5656’ bob -m
Usage: usermod [options] LOGIN

Options:
-c, --comment COMMENT new value of the GECOS field
-d, --home HOME_DIR new home directory for the user account
-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, --gid GROUP force use GROUP as new primary group
-G, --groups GROUPS new list of supplementary GROUPS
-a, --append append the user to the supplemental GROUPS
mentioned by the -G option without removing
him/her from other groups
-h, --help display this help message and exit
-l, --login NEW_LOGIN new value of the login name
-L, --lock lock the user account
-m, --move-home move contents of the home directory to the
new location (use only with -d)
-o, --non-unique allow using duplicate (non-unique) UID
-p, --password PASSWORD use encrypted password for the new password
-s, --shell SHELL new login shell for the user account
-u, --uid UID new UID for the user account
-U, --unlock unlock the user account
-Z, --selinux-user new SELinux user mapping for the user account

Tim Smith

Operations Engineer, SaaS Operations

M: +1 707.738.8132

TW: @tas50

webtrendshttp://www.webtrends.com/

Real-Time Relevance. Remarkable ROI.™

London | Portland | San Francisco | Melbourne | Tokyo


#2

Which platform/provider?


Daniel DeLeo

On Friday, September 7, 2012 at 11:48 AM, Tim Smith wrote:

I just upgraded my first preproduction system from Chef 10.12 to 10.14 and I’m now getting run fails due to chef-client trying to run usermod with bad syntax. Thanks to the nice error reporting in 10.14 I can give a human readable format of the error:

================================================================================
Error executing action create on resource ‘user[bob]’

Chef::Exceptions::Exec

usermod -u ‘5656’ bob -m returned 2, expected 0

Compiled Resource:

Declared in /var/cache/chef/cookbooks/some_cookbook/recipes/ubuntu.rb:124:in `from_file’

user(“bob”) do
recipe_name "ubuntu"
password "SURE…."
home "/home/bob"
username "bob"
supports {:manage_home=>true}
cookbook_name "some_cookbook"
retry_delay 2
uid "5656"
retries 0
action :create
shell "/bin/bash"
End

So what happens when you execute “usermod -u ‘5656’ bob –m” on a box:

sudo usermod -u ‘5656’ bob -m
Usage: usermod [options] LOGIN

Options:
-c, --comment COMMENT new value of the GECOS field
-d, --home HOME_DIR new home directory for the user account
-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, --gid GROUP force use GROUP as new primary group
-G, --groups GROUPS new list of supplementary GROUPS
-a, --append append the user to the supplemental GROUPS
mentioned by the -G option without removing
him/her from other groups
-h, --help display this help message and exit
-l, --login NEW_LOGIN new value of the login name
-L, --lock lock the user account
-m, --move-home move contents of the home directory to the
new location (use only with -d)
-o, --non-unique allow using duplicate (non-unique) UID
-p, --password PASSWORD use encrypted password for the new password
-s, --shell SHELL new login shell for the user account
-u, --uid UID new UID for the user account
-U, --unlock unlock the user account
-Z, --selinux-user new SELinux user mapping for the user account

Tim Smith

Operations Engineer, SaaS Operations

M: +1 707.738.8132

TW: @tas50

webtrends (http://www.webtrends.com/)

Real-Time Relevance. Remarkable ROI.™

London | Portland | San Francisco | Melbourne | Tokyo


#3

On Friday, September 7, 2012 at 11:59 AM, Daniel DeLeo wrote:

Which platform/provider?

Nevermind, looking at the release notes lead me to this:

http://tickets.opscode.com/browse/CHEF-2706

Can you file a bug?


Daniel DeLeo


#4

On Friday, September 7, 2012 at 12:08 PM, Daniel DeLeo wrote:

On Friday, September 7, 2012 at 11:59 AM, Daniel DeLeo wrote:

Which platform/provider?

Nevermind, looking at the release notes lead me to this:

http://tickets.opscode.com/browse/CHEF-2706
https://github.com/opscode/chef/pull/176/files

Can you file a bug?


Daniel DeLeo

Can anyone test this patch?


Daniel DeLeo


#5

On Fri, Sep 7, 2012 at 2:48 PM, Tim Smith Tim.Smith@webtrends.com wrote:

I just upgraded my first preproduction system from Chef 10.12 to 10.14
and I’m now getting run fails due to chef-client trying to run usermod with
bad syntax. Thanks to the nice error reporting in 10.14 I can give a human
readable format of the error:

Is there a Carly Rae Jepsen joke in here?

Hey, I just installed you,
And this is crazy,
But manage_home broke,
So fix it, maybe?

:slight_smile:

Filed as: http://tickets.opscode.com/browse/CHEF-3423

Bryan


#6

Bryan,

Any idea when we can expect to see if this fix in a released version? This seems like it’s going to break a lot of base recipes that people use in their environments. It would be nice to get a fix before a full release cycle so I can get some why-run awesomeness in my environment.

Tim Smith

Operations Engineer, SaaS Operations

M: +1 707.738.8132

TW: @tas50

webtrendshttp://www.webtrends.com/

Real-Time Relevance. Remarkable ROI.™

London | Portland | San Francisco | Melbourne | Tokyo

From: Bryan McLellan <btm@loftninjas.orgmailto:btm@loftninjas.org>
Reply-To: "chef@lists.opscode.commailto:chef@lists.opscode.com" <chef@lists.opscode.commailto:chef@lists.opscode.com>
Date: Friday, September 7, 2012 1:26 PM
To: "chef@lists.opscode.commailto:chef@lists.opscode.com" <chef@lists.opscode.commailto:chef@lists.opscode.com>
Subject: [chef] Re: Am I crazy or is manage_home=>true broken in Chef 10.14

On Fri, Sep 7, 2012 at 2:48 PM, Tim Smith <Tim.Smith@webtrends.commailto:Tim.Smith@webtrends.com> wrote:
I just upgraded my first preproduction system from Chef 10.12 to 10.14 and I’m now getting run fails due to chef-client trying to run usermod with bad syntax. Thanks to the nice error reporting in 10.14 I can give a human readable format of the error:

Is there a Carly Rae Jepsen joke in here?

Hey, I just installed you,
And this is crazy,
But manage_home broke,
So fix it, maybe?

:slight_smile:

Filed as: http://tickets.opscode.com/browse/CHEF-3423

Bryan


#7

On Fri, Sep 7, 2012 at 4:41 PM, Tim Smith Tim.Smith@webtrends.com wrote:

Any idea when we can expect to see if this fix in a released version?
This seems like it’s going to break a lot of base recipes that people use
in their environments. It would be nice to get a fix before a full release
cycle so I can get some why-run awesomeness in my environment.

Maybe today, probably Monday, no later than Tuesday.

Bryan