Folks thank you for the help on this.
Regards, Gusto On Tue, Nov 16, 2010 at 3:47 PM, Daniel V. Klein <d...@lonewolf.com> wrote: > There is a bug that has been reported in the latest release involving slists > with a single element. I am sure that a patch is on the way soon... > > -Dan > > On Nov 16, 2010, at 12:11 PM, Gusto wrote: > >> Hi Folks, >> >> I am seeing this behavior on the the 3.1.0 release, where if I define >> in a bundle some variables I can not use them later on in the same >> bundle. The normal order should be vars then later the files right? >> This might have been discussed on another thread that I missed -- >> tried to follow as many as possible. Has anyone seen this issue, or a >> solution? >> >> Any pointer are greatly appreciated >> Best regards, >> Gusto >> >> >> Details: >> OS: Centos 5.5 x86_64 >> Cfengine: gnu build in RPM version 3.1.0 final tar file. >> Use Case: I define in a agent bundle under vars the paths and server >> strings/string lists for the paths and servers. This could be >> something like your update.cf or just your failsafe.cf. When I run the >> bundle does not see them. I had used this for my 3.0.5p1 configs (rpms >> built on same server just release changed). During the beta I thought >> this might have been the issue Neil spotted ( >> https://cfengine.com/bugtracker/view.php?id=334 ). >> >> I took a copy of the unit_server_copy_remote.cf and added the vars to >> show what I see. >> >> NOTE: tester.server.com is defined as my network cf3 server. To >> simplify this host is also acting as the server so there is no key >> exchange complications. >> ##### ---------------------- Sample from the unit_test modified to >> show issue --------------------------- >> body common control >> { >> bundlesequence => { >> "testbundle" >> }; >> } >> >> ############################################ >> bundle agent testbundle >> { >> >> vars: >> linux:: >> "master_test" string => "/var/cfmasterfiles/cf310dev/test/"; >> "master_server" slist => { "tester.server.com" }; >> >> classes: >> "testdir" expression => isdir("/tmp/testcf310"); >> >> files: >> testdir:: >> "/tmp/testcf310/somesample.txt" >> perms => system, >> copy_from => >> mycopy("$(master_server)/somesample.txt","$(master_server)"), #Does >> not show all vars expanded. >> #copy_from => >> mycopy("$(master_server)/somesample.txt","tester.server.com"), #Does >> not show all vars expanded. >> #copy_from => >> mycopy("/var/cfmasterfiles/cf310dev/test/somesample.txt","tester.server.com"), >> #only way to get a copy moving. >> depth_search => recurse("inf"), >> classes => repaired("got_somesample"); >> >> reports: >> testdir:: >> "The test dir is there and we have that class"; >> >> got_somesample:: >> "Got the sample file"; >> } >> >> ############################################ >> body perms system >> { >> mode => "0444"; >> } >> ######################################################### >> body depth_search recurse(d) >> { >> depth => "$(d)"; >> } >> >> ######################################################### >> body classes repaired(class) >> { >> promise_repaired => { "$(class)" }; >> } >> >> ######################################################### >> body copy_from mycopy(from,server) >> { >> source => "$(from)"; >> #portnumber => "6789"; >> servers => { "$(server)" , "failover1" }; >> copy_backup => "true"; #/false/timestamp >> stealth => "true"; #/on/false/off >> preserve => "true"; >> linkcopy_patterns => { ".*fish.*" }; >> copylink_patterns => { "non-local.*"}; >> xdev => "true"; # /on/false/off >> compare => "mtime"; # >> ctime/mtime/checksum/sum/byte/binary/any >> link_type => "absolute"; # /symbolic/relative/hard etc >> type_check => "true"; >> force_update => "false"; >> force_ipv4 => "false"; >> copy_size => irange("0","50000"); >> trustkey => "true"; >> encrypt => "true"; >> verify => "true"; >> #purge => "false"; >> purge => "true"; >> #findertype => "MacOSX"; >> } >> ##### --------------------- Sample End --------------------------- >> >> Running in debug 1 I see this: >> >> Matched syntatically correct bundle (lval,rval) item = (perms) to its rval >> Constraint syntax ok, but definition of body is elsewhere perms=s >> Prepending scalar to rval-list [system] >> CopyRvalItem(s) >> Appending Constraint: perms => system >> Recorded LVAL copy_from >> Found function identifier mycopy >> Start FnCall mycopy args level 1 >> Appending scalar to rval-list [ $(master_server)/somesample.txt] >> CopyRvalItem(s) >> Appending scalar to rval-list [$(master_server)] >> CopyRvalItem(s) >> End args level 1 >> Installing Function Call mycopy >> Installed mycopy( $(master_server)/somesample.txt,$(master_server),) >> om,) >> >> Running the server binary manually in foreground and with verbose I >> also only see this connection when I don't use variables. >> _______________________________________________ >> Help-cfengine mailing list >> Help-cfengine@cfengine.org >> https://cfengine.org/mailman/listinfo/help-cfengine > > _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine