Issue #16784 has been updated by Joshua Hoblitt.

Assignee changed from Joshua Hoblitt to eric sorenson

In that example, /mnt/sysimage has been chroot()'d too.  That should be the 
same environment the kickstart %post script is executed in (where puppet runs 
from) and the F2 virtual terminal is in.  The result is exactly the same under 
the F2 terminal. 

Fundamentally, `chkconfig` is broken prior to the first [re]boot.  That's 
certainly not puppet's fault and the only two possible solutions I can think of 
is puppet not using chkconfig directly or trying to manually fudge the utmp 
data, neither of which are very pretty.  Also, resetting the service state is 
safe.  The irritation is having to manually look at reports (in my case, in 
foreman) from the initial runs to figure out why it didn't converge.  Perhaps 
documenting this as a known issue is the best I can hope for?

How many users run puppet more then once from the %post script?  I don't expect 
it to be "common" but I also expect I'm not the only one with manifests that 
can't completely converge in a single run. Does PL have any direct 
communication with RedHat?  My expectation is they won't be interested in 
resolving the bug unless others are hitting it as well.  Would it be worth 
while if I open a support contract ticket or bugzilla ticket with RedHat?
----------------------------------------
Bug #16784: service resources will never converge under the RHEL6.x kickstart 
enviroment
https://projects.puppetlabs.com/issues/16784#change-72758

Author: Joshua Hoblitt
Status: Needs More Information
Priority: Normal
Assignee: eric sorenson
Category: 
Target version: 
Affected Puppet version: 3.0.0
Keywords: rhel kickstart
Branch: 


Puppet will never fully converge for the service type when run from the 
kickstart environment.  The fundamental problem is that the "runlevel" is 
unknown and this breaks the behaviour of `chkconfig`.  This makes the 
configuration state for a service undiscoverable and puppet will endlessly try 
to enable it.

This issue is somewhat related to #2712 but is much more narrow.  It's really a 
problem with the kickstart environment but I suspect it's been like this for a 
very long time and is unlikely to change.

Eg.

    /Stage[main]/Ntp::Service/Service[ntpd]/enable: enable changed 'false' to 
'true'

This example is from ssh'ing into the kickstart env which is why it doesn't say 
[anaconda root... the results are the same from the real console.

    [root@pollux1 ~]# runlevel
    unknown
    [root@pollux1 ~]# /sbin/runlevel
    unknown
    [root@pollux1 ~]# chkconfig --list | grep ntp
    ntpd                0:off   1:off   2:on    3:on    4:on    5:on    6:off
    ntpdate             0:off   1:off   2:off   3:off   4:off   5:off   6:off
    [root@pollux1 ~]# chkconfig ntp
    [root@pollux1 ~]# echo $?
    1



-- 
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://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to