I neglected to mention that the fix is in svn :)
Mark Burgess wrote:
> 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