On 01/10/2012 09:39 AM, Greg Swift wrote:


On Tue, Jan 10, 2012 at 09:32, Nathan Huff <[email protected]
<mailto:[email protected]>> wrote:

    On 01/09/2012 06:17 PM, David Lutterkort wrote:

        On Fri, 2011-12-30 at 13:46 -0600, Nathan Huff wrote:

            Since that is the actual file that RedHat uses I think it
            should.  I
            believe the one line change below would fix it.

            diff -ur augeas-0.10.0.orig/lenses/__grub.aug
            augeas-0.10.0/lenses/grub.aug
            --- augeas-0.10.0.orig/lenses/__grub.aug  2011-11-28
            17:51:05.000000000 -0600
            +++ augeas-0.10.0/lenses/grub.aug       2011-12-30
            13:27:13.651145502 -0600
            @@ -276,5 +276,6 @@
                   (* View: filter *)
                   let filter = incl "/boot/grub/menu.lst"
                              . incl "/etc/grub.conf"
            +               . incl "/boot/grub/grub.conf"


        We have /etc/grub.conf in there; that should be a symlink
        to /boot/grub/grub.conf. Does that not work for you ?

        (I hesitate to make that change because we'll have the same file
        show up
        twice in the tree, opening the door to all kinds of interesting
        conflicts)

        David




    The problem that I am running into is actually a combination of
    augeas and puppet.  The way puppet seems to work with augeas is that
    it runs the augeas commands against the existing file and creates a
    copy.  It then checks if the copy and the original are the same if
    they are it removes the copy and does nothing.  If they aren't it
    replaces the original with the copy.  In the /etc/grub.conf case
    this causes the symlink to be replaced by a regular file.  Obviously
    this is a problem because grub doesn't actually look at /etc/grub.conf.

    I can work around this by telling puppet explicitly which lens to
    use. I just thought it was weird that the lens matches several files
    non of which grub actually reads directly on at least RedHat and I
    assume any other recent linux distro.


Nathan,

Very timely, I'm about to attempt to control grub with puppet+augeas on
RHEL systems.  can you post your final that deals with this issue please?

thanks

You have to set the incl and lens parameters rather than the context parameter. See below for an example.

  #
  # remove "rhgb" and "quiet" from every kernel title line, if present
  #
  augeas { 'grub.conf/no_rhgb':
    incl    => '/boot/grub/grub.conf',
    lens    => 'grub.lns',
    changes => [
      'rm title[*]/kernel/rhgb',
      'rm title[*]/kernel/quiet'
    ],
  }

--
Nathan Huff                               [email protected]
Enterprise Computing and Infrastructure   (701) 231-6145
Room 242 J2, IACC Building
North Dakota State University, Fargo, ND 58105-5164

_______________________________________________
augeas-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/augeas-devel

Reply via email to