bug-cfengine
[Top][All Lists]
Advanced

[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!






reply via email to

[Prev in Thread] Current Thread [Next in Thread]