[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DefineInGroup'd classes not really being defined?
From: |
Chip Seraphine |
Subject: |
DefineInGroup'd classes not really being defined? |
Date: |
Mon, 12 May 2003 12:43:26 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.2.1) Gecko/20030121 |
2.06, solaris/intel:
Mark pointed me at the DefineInGroup command, but I can't get it to
work. -d2 shows that the code for it in edittools.c does in fact fire
and it tries to add the appropriate classname (string) to the heap (via
AddClassToHeap(currentitem)), but subsequent actions that require that
class do not see the class. Running cfagent in a debugger confirms what
the d2 output.
Basically, the edittools stuff seems to be Doing The Right Thing but the
class is not defined for purposes of subsequent actions. The *really*
wierd thing is that the CFALLCLASSES environment variable appears to
have the DefineInGroup'd class set properly in it.
Specifically, this cfagent.conf file:
control:
Inform = ( on )
actionsequence = ( editfiles shellcommands )
editfiles:
{ /tmp/foo
BeginGroupIfNoSuchLine "nomatching"
Append "appended line $(date)"
DefineInGroup "foo2"
EndGroup
DefineClasses "foo1"
}
shellcommands:
"/usr/bin/logger -p local1.info running a test"
foo1::
"/usr/bin/logger -p local1.notice foo1 $(date)"
foo2::
"/usr/bin/logger -p local1.notice foo2 $(date)"
...produces this (slightly trimmed):
Reference time set to Mon May 12 12:33:30 2003
AddClassToHeap(Monday)
Appending [Monday]
AddClassToHeap(Hr12)
Appending [Hr12]
AddClassToHeap(Min33)
Appending [Min33]
AddClassToHeap(Min30_35)
Appending [Min30_35]
AddClassToHeap(Q3)
Appending [Q3]
AddClassToHeap(Hr12_Q3)
Appending [Hr12_Q3]
AddClassToHeap(Day12)
Appending [Day12]
AddClassToHeap(May)
Appending [May]
AddClassToHeap(Yr2003)
Appending [Yr2003]
Job start time set to Mon May 12 12:33:30 2003
GetNameInfo()
Cfengine: I recognize sunos but not i86pc
Cfengine: I recognize sunos but not i86pc
AddClassToHeap(solarisx86)
Appending [solarisx86]
AddClassToHeap(cuffs)
Appending [cuffs]
AddClassToHeap(cuffs)
AddClassToHeap(undefined_domain)
Appending [undefined_domain]
Deleted item undefined_domain
AddClassToHeap(cuffs)
GNU Configuration Engine -
2.0.6
Free Software Foundation 1994-
Donated by Mark Burgess, Faculty of Engineering,
Oslo University College, 0254 Oslo, Norway
------------------------------------------------------------------------
Host name is: cuffs
Operating System Type is sunos
Operating System Release is 5.8
Architecture = i86pc
Using internal soft-class solarisx86 for host solarisx86
The time is now Mon May 12 12:33:30 2003
------------------------------------------------------------------------
AddClassToHeap(32_bit)
Appending [32_bit]
Additional hard class defined as: 32_bit
AddClassToHeap(sunos_5_8)
Appending [sunos_5_8]
AddClassToHeap(i86pc)
Appending [i86pc]
Additional hard class defined as: sunos_5_8
AddClassToHeap(sunos_i86pc)
Appending [sunos_i86pc]
Additional hard class defined as: sunos_i86pc
AddClassToHeap(sunos_i86pc_5_8)
Appending [sunos_i86pc_5_8]
Additional hard class defined as: sunos_i86pc_5_8
AddClassToHeap(i386)
Appending [i386]
Additional hard class defined as: i386
AddClassToHeap(sunos_i86pc_5_8_Generic_108529_20)
Appending [sunos_i86pc_5_8_Generic_108529_20]
Additional hard class defined as: sunos_i86pc_5_8_Generic_108529_20
AddClassToHeap(compiled_on_solaris2_8)
Appending [compiled_on_solaris2_8]
GNU autoconf class from compile time: compiled_on_solaris2.8
Address given by nameserver: 10.10.1.165
Adding alias cuffs..
AddClassToHeap(cuffs)
GetInterfaceInfo()
Interface 1: lo0
AddClassToHeap(net_iface_lo0)
Appending [net_iface_lo0]
Interface 2: elxl0
AddClassToHeap(net_iface_elxl0)
Appending [net_iface_elxl0]
Adding hostip 10.10.1.165..
AddClassToHeap(10_10_1_165)
Appending [10_10_1_165]
Adding hostname cuffs.trdlnk.com..
AddClassToHeap(cuffs_trdlnk_com)
Appending [cuffs_trdlnk_com]
Adding alias cuffs..
AddClassToHeap(cuffs)
AddClassToHeap(10_10_1)
Appending [10_10_1]
AddClassToHeap(ipv4_10_10_1_165)
Appending [ipv4_10_10_1_165]
AddClassToHeap(ipv4_10_10_1)
Appending [ipv4_10_10_1]
AddClassToHeap(ipv4_10_10)
Appending [ipv4_10_10]
AddClassToHeap(ipv4_10)
Appending [ipv4_10]
Sorry - there is no current standard way to find out my IPv6 address (!!)
Unable to detect environment from cfenvd
cfengine:: No preconfiguration file
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
* (Changing context state to: main) *
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Unable to detect environment from cfenvd
New Parser Object::BEGIN PARSING /home/titan/chip/cfagent-test.conf
RecordMacroId(Inform)
AddMacroValue(main.Inform=on)
Added Macro at hash address 481 to object main with value Inform=on
Appending [editfiles]
Appending [shellcommands]
AddEditAction(/tmp/foo,BeginGroupIfNoSuchLine,nomatching)
EditActionsToCode(BeginGroupIfNoSuchLine)
AddEditAction(/tmp/foo,Append,appended line $(date))
EditActionsToCode(Append)
AddEditAction(/tmp/foo,DefineInGroup,foo2)
EditActionsToCode(DefineInGroup)
AddEditAction(/tmp/foo,EndGroup,-)
EditActionsToCode(EndGroup)
AddEditAction(/tmp/foo,DefineClasses,foo1)
EditActionsToCode(DefineClasses)
AddInstallable(foo1)
Appending [foo1]
SplitVarstring(/usr/bin/logger -p local1.info running a test,:=58)
Appending [/usr/bin/logger -p local1.info running a test]
AddInstallable()
AddInstallable()
SplitVarstring(/usr/bin/logger -p local1.notice foo1 ,:=58)
Appending [/usr/bin/logger -p local1.notice foo1 ]
SplitVarstring($(date),:=58)
Appending [Mon_May_12_12:33:30_2003]
AddInstallable()
AddInstallable()
Delete Parser Object::(END OF PARSING)
Accepted domain name: undefined.domain
Defined Classes = ( any cfengine_2_0_6 opt_debug Monday Hr12 Min33 Min30_35 Q3
Hr12_Q3 Day12 May Yr2003 solarisx86 cuffs 32_bit sunos_5_8 i86pc sunos_i86pc
sunos_i86pc_5_8 i386 sunos_i86pc_5_8_Generic_108529_20 compiled_on_solaris2_8
net_iface_lo0 net_iface_elxl0 10_10_1_165 cuffs_trdlnk_com 10_10_1
ipv4_10_10_1_165 ipv4_10_10_1 ipv4_10_10 ipv4_10 )
Negated Classes = ( )
Installable classes = ( foo1 )
[snipped some junk]
------------------------------------------------------------
DEFINED FILE EDITS
/tmp/foo (n)(r=0)
Context scope: main
BeginGroupIfNoSuchLine [nomatching]
Append [appended line Mon_May_12_12:33:30_2003]
DefineInGroup [foo2]
EndGroup [nodata]
DefineClasses [foo1]
------------------------------------------------------------
[snip]
------------------------------------------------------------
DEFINED SHELLCOMMANDS
/usr/bin/logger -p local1.info running a test
timeout=0
uid=-1,gid=-1
umask = 77, background = n
ChDir=, ChRoot=
Define
ElseDefine
Classes any
/usr/bin/logger -p local1.notice foo1 Mon_May_12_12:33:30_2003
timeout=0
uid=-1,gid=-1
umask = 77, background = n
ChDir=, ChRoot=
Define
ElseDefine
Classes foo1
------------------------------------------------------------
Ignoring locks...
cfagent -d : Debugging output enabled.
LogDirectory = /home/titan/chip/.cfengine
Loaded /home/titan/chip/.cfengine/ppkeys/localhost.priv
Loaded /home/titan/chip/.cfengine/ppkeys/localhost.pub
Checksum database is /var/cfengine/checksum.db
Reference time set to Mon May 12 12:33:30 2003
Job start time set to Mon May 12 12:33:30 2003
*********************************************************************
Main Tree Sched: editfiles pass 1 @ Mon May 12 12:33:30 2003
*********************************************************************
(BuildClassEnvironment)
---
ENVIRONMENT:
CFALLCLASSES=any:cfengine_2_0_6:opt_debug:Monday:Hr12:Min33:Min30_35:Q3:Hr12_Q3:Day12:May:Yr2003:solarisx86:cuffs:32_bit:sunos_5_8:i86pc:sunos_i86pc:sunos_i86pc_5_8:i386:sunos_i86pc_5_8_Generic_108529_20:compiled_on_solaris2_8:net_iface_lo0:net_iface_elxl0:10_10_1_165:cuffs_trdlnk_com:10_10_1:ipv4_10_10_1_165:ipv4_10_10_1:ipv4_10_10:ipv4_10:
---
Actionsequence item editfiles
Editfile()
WrapDoEditFile(/tmp/foo,/tmp/foo)
FileObjectFilter(/tmp/foo)
DoEditFile(/tmp/foo)
IgnoredOrExcluded(/tmp/foo)
Appending [hello]
Appending [appended line Mon_May_12_12:32:20_2003]
Begin editing /tmp/foo
Edit action: BeginGroupIfNoSuchLine
(Begin Group - no line nomatching)
Edit action: Append
Appending [appended line Mon_May_12_12:33:30_2003]
Edit action: DefineInGroup
AddClassToHeap(foo2)
Appending [foo2]
Adding 'foo2' to heap
Edit action: EndGroup
(End Group)
Edit action: DefineClasses
End editing /tmp/foo
.....................................................................
CompareToFile(/tmp/foo)
Prepending /tmp/foo_1052760810_Mon_May_12_12_33_30_2003_.cfsaved
AddEditfileClasses(foo1)
AddClassToHeap(foo1)
Appending [foo1]
Job start time set to Mon May 12 12:33:30 2003
*********************************************************************
Main Tree Sched: shellcommands pass 1 @ Mon May 12 12:33:30 2003
*********************************************************************
(BuildClassEnvironment)
---
ENVIRONMENT:
CFALLCLASSES=any:cfengine_2_0_6:opt_debug:Monday:Hr12:Min33:Min30_35:Q3:Hr12_Q3:Day12:May:Yr2003:solarisx86:cuffs:32_bit:sunos_5_8:i86pc:sunos_i86pc:sunos_i86pc_5_8:i386:sunos_i86pc_5_8_Generic_108529_20:compiled_on_solaris2_8:net_iface_lo0:net_iface_elxl0:10_10_1_165:cuffs_trdlnk_com:10_10_1:ipv4_10_10_1_165:ipv4_10_10_1:ipv4_10_10:ipv4_10:foo2:foo1:foo1:
---
Actionsequence item shellcommands
cfengine:cuffs: Executing script /usr/bin/logger -p local1.info running a
test...(timeout=0,uid=-1,gid=-1)
(Setting umask to 77)
cfpopen(/usr/bin/logger -p local1.info running a test)
cfpclose_def(pp)
cfpopen_def - Waiting for process 16232
cfengine:cuffs: Finished script /usr/bin/logger -p local1.info running a test
cfengine:cuffs: Executing script /usr/bin/logger -p local1.notice foo1
Mon_May_12_12:33:30_2003...(timeout=0,uid=-1,gid=-1)
(Setting umask to 77)
cfpopen(/usr/bin/logger -p local1.notice foo1 Mon_May_12_12:33:30_2003)
cfpclose_def(pp)
cfpopen_def - Waiting for process 16234
cfengine:cuffs: Finished script /usr/bin/logger -p local1.notice foo1
Mon_May_12_12:33:30_2003
Job start time set to Mon May 12 12:33:31 2003
Job start time set to Mon May 12 12:33:31 2003
++++++++++++++++++++++++++++++++++++++++
Summary of objects involved
++++++++++++++++++++++++++++++++++++++++
global
main
It shouldn't matter, but /tmp/foo (the file being edited) contains:
hello
appended line Mon_May_12_12:32:20_2003
Any insight would be appreciated!