cfservd-2.2.10 not honoring lastseen

View: New views
6 Messages — Rating Filter:   Alert me  

cfservd-2.2.10 not honoring lastseen

by Chris Ward-11 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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 <krice@...>
To: "help-cfengine@..." <help-cfengine@...>
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-cfengine@...
https://cfengine.org/mailman/listinfo/help-cfengine
_______________________________________________
Bug-cfengine mailing list
Bug-cfengine@...
https://cfengine.org/mailman/listinfo/bug-cfengine

Re: cfservd-2.2.10 not honoring lastseen

by Chris Ward-11 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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 <krice@...>
> To: "help-cfengine@..." <help-cfengine@...>
> 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-cfengine@...
> https://cfengine.org/mailman/listinfo/help-cfengine
> _______________________________________________
> Bug-cfengine mailing list
> Bug-cfengine@...
> https://cfengine.org/mailman/listinfo/bug-cfengine
>
_______________________________________________
Bug-cfengine mailing list
Bug-cfengine@...
https://cfengine.org/mailman/listinfo/bug-cfengine

Re: cfservd-2.2.10 not honoring lastseen

by Mark Burgess :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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 <krice@...>
>> To: "help-cfengine@..." <help-cfengine@...>
>> 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-cfengine@...
>> https://cfengine.org/mailman/listinfo/help-cfengine
>> _______________________________________________
>> Bug-cfengine mailing list
>> Bug-cfengine@...
>> 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@...
https://cfengine.org/mailman/listinfo/bug-cfengine

Re: cfservd-2.2.10 not honoring lastseen

by Chris Ward-11 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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 <krice@...>
>>> To: "help-cfengine@..." <help-cfengine@...>
>>> 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-cfengine@...
>>> https://cfengine.org/mailman/listinfo/help-cfengine
>>> _______________________________________________
>>> Bug-cfengine mailing list
>>> Bug-cfengine@...
>>> 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@...
https://cfengine.org/mailman/listinfo/bug-cfengine

Re: cfservd-2.2.10 not honoring lastseen

by Chris Ward-11 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


I just saw a SIGPIPE on a patched cfservd host, so it hasn't solved the
SIGPIPE issue where connections are terminated during copy transactions.
This was largely expected though since patch was implemented more to help
us scale the environment than to fix the issue with data integrity.

On Mon, 13 Jul 2009, Chris Ward wrote:

>
> 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 <krice@...>
>>>> To: "help-cfengine@..." <help-cfengine@...>
>>>> 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-cfengine@...
>>>> https://cfengine.org/mailman/listinfo/help-cfengine
>>>> _______________________________________________
>>>> Bug-cfengine mailing list
>>>> Bug-cfengine@...
>>>> 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@...
> https://cfengine.org/mailman/listinfo/bug-cfengine
>
_______________________________________________
Bug-cfengine mailing list
Bug-cfengine@...
https://cfengine.org/mailman/listinfo/bug-cfengine

Re: cfservd-2.2.10 not honoring lastseen

by Mark Burgess :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


This can be a misconfiguration. Not necessarily a bug.

Chris Ward wrote:

> I just saw a SIGPIPE on a patched cfservd host, so it hasn't solved the
> SIGPIPE issue where connections are terminated during copy transactions.
> This was largely expected though since patch was implemented more to help
> us scale the environment than to fix the issue with data integrity.
>
> On Mon, 13 Jul 2009, Chris Ward wrote:
>
>> 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 <krice@...>
>>>>> To: "help-cfengine@..." <help-cfengine@...>
>>>>> 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-cfengine@...
>>>>> https://cfengine.org/mailman/listinfo/help-cfengine
>>>>> _______________________________________________
>>>>> Bug-cfengine mailing list
>>>>> Bug-cfengine@...
>>>>> 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@...
>> https://cfengine.org/mailman/listinfo/bug-cfengine
>>
> _______________________________________________
> Bug-cfengine mailing list
> Bug-cfengine@...
> 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@...
https://cfengine.org/mailman/listinfo/bug-cfengine