On 15 feb 2011, at 11:13, Bas van der Vlies wrote: > > The usemodule() function is used in a "bundle common" . The init_nodes > function is called several times for each input set. Is this the desired > behaviour? Or is there no locking for usemodule() function? or must i use > this differently? > > example: > > bundle common g > { > > classes: > GOT_INIT" expression => usemodule("init_node",""); > } > > init_node: > {{{ > case `cat /etc/node_status/cluster` in > > lisa) > echo +LISA_CLUSTER > ;; > > interne-servers) > echo +INTERNE_SERVERS > ;; > esac > }}} > > output of a run: Note how many times init_node is called!!! > {{{ > community> > Parsing file /var/lib/cfengine3/inputs/promises.cf > community> Initiate variable convergence... > community> -> Checking common class promises... > community> Executing and using module [/var/lib/cfengine3/modules/init_node ] > community> Activated classes: LISA_CLUSTER > community> ?> defining additional global class GOT_INIT > community> ?> defining additional global class Production > community> ?> defining additional global class debian_squeeze > community> ?> defining additional global class all > community> SET ignore_missing_bundles true > community> > Parsing file /var/lib/cfengine3/inputs/update.cf > community> > Parsing file /var/lib/cfengine3/inputs/cf-serverd.cf > community> > Parsing file /var/lib/cfengine3/inputs/cf-execd.cf > community> > Parsing file /var/lib/cfengine3/inputs/cf-monitord.cf > community> > Parsing file /var/lib/cfengine3/inputs/bundles/cfengine.cf > community> > Parsing file /var/lib/cfengine3/inputs/bundles/mirror_copy.cf > community> > Parsing file /var/lib/cfengine3/inputs/bundles/action.cf > community> > Parsing file /var/lib/cfengine3/inputs/bundles/node_status.cf > community> > Parsing file > /var/lib/cfengine3/inputs/library/cfengine_stdlib.cf > community> > Parsing file /var/lib/cfengine3/inputs/library/sara_stdlib.cf > community> Initiate variable convergence... > community> -> Checking common class promises... > community> Executing and using module [/var/lib/cfengine3/modules/init_node ] > community> Activated classes: LISA_CLUSTER > community> SET ignore_missing_bundles true > community> > Parsing file /var/lib/cfengine3/inputs/lisa/global.cf > community> > Parsing file /var/lib/cfengine3/inputs/bundles/maui.cf > community> > Parsing file /var/lib/cfengine3/inputs/bundles/ntp.cf > community> > Parsing file /var/lib/cfengine3/inputs/bundles/system_access.cf > community> > Parsing file /var/lib/cfengine3/inputs/bundles/torque.cf > community> > Parsing file /var/lib/cfengine3/inputs/bundles/ssh.cf > community> Initiate variable convergence... > community> -> Checking common class promises... > community> Executing and using module [/var/lib/cfengine3/modules/init_node ] > community> Activated classes: LISA_CLUSTER > community> -> Checking common class promises... > community> ?> defining additional global class PBS_MOM > community> SET ignore_missing_bundles true > community> > Parsing file > /var/lib/cfengine3/inputs/lisa/change_management.cf > community> Initiate variable convergence... > community> -> Checking common class promises... > community> Executing and using module [/var/lib/cfengine3/modules/init_node ] > community> Activated classes: LISA_CLUSTER > community> -> Checking common class promises... > community> SET ignore_missing_bundles true > community> > Parsing file /var/lib/cfengine3/inputs/lisa/quarterly.cf > community> Initiate variable convergence... > community> -> Checking common class promises... > community> Executing and using module [/var/lib/cfengine3/modules/init_node ] > community> Activated classes: LISA_CLUSTER > community> -> Checking common class promises... > community> SET ignore_missing_bundles true > community> > Parsing file /var/lib/cfengine3/inputs/lisa/hourly.cf > community> Initiate variable convergence... > community> -> Checking common class promises... > community> Executing and using module [/var/lib/cfengine3/modules/init_node ] > community> Activated classes: LISA_CLUSTER > community> -> Checking common class promises... > community> SET ignore_missing_bundles true > community> > Parsing file /var/lib/cfengine3/inputs/lisa/daily.cf > community> Initiate variable convergence... > community> -> Checking common class promises... > community> Executing and using module [/var/lib/cfengine3/modules/init_node ] > community> Activated classes: LISA_CLUSTER > community> -> Checking common class promises... > community> SET ignore_missing_bundles true > community> Initiate variable convergence... > community> -> Checking common class promises... > community> Executing and using module [/var/lib/cfengine3/modules/init_node ] > community> Activated classes: LISA_CLUSTER > community> -> Checking common class promises... > community> # Knowledge map reporting feature is only available in version > Nova and above > community> -> Defined classes = { 192_168_145_133 192_168_153_131 64_bit > Day15 February GMT_Hr10 GOT_INIT Hr11 Hr11_Q1 LISA_CLUSTER > .... > }}}} > To reduce the invocation of usemodule function i use: !GOT_INIT:: "GOT_INIT" expression => usemodule("init_node","/etc/node_status/cluster");
-- Bas van der Vlies b...@sara.nl
_______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine