Hi Mark, we just rolled this change out so we're still in the initial 
stages of gauging its impact.

On Fri, 10 Jul 2009, Mark Burgess wrote:

>
> Chris, thanks. If you put this back does it solve any of the issues
> you were having?
>
> Chris Ward wrote:
>>
>> Turns out there was some code that was removed from cfservd.c in version
>> 2.2.10, and possibly prior to that version. Adding the following to
>> cfservd.c returns the ability to turn LastSeen off from within
>> cfservd.conf:
>>
>>
>> l321:
>>
>> if (OptionIs(CONTEXTID,"LastSeen",false))
>>    {
>>    LASTSEEN = false;
>>    }
>>
>>
>> l1840:
>>
>>    if (LASTSEEN)
>>       {
>>       LastSeen(dns_assert,cf_accept);
>>       }
>>
>>
>> ~/src/cfengine-2.2.10/src$ diff cfservd.c cfservd.c.lastseen.fixed
>> 320a321,325
>>> if (OptionIs(CONTEXTID,"LastSeen",false))
>>>    {
>>>    LASTSEEN = false;
>>>    }
>>>
>> 1835c1840,1846
>> <    LastSeen(dns_assert,cf_accept);
>> ---
>>>    if (LASTSEEN)
>>>       {
>>>       LastSeen(dns_assert,cf_accept);
>>>       }
>>>
>>> /*   LastSeen(dns_assert,cf_accept); */
>>>
>>
>>
>>
>> On Fri, 10 Jul 2009, Chris Ward wrote:
>>
>>>
>>> I've been able to verify that version 2.2.10 of cfservd does not honor
>>> the
>>> LastSeen setting. I've tested this out against both libdb-4.2 and
>>> libdb-4.6. What happens is that with LastSeen set to 'off' (or 'false')
>>> the cfservd process will create a lastseen db file per client that
>>> connects, ex. cf_LastSeen.db.host.domain.com. More context is provided
>>> below from a prior email.
>>>
>>> I'm not sure when exactly this bug was introduced, but v2.1.20 of cfservd
>>> works as expected. That is, if you set LastSeen to 'false' then
>>> v2.1.20 of
>>> cfservd will not create a lastseen database file for each client that
>>> connects to the server. Maybe LastSeen was omitted as being a valid
>>> option
>>> in cfservd.conf sometime after 2.1.20?
>>>
>>>
>>> ---------- Forwarded message ----------
>>> Date: Tue, 30 Jun 2009 10:04:42 -0700
>>> From: Chris Ward <kr...@facebook.com>
>>> To: "help-cfeng...@cfengine.org" <help-cfeng...@cfengine.org>
>>> Subject: cfservd not honoring lastseen?
>>>
>>>
>>> Hi, has anyone else had difficulty in completely turning off the lastseen
>>> databases on the cfservd side (v2.2.10)? I've added "LastSeen = ( off )"
>>> to the control section in update.conf, cfagent.conf and even
>>> cfservd.conf.
>>> According to the docs this is an option to cfagent, and not cfservd,
>>> but I
>>> thought I'd try adding it to cfservd.conf anyway.
>>>
>>> So even with this option set to 'off' or 'false' the lastseen database
>>> files are populated per host on the server side, ex.
>>> cf_LastSeen.db.$fqdn.
>>> Running 'cfservd -d0' shows that lastseen is being set to 'off' (see
>>> below), but if I clear out all the lastseen db files and restart the
>>> cfservd process they are still populated. Can someone speak to what might
>>> be instructing cfservd to populate those files? Maybe I'm missing an
>>> option to either cfservd.conf or cfagent&update.conf?
>>>
>>> One interesting debug line is this one (full output below):
>>>
>>> GetMacroValue(server,LastSeenExpireAfter): using scope 'server' for
>>> variable 'LastSeenExpireAfter'
>>>
>>> We don't define LastSeenExpireAfter on the client side, but maybe it
>>> defaults to a value that instructs the server to record lastseen info?
>>> I've tried setting LastSeenExpireAfter to '0', but that did not prevent
>>> the server from creating the lastseen dbs.
>>>
>>> -Chris
>>>
>>>
>>>
>>> LVALUE LastSeen
>>> HandleLVALUE(LastSeen) in action Control Defintions:
>>> RecordMacroId(LastSeen)
>>> EQUALS =
>>> LEFTBRACK
>>> RVAL-VAROBJ off
>>> ExpandVarstring( off )
>>> Add |off| to str, waiting at ||
>>> Returning varstring (off)
>>> IsInstallable(any) - true
>>> Assign variable [LastSeen=off] when any)
>>> AddMacroValue(server.LastSeen=off)
>>> ExpandVarstring( off )
>>> Add |off| to str, waiting at ||
>>> Returning varstring (off)
>>> Added Macro at hash address 1309 to object server with value LastSeen=off
>>> RIGHTBRACK
>>>
>>> LastSeen(host.example.domain.com) reg
>>> IPV4 address
>>> sockaddr_ntop(10.0.0.100)
>>> Found address (10.0.0.100) for host host.example.domain.com
>>> GetMacroValue(server,LastSeenExpireAfter)
>>> GetMacroValue(server,LastSeenExpireAfter): using scope 'server' for
>>> variable 'LastSeenExpireAfter'
>>>
>>> _______________________________________________
>>> Help-cfengine mailing list
>>> help-cfeng...@cfengine.org
>>> https://cfengine.org/mailman/listinfo/help-cfengine
>>> _______________________________________________
>>> Bug-cfengine mailing list
>>> Bug-cfengine@cfengine.org
>>> https://cfengine.org/mailman/listinfo/bug-cfengine
>>>
>
> -- 
> Mark Burgess
>
> -------------------------------------------------
> Professor of Network and System Administration
> Oslo University College, Norway
>
> Personal Web: http://www.iu.hio.no/~mark
> Office Telf : +47 22453272
> -------------------------------------------------
>
_______________________________________________
Bug-cfengine mailing list
Bug-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/bug-cfengine

Reply via email to