Hi,

  I'm trying to use regular expressions to edit multiple files but
CFengine 3.2.1 only edits one file.  Why isn't this working as I
expect?  (I have 48 files in /tmp/etc that end in *.conf and I am
expecting CFEngine to insert my tagline into each of these 48 files.
But it only inserts it into one file.)

{{{

bundle agent example {

    files:

      "/tmp/etc/.*.conf"

        edit_line => has_my_name_in_it,
        pathtype => "regex",
        comment => "Every *.conf file in /etc/ should have my name in
it.  Demonstrate using regex to edi
t multiple files.";

}


bundle edit_line has_my_name_in_it {

    insert_lines: "# This file proudly edited by Aleksey Tsalolikhin";

}

}}}


Verbose mode output shows:

cf3> *****************************************************************
cf3> BUNDLE example
cf3> *****************************************************************
cf3>
cf3>
cf3>      +  Private classes augmented:
cf3>
cf3>      -  Private classes diminished:
cf3>
cf3>
cf3>
cf3>    =========================================================
cf3>    files in bundle example (1)
cf3>    =========================================================
cf3>
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: /tmp/etc/.*.conf
cf3>
cf3>     Comment:  Every *.conf file in /etc/ should have my name in
it.  Demonstrate using regex to edit multiple files.
cf3>     .........................................................
cf3>
cf3>  -> Using regex pathtype for /tmp/etc/.*.conf (see pathtype)
cf3>  -> Using expanded file base path /tmp/etc/warnquota.conf
cf3>  -> Handling file existence constraints on /tmp/etc/warnquota.conf
cf3>  -> Handling file edits in edit_line bundle has_my_name_in_it
cf3>
cf3>       * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
cf3>       BUNDLE has_my_name_in_it
cf3>       * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
cf3>
cf3> Initiate variable convergence...
cf3>      ??  Private class context
cf3>
cf3>
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>       insert_lines in bundle has_my_name_in_it
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: # This file proudly edited by Aleksey Tsalolikhin
cf3>     .........................................................
cf3>
cf3>  -> Promised line "# This file proudly edited by Aleksey
Tsalolikhin" exists within selected region of /tmp/etc/warnquota.conf
(promise kept)
cf3>      ??  Private class context
cf3>
cf3>
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>       insert_lines in bundle has_my_name_in_it
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: # This file proudly edited by Aleksey Tsalolikhin
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>      ??  Private class context
cf3>
cf3>
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>       insert_lines in bundle has_my_name_in_it
cf3>       = = = = = = = = = = = = = = = = = = = = = = = = = = = =
cf3>
cf3>
cf3>     .........................................................
cf3>     Promise handle:
cf3>     Promise made by: # This file proudly edited by Aleksey Tsalolikhin
cf3>     .........................................................
cf3>
cf3>  -> This promise has already been verified
cf3>  -> No edit changes to file /tmp/etc/warnquota.conf need saving
cf3>  -> Handling file existence constraints on /tmp/etc/warnquota.conf
cf3>  -> Using expanded file base path /tmp/etc/nscd.conf
cf3>  -> Handling file existence constraints on /tmp/etc/nscd.conf
cf3>  -> This promise has already been verified
cf3>  -> Handling file existence constraints on /tmp/etc/nscd.conf
cf3>  -> Using expanded file base path /tmp/etc/syslog.conf
cf3>  -> Handling file existence constraints on /tmp/etc/syslog.conf
cf3>  -> This promise has already been verified
cf3>  -> Handling file existence constraints on /tmp/etc/syslog.conf
cf3>  -> Using expanded file base path /tmp/etc/dhcp6c.conf
cf3>  -> Handling file existence constraints on /tmp/etc/dhcp6c.conf
cf3>  -> This promise has already been verified
cf3>  -> Handling file existence constraints on /tmp/etc/dhcp6c.conf
...
cf3>  -> Using expanded file base path /tmp/etc/ldap.conf
cf3>  -> Handling file existence constraints on /tmp/etc/ldap.conf
cf3>  -> This promise has already been verified
cf3>  -> Handling file existence constraints on /tmp/etc/ldap.conf
cf3>
cf3>      +  Private classes augmented:
cf3>
cf3>      -  Private classes diminished:
cf3>
cf3>
cf3>
cf3>    =========================================================
cf3>    files in bundle example (2)
cf3>    =========================================================

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

Reply via email to