[Puppet - Bug #2731] (Unreviewed) mount on linux does not recognize errror code 32 meaning already mounted

12 views
Skip to first unread message

red...@reductivelabs.com

unread,
Oct 16, 2009, 10:58:52 AM10/16/09
to ja...@lovedthanlost.net, and...@reductivelabs.com, la...@reductivelabs.com, r...@devco.net, jona...@spreadconcepts.com, puppe...@googlegroups.com
Issue #2731 has been reported by Jonathan Stanton.

Bug #2731: mount on linux does not recognize errror code 32 meaning already mounted

  • Author: Jonathan Stanton
  • Status: Unreviewed
  • Priority: Normal
  • Assigned to:
  • Category: mount
  • Target version:
  • Affected version: 0.24.8
  • Keywords:
  • Branch:

On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

Oct 16 10:28:07 savage-file puppetd11739: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32:

This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.


You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://reductivelabs.com/redmine/my/account

red...@reductivelabs.com

unread,
Oct 16, 2009, 3:37:35 PM10/16/09
to ja...@lovedthanlost.net, and...@reductivelabs.com, la...@reductivelabs.com, r...@devco.net, jona...@spreadconcepts.com, puppe...@googlegroups.com
Issue #2731 has been updated by Markus Roberts.
  • Status changed from Unreviewed to Needs more information

Which man page are you seeing that on? AFAIK, 32 means "mount failure" not "already mounted" -- it's an error, not a synonym for success.

  • Author: Jonathan Stanton
  • Status: Needs more information
  • Priority: Normal
  • Assigned to:
  • Category: mount
  • Target version:
  • Affected version: 0.24.8
  • Keywords:
  • Branch:

red...@reductivelabs.com

unread,
Oct 23, 2009, 4:40:37 PM10/23/09
to ja...@lovedthanlost.net, la...@reductivelabs.com, r...@devco.net, jona...@spreadconcepts.com, puppe...@googlegroups.com
Issue #2731 has been updated by Jonathan Stanton.

I can't find the man page where I saw the 32 return value meaning "already mounted" but I can duplicate how the mount command line program does know the difference between a failed mount because it's already mounted and a failed mount for other reasons (permisssions, no portmap, etc). See the following commands I ran on the same machine as before when trying the same mount command that puppet does (copied from the puppet log)

root@savage-file:/var/log# /bin/mount -o rw,async /mnt/moose_home
mount.nfs: /mnt/moose_home is already mounted or busy
root@savage-file:/var/log# echo $?
32

So mount.nfs is actually getting an EBUSY errno (from the mount syscall) not a EPERM or EINVAL. So it prints the error that it is already mounted, but also has a return value of 32.

Now if I try the exact same mount but give the "remount" option so it tries to remount an existing mount I get success:

root@savage-file:/var/log# /bin/mount -o remount,rw,async /mnt/moose_home
root@savage-file:/var/log# echo $?
0

which would indicate success to Puppet and allow it to mark the nfs partition as in mounted state.

Maybe the linux/mount provider in puppet needs to either check if the partition is already mounted (and then stop trying to mount it) or it should try with the "remount" option first and if that fails (as it is documented in the mount man page to fail with EINVAL if it is attempted on a source that is not already mounted) then it will mount it without the remount option.

  • Author: Jonathan Stanton
  • Status: Needs more information
  • Priority: Normal
  • Assigned to:
  • Category: mount
  • Target version:
  • Affected version: 0.24.8
  • Keywords:
  • Branch:

red...@reductivelabs.com

unread,
Oct 27, 2009, 5:49:35 PM10/27/09
to ja...@lovedthanlost.net, la...@reductivelabs.com, r...@devco.net, jona...@spreadconcepts.com, puppe...@googlegroups.com
Issue #2731 has been updated by Markus Roberts.
  • Status changed from Needs more information to Investigating
  • Author: Jonathan Stanton
  • Status: Investigating
  • Priority: Normal
  • Assigned to:
  • Category: mount
  • Target version:
  • Affected version: 0.24.8
  • Keywords:
  • Branch:

On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 


This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

red...@reductivelabs.com

unread,
Dec 11, 2009, 2:02:15 AM12/11/09
to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
Issue #2731 has been updated by Ricky Zhou.

Hi, I looked through the code a bit, and it seems that puppet does try to check if the filesystem is mounted first.

I've been getting this with 0.25.1 as well, and I think it could be related to SELinux preventing puppet from checking if the filesystem is mounted (I have gotten AVC denials about puppet attempting to redirect output from mount into a temporary file).

Jonathan, do you have SELinux enabled, and can you check if this still happens with it disabled?

I'm not completely sure what the best solution is to this. I guess an SELinux policy fix is in order, but I'm not too familiar with why puppet needs a temporary file to get the output of a command to begin with. There is a comment in util.rb about this:

# There are problems with read blocking with badly behaved children
# read.partialread doesn't seem to capture either stdout or stderr
# We hack around this using a temporary file

# The idea here is to avoid IO#read whenever possible.

it seems that this was added as a somewhat hacky fix for bug #662, so it's also possible that the fix belongs in puppet.

By the way, this isn't the first time that we've seen bugs involving hanging reads in ruby. I wonder if anything in bug #1963 could be relevant to finding a better solution to bug #662.

  • Author: Jonathan Stanton
  • Status: Investigating
  • Priority: Normal
  • Assigned to:
  • Category: mount
  • Target version:
  • Affected version: 0.24.8
  • Keywords:
  • Branch:

On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 


This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

red...@reductivelabs.com

unread,
Dec 11, 2009, 2:44:29 AM12/11/09
to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
Issue #2731 has been updated by Ricky Zhou.

I just filed a bug against the puppet SELinux policy in Fedora about this: https://bugzilla.redhat.com/show_bug.cgi?id=546550

Apologies if I jumped the gun a bit and the fix really does belong in puppet.

  • Author: Jonathan Stanton
  • Status: Investigating
  • Priority: Normal
  • Assigned to:
  • Category: mount
  • Target version:
  • Affected version: 0.24.8
  • Keywords:
  • Branch:

On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 


This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

red...@reductivelabs.com

unread,
Dec 20, 2009, 3:40:40 PM12/20/09
to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
Issue #2731 has been updated by Ricky Zhou.

Here is a potential fix for the the issue. This patch changes the execute function to use a pipe instead of a temporary file for getting command output, which should avoid the SELinux denials. I also haven't had a chance to test this inside of puppetd yet, so I'm not yet sure that it doesn't fail as described in bug #662. I'll get this tested soon, but it would still be good for somebody familiar with the old issue to take a look at this:

http://ricky.fedorapeople.org/0001-Use-a-pipe-instead-of-a-temp-file-for-command-output.patch

  • Author: Jonathan Stanton
  • Status: Investigating
  • Priority: Normal
  • Assigned to:
  • Category: mount
  • Target version:
  • Affected version: 0.24.8
  • Keywords:
  • Branch:

On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 


This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

red...@reductivelabs.com

unread,
Dec 21, 2009, 12:33:31 AM12/21/09
to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
Issue #2731 has been updated by Markus Roberts.
  • Target version set to Puppet - 0.25.2

This will probably get bounced to 25.3 but I'm putting it on 0.25.2 for review

  • Author: Jonathan Stanton
  • Status: Investigating
  • Priority: Normal
  • Assigned to:
  • Category: mount
  • Target version: 0.25.2
  • Affected version: 0.24.8
  • Keywords:
  • Branch:

On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 


This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

red...@reductivelabs.com

unread,
Dec 22, 2009, 2:17:43 AM12/22/09
to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
Issue #2731 has been updated by Markus Roberts.
  • Subject changed from mount on linux does not recognize errror code 32 meaning already mounted to problem communicating with processes in SELinux
  • Category changed from mount to SELinux

Bug #2731: problem communicating with processes in SELinux

    • Author: Jonathan Stanton
    • Status: Investigating
    • Priority: Normal
    • Assigned to:
    • Category: SELinux
    • Target version: 0.25.2
    • Affected version: 0.24.8
    • Keywords:
    • Branch:

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 22, 2009, 2:27:58 AM12/22/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Markus Roberts.
    • Status changed from Investigating to Needs design decision
    • Author: Jonathan Stanton
    • Status: Needs design decision
    • Priority: Normal
    • Assigned to:
    • Category: SELinux
    • Target version: 0.25.2
    • Affected version: 0.24.8
    • Keywords:
    • Branch:

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 22, 2009, 3:19:50 AM12/22/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Markus Roberts.

    My thought on the patch:

    • Overall, looks plausible
    • The change:
      -                puts detail.to_s
      +                # Write errors to stderr.
      +                $stderr.puts detail.to_s
      

      while arguably "the right way to do it" is inconsistent with all other occurrences and should be rejected on that bases (though I'm going to add that point to my code smell list).
    • I'm not too crazy about adding all the blank lines.
    • This is a much further reaching change than the title suggests
    • I'm also concerned about the #662 question, though not as much as I was at first.

    This list started off longer, and shrunk as I dug into the code.

    • Author: Jonathan Stanton
    • Status: Needs design decision
    • Priority: Normal
    • Assigned to:
    • Category: SELinux
    • Target version: 0.25.2
    • Affected version: 0.24.8
    • Keywords:
    • Branch:

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 22, 2009, 11:26:35 AM12/22/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Ricky Zhou.

    Markus Roberts wrote:

    My thought on the patch:

    • Overall, looks plausible
    • The change: [...] while arguably "the right way to do it" is inconsistent with all other occurrences and should be rejected on that bases (though I'm going to add that point to my code smell list).

    Ah, the reason I made that change was that I was getting inconsistent output from

    Puppet::Util.execute(["does_not_exist"], :failonfail => false)
    

    using the original version versus my version. For some reason, my version would return the "No such file or directory..." error while the current version would return a blank string. I'll look more into why this happens.

    • I'm not too crazy about adding all the blank lines.

    I don't know the first thing about ruby style, so if they're not helpful, I'm happy to get rid of them :-)

    • This is a much further reaching change than the title suggests
    • I'm also concerned about the #662 question, though not as much as I was at first.

    For what it's worth, I've finished my testing on Fedora 12, and I was able to reproduce the issue and confirm that the patch fixes it for me. I wasn't able to reproduce on CentOS 5.4 (most likely due to different SELinux policy versions?), but the patch didn't seem to break anything either.

    Like you said, this seems to be a pretty far-reaching change, so the more scrutiny and testing this gets, the better. Thanks for taking a look at this!

    • Author: Jonathan Stanton
    • Status: Needs design decision
    • Priority: Normal
    • Assigned to:
    • Category: SELinux
    • Target version: 0.25.2
    • Affected version: 0.24.8
    • Keywords:
    • Branch:

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 22, 2009, 1:05:01 PM12/22/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Ricky Zhou.

    Ricky Zhou wrote:

    Ah, the reason I made that change was that I was getting inconsistent output from [...] using the original version versus my version. For some reason, my version would return the "No such file or directory..." error while the current version would return a blank string. I'll look more into why this happens.

    OK, it looks like this stems from the use of the exit! function, which closed the file before the error message was properly written into it (using the exit function instead made the output consistent with my non-stderr version). I think it's safe to consider this a bug in the current implementation that this patch would fix as well.

    Here's a new patch with the stderr change and whitespace changes removed.

    http://ricky.fedorapeople.org/0001-Use-a-pipe-instead-of-a-temp-file-for-command-output.patch

    • Author: Jonathan Stanton
    • Status: Needs design decision
    • Priority: Normal
    • Assigned to:
    • Category: SELinux
    • Target version: 0.25.2
    • Affected version: 0.24.8
    • Keywords:
    • Branch:

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 22, 2009, 5:01:19 PM12/22/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Markus Roberts.

    Thanks Ricky!

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 22, 2009, 5:39:32 PM12/22/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Markus Roberts.
    • Status changed from Ready for Testing to Ready for Checkin

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 22, 2009, 5:51:27 PM12/22/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by James Turnbull.
    • Status changed from Ready for Checkin to Closed

    Pushed in commit:"6ab2453d966d1d48e12d8a8cec34b9e460597d04" in branch 0.25.x

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 31, 2009, 1:32:39 AM12/31/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, Mar...@reality.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by James Turnbull.
    • Status changed from Closed to Code Insufficient
    • Assigned to set to Markus Roberts

    Re-opening in light of regression as indicated in #2997.

    • Author: Jonathan Stanton
    • Status: Code Insufficient
    • Priority: Normal
    • Assigned to: Markus Roberts
    • Category: SELinux
    • Target version: 0.25.2

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 31, 2009, 1:34:12 AM12/31/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, Mar...@reality.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by James Turnbull.
    • Target version changed from Puppet - 0.25.2 to Puppet - 0.25.3
    • Author: Jonathan Stanton
    • Status: Code Insufficient
    • Priority: Normal
    • Assigned to: Markus Roberts
    • Category: SELinux

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 31, 2009, 12:11:23 PM12/31/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, Mar...@reality.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Ricky Zhou.

    Here is a new patch that solves a hanging issue when the pipe's kernel buffer is filled up.

    http://ricky.fedorapeople.org/0001-Use-a-pipe-instead-of-a-temp-file-for-command-output.patch

    • Author: Jonathan Stanton
    • Status: Code Insufficient
    • Priority: Normal
    • Assigned to: Markus Roberts
    • Category: SELinux
    • Target version: 0.25.3

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 31, 2009, 5:35:37 PM12/31/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, Mar...@reality.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Ricky Zhou.

    The latest version of the patch (same URL) seems to fix the issue mentioned in #2997. Would it be too late at this point for this to make it into 0.25.2?

    • Author: Jonathan Stanton
    • Status: Code Insufficient
    • Priority: Normal
    • Assigned to: Markus Roberts
    • Category: SELinux
    • Target version: 0.25.3

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 31, 2009, 7:30:29 PM12/31/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, Mar...@reality.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by James Turnbull.
    • Status changed from Code Insufficient to Ready for Checkin
    • Target version changed from Puppet - 0.25.3 to Puppet - 0.25.2
    • Author: Jonathan Stanton
    • Status: Ready for Checkin
    • Priority: Normal
    • Assigned to: Markus Roberts
    • Category: SELinux

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Dec 31, 2009, 7:43:32 PM12/31/09
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, Mar...@reality.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by James Turnbull.
    • Status changed from Ready for Checkin to Closed

    Pushed in commit:"5c6f07b404e946266b33f08855116f7bb1a1800c" in branch 0.25.x

    • Author: Jonathan Stanton
    • Status: Closed
    • Priority: Normal
    • Assigned to: Markus Roberts
    • Category: SELinux
    • Target version: 0.25.2

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Jan 1, 2010, 3:42:30 PM1/1/10
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, Mar...@reality.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Ricky Zhou.
    • Status changed from Closed to Re-opened

    My apologies, testing rc3, I noticed that I introduced one more bug in that patch. Closing stdout/stderr was a bad idea, as it could cause failures when executed programs tried to write to them. This patch reverts to the previous behavior of reopening stdout/stderr to /dev/null.

    Sorry about the short notice for this, and happy new year :-)

    http://ricky.fedorapeople.org/0001-Do-not-close-stdout-or-stderr-in-execute.patch

    • Author: Jonathan Stanton
    • Status: Re-opened
    • Priority: Normal
    • Assigned to: Markus Roberts
    • Category: SELinux
    • Target version: 0.25.2

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Jan 2, 2010, 12:10:09 AM1/2/10
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, Mar...@reality.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by James Turnbull.
    • Status changed from Re-opened to Closed

    Pushed in commit:"fd631b9945cf33a1e5af849900cf6219b050e321" in branch 0.25.x

    • Author: Jonathan Stanton
    • Status: Closed
    • Priority: Normal
    • Assigned to: Markus Roberts
    • Category: SELinux
    • Target version: 0.25.2

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    red...@reductivelabs.com

    unread,
    Jan 11, 2010, 7:18:03 PM1/11/10
    to ja...@lovedthanlost.net, r...@devco.net, jona...@spreadconcepts.com, Mar...@reality.com, ri...@rzhou.org, puppe...@googlegroups.com
    Issue #2731 has been updated by Markus Roberts.

    The fix for this ticket was reverted for 0.25.3 as it caused numerous problems. See #3033 for the resumed search for a solution to the problem of communicating with SELinux processes.

    • Author: Jonathan Stanton
    • Status: Closed
    • Priority: Normal
    • Assigned to: Markus Roberts
    • Category: SELinux
    • Target version: 0.25.2

    On a Centos 5.3 system with NFS mounting home directories, every time puppet runs it tries to update the status of the nfs mount from "present" to "mounted" but fails because the call to mount returns -32 not 0. But as documented on the man page -32 means 'already mounted' and so should be treated as success. Here is the logged message from puppetd.

    Oct 16 10:28:07 savage-file puppetd[11739]: (//Node[savage-file.livetimenet.com]/nfs_moose_client/Mount[/mnt/moose_home]/ensure) change from present to mounted failed: Execution of '/bin/mount -o rw,async /mnt/moose_home' returned 32: 
    


    This has been going on for awhile (certainly back several versions of puppet) and I've tried some ideas with restarting it, and letting puppet do the original mount instead of the OS mounting it directly.

    Reply all
    Reply to author
    Forward
    0 new messages