help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: simply, yet elusive import: question


From: Kelly Brown
Subject: Re: simply, yet elusive import: question
Date: Thu, 28 Apr 2005 09:21:49 -0700
User-agent: Debian Thunderbird 1.0 (X11/20050116)

Hi Nathan:

I'm not sure if this is it but I'll give it a stab. I think that class will only be defined if "yaddah" actually gets appended to somefile. If "yaddah" was already in the file I don't think the class will be created. Is that the problem?

-K

nathan r. hruby wrote:

Hi,

I have what's sure to be a simple question about the way import: works
with defined classes, yet, the simple answer eludes me.

I have in cfagent.conf:

import:
    any::
        main.cf


In main.cf I have:

control:
actionsequence = ( resolve disks disable processes copy links tidy files editfiles shellcommands )

classes:
    FirstRun        = ( FileExists(/.cfengine-needs-init) )

import:
        FirstRun.linux::
                linux.firstrun.cf
shellcommands:
    RestartSomeService::
        "restart command here"


In linux.firstrun.cf I have:

editfiles:
    { /somefile

    AppendIfNoSuchLine "yaddah"
    DefineClasses "RestartSomeService"
    }


Now, everything in the linux.firstrun.cf file gets done happily, except,
the classes it defines are not seen by the shellcommands: in main.cf, thus
SomeService is never restarted.

The docs state that variables and macros created in child imports are not
available in the parent files, does this also include Defined Classes?

If so, would the logical solution be to move the importation of
linux.firstrun.cf into the cfagent.conf file before main.cf?

This is cfengine 2.1.12 and 2.1.14.

Thanks for any help one could give!

-n






reply via email to

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