I think it should be possible just to set VSYSTEMHARDCLASS to unused1 so this reevaluates. This was an optimization I added :) See svn
Matt Richards wrote: > I did a little more digging on the verbose outputs of an initial read > and then the reread. Here is a good read: > > GetVariable(bundles,sys.workdir) type=(to be determined) > IsExpandable(sys.workdir) - syntax verify > Found 0 variables in (sys.workdir) > Variable identifier workdir is prefixed with scope id sys > Searching for scope context sys > Found scope reference sys > Looking for sys.workdir > GetVariable(sys,workdir): using scope 'sys' for variable 'workdir' > return final variable type=string, value={ > /var/cfengine} > Add |/var/cfengine/etc/| to str, waiting at |$(sys.fqhost)| > ExtractOuterVarString($(sys.fqhost)) - syntax verify > Extracted outer variable |$(sys.fqhost)| > ExtractInnerVarString( $(sys.fqhost) ) - syntax verify > Returning substring value sys.fqhost > > Here is the re-read: > GetVariable(bundles,sys.workdir) type=(to be determined) > IsExpandable(sys.workdir) - syntax verify > Found 0 variables in (sys.workdir) > Variable identifier workdir is prefixed with scope id sys > Searching for scope context sys > Found scope reference sys > Looking for sys.workdir > GetVariable(sys,workdir): using scope 'sys' for variable 'workdir' > No such variable found bundles.sys.workdir <======= DIFFERENT > Currently non existent or list variable $(sys.workdir) > Add |$(sys.workdir)/etc/| to str, waiting at |$(sys.fqhost)| > ExtractOuterVarString($(sys.fqhost)) - syntax verify > Extracted outer variable |$(sys.fqhost)| > ExtractInnerVarString( $(sys.fqhost) ) - syntax verify > Returning substring value sys.fqhost > > >>From some reason, the scope is somehow altered on reread. On a reread > it seems that sys.workdir is put under bundles.sys.workdir scope. I > maybe all wet, but that seems to be where it is going wrong. > > > > On Fri, Jun 12, 2009 at 10:07 AM, Matt Richards<defraya...@gmail.com> wrote: >> A weird error for a cf-serverd rereading config files. Say I have this >> configuration: >> >> body common control { >> >> bundlesequence => { @(bundles.bundles) }; >> inputs => { @(bundles.inputs) }; >> } >> >> bundle common bundles { >> >> vars: >> >> "host_array" int => >> readstringarray("host","$(sys.workdir)/etc/$(sys.fqhost)","#[^\n]*",":",10,4000); >> "bundles" slist => splitstring("$(host[bundles][1])",",","500"); >> "inputs" slist => splitstring("$(host[inputs][1])",",","500"); >> >> >> } >> >> >> Firing up cf-serverd, works like a champ. However, if promises.cf is >> changed and cf-serverd rereads the config: >> >> cf3 Rereading config files /var/cfengine/inputs/promises.cf.. >> cf3 Already know our hard classes... >> cf3 Interface 1: en0 >> cf3 Interface 2: en0 >> cf3 Interface 3: lo0 >> cf3 Interface 4: lo0 >> cf3 Interface 5: lo0 >> cf3 Trying to locate my IPv6 address >> cf3 Looking for environment from cf-monitor... >> cf3 Loading environment... >> cf3 Environment data loaded >> cf3 Reference time set to Fri Jun 12 10:00:00 2009 >> cf3 > Parsing file /var/cfengine/inputs/promises.cf >> cf3 Initiate variable convergence... >> cf3 Can't stat file "/var/cfengine/inputs/@(bundles.inputs)" for parsing >> cf3 (stat: No such file or directory) >> >> However, if I change the common bundle to not use readstringarray, it will >> work: >> >> bundle common bundles { >> >> vars: >> >> "bundles" slist => { "cfengine" }; >> "inputs" slist => { "cfengine.cf","site.cf","library.cf"}; >> >> } >> >> >> It appears that the reread is not expanding readstringarray like it >> does on the initial startup. >> > > _______________________________________________ > Bug-cfengine mailing list > Bug-cfengine@cfengine.org > https://cfengine.org/mailman/listinfo/bug-cfengine -- Mark Burgess ------------------------------------------------- Professor of Network and System Administration Oslo University College, Norway Personal Web: http://www.iu.hio.no/~mark Office Telf : +47 22453272 ------------------------------------------------- _______________________________________________ Bug-cfengine mailing list Bug-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/bug-cfengine