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

Reply via email to