Berthold,
This is interesting. Let me be clear - it is the compression that is
incorrect, not the purging?
I found the compression problem, which was provoked by two things.
1. A recoding some time ago, leaving some data uninitialized.
2. The lack of documentation on the "compress=true" option in tidy.
M
Berthold Cogel wrote:
> Hello!
>
> I've just seen a beavior of copy/purge that looks like a bug to me:
>
> We have a lot of our configuration in one repository. But there are
> several files which are maintained in other locations and which have to
> stay there (some of our users need them on their systems and copy them
> by other means than cfengine).
>
> I copy the complete repository from its location (somewhere in AFS) to
> our cfengine server to /var/cfengine/config
>
> copy:
> ${config_repository} dest=${workdir}/config
> server=${server}
> recurse=inf
> ignore=RCS
> purge=true
> backup=false
> timestamps=preserve
> owner=root
> group=root
>
> I have two directories (certs,tmp) which are created later on the
> cfengine server in /var/cfengine/config/. certs is filled with files
> from other locations and tmp is used for temporary files during editfile
> sequences.
>
>
> During copy cfengine tries to remove certs and tmp. That is the correct
> behavior. But what looks like a bug to me is this:
>
>
> cfengine:lyra: Purging /var/cfengine/config/tmp in copy dest directory
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/dsm.sys.linux.edit
> cfengine:lyra: Size=1239 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/gmond.conf.edit
> cfengine:lyra: Size=5664 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/nrpe.cfg.edit
> cfengine:lyra: Size=7610 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/resolv.conf.edit
> cfengine:lyra: Size=882 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/hosts.edit
> cfengine:lyra: Size=4522 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/known_hosts.edit
> cfengine:lyra: Size=141694 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/syslog.conf.edit
> cfengine:lyra: Size=2403 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/dsm.opt.linux.edit
> cfengine:lyra: Size=600 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/yp.conf.edit
> cfengine:lyra: Size=1127 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/dsmcad.rc.linux.edit
> cfengine:lyra: Size=2616 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/CellServDB.edit
> cfengine:lyra: Size=26422 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/amd.conf.edit
> cfengine:lyra: Size=1780 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/sysctl.conf.edit
> cfengine:lyra: Size=1208 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/aliases.edit
> cfengine:lyra: Size=1943 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/genericstable.edit
> cfengine:lyra: Size=585 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/commands.cfg.edit
> cfengine:lyra: Size=1036 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/known_hosts.root
> cfengine:lyra: Size=45387 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/sshd_config.edit
> cfengine:lyra: Size=2955 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/sudoers.edit
> cfengine:lyra: Size=2984 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file
> /var/cfengine/config/tmp/syslog.logrotate.linux.edit
> cfengine:lyra: Size=1645 bytes,
> cfengine:lyra: Couldn't remove directory /var/cfengine/config/tmp while
> purging
>
> cfengine:lyra: rmdircfengine:lyra: Purging /var/cfengine/config/certs in
> copy dest directory
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/certs/cacert.pem
> cfengine:lyra: Size=1809 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/certs/0d3fe016.0
> cfengine:lyra: Size=22 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/certs/c7d6a4c2.0
> cfengine:lyra: Size=16 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/certs/aaa0e946.0
> cfengine:lyra: Size=24 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/certs/4e18c148.0
> cfengine:lyra: Size=14 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/certs/760ed126.0
> cfengine:lyra: Size=12 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/certs/UniKoelnServerCA.pem
> cfengine:lyra: Size=1972 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/certs/UniKoelnCA.pem
> cfengine:lyra: Size=1964 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file /var/cfengine/config/certs/rootcert.pem
> cfengine:lyra: Size=1318 bytes,
> cfengine:lyra: CompressCommand variable is not defined
> cfengine:lyra: Deleting file
> /var/cfengine/config/certs/intermediatecacert.pem
> cfengine:lyra: Size=1493 bytes,
> cfengine:lyra: Couldn't remove directory /var/cfengine/config/certs
> while purging
>
> cfengine:lyra:
> rmdirPerformance(Copy(localhost:/afs/.rrz/admin/cfengine/config >
> /var/cfengine/config)): time=0.00 secs, av=0.00 +/- 0.00
>
>
> Then I've defined CompressCommand. What happend now was this:
>
>
>
> cfengine:lyra: Purging /var/cfengine/config/tmp in copy dest directory
> cfengine:lyra: Compressing file dsm.sys.linux.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/dsm.sys.linux.edit
> cfengine:lyra: Size=1239 bytes,
> cfengine:lyra: Compressing file gmond.conf.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/gmond.conf.edit
> cfengine:lyra: Size=5664 bytes,
> cfengine:lyra: Compressing file nrpe.cfg.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/nrpe.cfg.edit
> cfengine:lyra: Size=7610 bytes,
> cfengine:lyra: Compressing file resolv.conf.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/resolv.conf.edit
> cfengine:lyra: Size=882 bytes,
> cfengine:lyra: Compressing file hosts.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/hosts.edit
> cfengine:lyra: Size=4522 bytes,
> cfengine:lyra: Compressing file known_hosts.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/known_hosts.edit
> cfengine:lyra: Size=141694 bytes,
> cfengine:lyra: Compressing file syslog.conf.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/syslog.conf.edit
> cfengine:lyra: Size=2403 bytes,
> cfengine:lyra: Compressing file dsm.opt.linux.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/dsm.opt.linux.edit
> cfengine:lyra: Size=600 bytes,
> cfengine:lyra: Compressing file yp.conf.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/yp.conf.edit
> cfengine:lyra: Size=1127 bytes,
> cfengine:lyra: Compressing file dsmcad.rc.linux.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/dsmcad.rc.linux.edit
> cfengine:lyra: Size=2616 bytes,
> cfengine:lyra: Compressing file CellServDB.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/CellServDB.edit
> cfengine:lyra: Size=26422 bytes,
> cfengine:lyra: Compressing file amd.conf.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/amd.conf.edit
> cfengine:lyra: Size=1780 bytes,
> cfengine:lyra: Compressing file sysctl.conf.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/sysctl.conf.edit
> cfengine:lyra: Size=1208 bytes,
> cfengine:lyra: Compressing file aliases.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/aliases.edit
> cfengine:lyra: Size=1943 bytes,
> cfengine:lyra: Compressing file genericstable.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/genericstable.edit
> cfengine:lyra: Size=585 bytes,
> cfengine:lyra: Compressing file commands.cfg.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/commands.cfg.edit
> cfengine:lyra: Size=1036 bytes,
> cfengine:lyra: Compressing file known_hosts.root
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/known_hosts.root
> cfengine:lyra: Size=45387 bytes,
> cfengine:lyra: Compressing file sshd_config.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/sshd_config.edit
> cfengine:lyra: Size=2955 bytes,
> cfengine:lyra: Compressing file sudoers.edit
> cfengine:lyra: Deleting file /var/cfengine/config/tmp/sudoers.edit
> cfengine:lyra: Size=2984 bytes,
> cfengine:lyra: Compressing file syslog.logrotate.linux.edit
> cfengine:lyra: Deleting file
> /var/cfengine/config/tmp/syslog.logrotate.linux.edit
> cfengine:lyra: Size=1645 bytes,
> cfengine:lyra: Couldn't remove directory /var/cfengine/config/tmp while
> purging
>
> cfengine:lyra: rmdircfengine:lyra: Purging /var/cfengine/config/certs in
> copy dest directory
> cfengine:lyra: Compressing file 0d3fe016.0
> cfengine:lyra: gzip: 0d3fe016.0 is not a directory or a regular file -
> ignored
> cfengine:lyra: Deleting file /var/cfengine/config/certs/0d3fe016.0
> cfengine:lyra: Size=22 bytes,
> cfengine:lyra: Compressing file c7d6a4c2.0
> cfengine:lyra: gzip: c7d6a4c2.0 is not a directory or a regular file -
> ignored
> cfengine:lyra: Deleting file /var/cfengine/config/certs/c7d6a4c2.0
> cfengine:lyra: Size=16 bytes,
> cfengine:lyra: Compressing file aaa0e946.0
> cfengine:lyra: gzip: aaa0e946.0 is not a directory or a regular file -
> ignored
> cfengine:lyra: Deleting file /var/cfengine/config/certs/aaa0e946.0
> cfengine:lyra: Size=24 bytes,
> cfengine:lyra: Compressing file 4e18c148.0
> cfengine:lyra: gzip: 4e18c148.0 is not a directory or a regular file -
> ignored
> cfengine:lyra: Deleting file /var/cfengine/config/certs/4e18c148.0
> cfengine:lyra: Size=14 bytes,
> cfengine:lyra: Compressing file UniKoelnServerCA.pem
> cfengine:lyra: Deleting file /var/cfengine/config/certs/UniKoelnServerCA.pem
> cfengine:lyra: Size=1972 bytes,
> cfengine:lyra: Compressing file 760ed126.0
> cfengine:lyra: gzip: 760ed126.0 is not a directory or a regular file -
> ignored
> cfengine:lyra: Deleting file /var/cfengine/config/certs/760ed126.0
> cfengine:lyra: Size=12 bytes,
> cfengine:lyra: Compressing file UniKoelnCA.pem
> cfengine:lyra: Deleting file /var/cfengine/config/certs/UniKoelnCA.pem
> cfengine:lyra: Size=1964 bytes,
> cfengine:lyra: Compressing file rootcert.pem
> cfengine:lyra: Deleting file /var/cfengine/config/certs/rootcert.pem
> cfengine:lyra: Size=1318 bytes,
> cfengine:lyra: Compressing file cacert.pem
> cfengine:lyra: Deleting file /var/cfengine/config/certs/cacert.pem
> cfengine:lyra: Size=1809 bytes,
> cfengine:lyra: Compressing file intermediatecacert.pem
> cfengine:lyra: Deleting file
> /var/cfengine/config/certs/intermediatecacert.pem
> cfengine:lyra: Size=1493 bytes,
> cfengine:lyra: Couldn't remove directory /var/cfengine/config/certs
> while purging
>
> cfengine:lyra:
> rmdirPerformance(Copy(localhost:/afs/.rrz/admin/cfengine/config >
> /var/cfengine/config)): time=0.00 secs, av=0.00 +/- 0.00
>
>
> cfengine tries to compress the contents of both directories first!
>
> I don't use action=compress in my configuration.
>
>
> Using 'ignore=tmp' and 'ignore=certs' in the copy sequence doesn't work.
> I first have to create empty directories certs and tmp in my repository.
>
> At the moment we're using cfengine 2.2.1. I don't know if this happens
> with newer versions too.
>
>
> Regards,
>
> Berthold Cogel
>
>
>
>
> _______________________________________________
> Bug-cfengine mailing list
> [email protected]
> https://cfengine.org/mailman/listinfo/bug-cfengine
--
Mark Burgess
Web: http://www.iu.hio.no/~mark
Tlf: +47 22453272
_______________________________________________
Bug-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/bug-cfengine