Forum: Cfengine Help
Subject: Re: Why is insert_lines not convergant?
Author: msvob...@linkedin.com
Link to topic: https://cfengine.com/forum/read.php?3,21682,21704#msg-21704

For some reason, and I'm not really sure why, this seems to be a workaround to 
this issue....


        (linux|sunos_5_10).all_tools::
                "/etc/sudo.d/sudoers-MACHINE_GROUP-final"
                        edit_line       =>      add_sudoers_entry("Host_Alias   
TOOLS_MACHINES = $(sys.host)");



        (linux|sunos_5_10)::
                "/etc/sudo.d/sudoers-MACHINE_GROUP"
                        handle          =>      
"land_etc_sudo_sudoers_MACHINE_GROUP",
                        create          =>      "true",
                        perms           =>      mog("0440","root","root"),
                        copy_from       =>      
backup_cp_md5_compare("/etc/sudo.d/sudoers-MACHINE_GROUP-final"),
                        classes         =>      
if_repaired("etc_sudoers_modified");




So, I am inserting lines into /etc/sudo.d/sudoers-MACHINE_GROUP-final based off 
of classes.  When I am done, at the bottom of my policy, I copy 
/etc/sudo.d/sudoers-MACHINE_GROUP-final to /etc/sudo.d/sudoers-MACHINE_GROUP.


I'm not sure why exactly this fixed my problem.  I'm guessing there might be 
some sort of internal file system cache within Cfengine that wasn't being 
flushed on 1% of my hosts?  By doing the copy from -final to the "real file" it 
somehow is flushing all of the expected output out.  The "real file" ends up 
getting the data I really want.


This also gave me the added benefit of leaving an audit trail of this file as 
MD5 sums changed, instead of just the ".cf-before-edit" file.


Anyways, hope this helps someone else out who tries to dynamically populate 
some sort of file with classes / variable expansion.  I guess use a scratch 
file, and once you're done, copy it into place.


Thanks
Mike

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to