Hello and excuse my late reply,

I'm willing to help with polishing the ES tests I've already written,
and I guess having new ones plugged in would be easy once we have a
skeleton.

As for the ES setup itself, I got an idea following David's comment
about VMs. Because I'm working on a log analytics product called
Logsene:

2014-02-22 21:32 GMT+02:00 David Lang <[email protected]>:
> I think we need two different things.
>
> 1. we need a stand-alone test capability so that people hacking the code can
> make sure that they haven't broken anything.
>
> This is what Radu mentioned.
>
> 2. we need an integration test to make sure that we work with the actual
> systems (and possibly several versions)
>
> This is what Rainer mentioned.
>
>
>
> when people are hacking on the code, they may do things that break
> processing or variable definitions, and we want a 'known data' test that all
> we do is a unit test to see if what we send to the remote socket matches
> what we expect to send. This doesn't need to talk to a server that
> understands the protocol, it just needs a "If we get string 1 reply with
> string 2, if we get string 3 reply with string 4" dumb TCP responder.
>
> Ideally, we would require this sort of test when a module is submitted.
>
>
>
> Then as a separate test, we need to talk to Google/Amazon/other VM provider
> to see about having them donate VM time so that we can setup 'real'
> destination systems, and then have a test harness that can clone a 'known
> good' target, run tests against the clone, then destroy the clone.
>
> So, there are a few things we would need to do:
>
> 1. build/find a test harness to run such a setup.
>
> 2. define what targets we need
>
>    A. what versions of each target need to be tested.
>
>       How many different versions of PostgreSQL are to be supported?
>
> 3. find 'owners' for each target type.
>
>     This needs to be someone who understands the target to configure the
> system, and to respond to issues when we pass the unit test against the dumb
> responder mentioned above, but fail against the real system. This will
> probably involve tinkering with the unit test strings.
>
>
>     A. What should we do for target types that require paid licenses?
> Ideally the company that owns that target type should be involved to provide
> us with the license (and some troubleshooting), but in some cases they
> aren't going to care. If the vendor isn't going to provide the licesnses,
> who is going to pay for this?
>
> 4. Get funding/donations to cover VM time.
>
> David Lang
>
>
> On Fri, 21 Feb 2014, Rainer Gerhards wrote:
>
>> Date: Fri, 21 Feb 2014 18:52:29 +0100
>> From: Rainer Gerhards <[email protected]>
>> Reply-To: rsyslog-users <[email protected]>
>> To: rsyslog-users <[email protected]>
>> Subject: Re: [rsyslog] How should the testbench deal with DBs?
>>
>>
>> Let me hijack this thread at least a little...
>>
>> First: the issue of multiple DB engines and such as real pain in the b...
>> for me. I'd like to have as many automated tests as possible, but all
>> those
>> plugins that need "elaborate" setup usually fall short as it is pretty
>> hard
>> to do (for me and on every dev machine). Remember that for some plugins I
>> don't even have the slightest idea of how the backend works. And for sure
>> not even remotely how I could conduct an automated test, which requires
>>
>> a) getting to a known initial state
>> b) shuffeling data at a test run
>> c) extracting the results and check if they are ok
>> d) probably re-setting things to look untouched again (ok, somewhat
>> redundant with a).
>>
>> Keeping the ES example, I know barely how I can do a, c, and d manually so
>> that I can conduct manual tests (and after some weeks this even requires
>> review of notes, as I really don't care/use ES in day-to-day operations).
>> Doing this in an automated way is way above my head. Now think about the
>> many other plugins, and those that hopefully will be written. I am not
>> that
>> super-guru, and I think for many folks it's hard to be really good at all
>> of these tools (congrats if you are!).
>>
>> Disabling a test if the feature is not enabled might help an end-"user",
>> but it doesn't solve the core problem that I don't detect regressions
>> right
>> in time.
>>
>> So... now to the hijacking. I have a dream. As a community, I think we
>> would be able to create a machine where we could run nightly builds,
>> nightly *testbench* runs (on a much more elaborate testbench including all
>> the backend system), night doc generation and upload ... and so on.
>>
>> This would need to be a group effort as we would need to drag in all the
>> experts that could help craft these tests. Also, we would need some folks
>> who would take care of handling the server itself, I mean the usual admin
>> things like keeping it secure, creating user accounts for other
>> collaborators and so on. I know we have many site reliability engineers
>> (and similar positions) on our list, so they could chime in here. Such a
>> machine would probably also enable me to find bugs quicker. Right now, for
>> things like ES that I don't work on regularly, the main obstacle to start
>> a
>> bughunt is to setup the env, remember how get around with it and so it. If
>> there is a ready machine with clear procedure, I could hunt bugs much more
>> efficient. But quite frankly this is a too large task for us small Adiscon
>> to handle. We simply have no funding for all that talent required.
>> Regarding the platform, I'd assume that a virtual server somewhere in the
>> cloud could be used (hopefully a sponsored one). And as I am right now in
>> "whish mode", it would help immensely to have access to maintained build
>> environments for Solaris, SmartOS, AIX, *BSD and so on, together with some
>> helping hands I could ask if I don't find may way around easily enough.
>>
>> OK, that was the dream. Does anybody think we could realize at least a bit
>> of it in practice? ;)
>>
>> Thank,
>> Rainer
>>
>>
>> On Fri, Feb 21, 2014 at 4:54 PM, Radu Gheorghe
>> <[email protected]>wrote:
>>
>>> Hello increasingly-active-rsyslog-list!
>>>
>>> I think we need to decide how to move forward with the testbench,
>>> whenever people find the time to work on it. The problem came from
>>> comments of this issue:
>>> https://github.com/rsyslog/rsyslog/issues/10
>>>
>>> (check out the comments after the issue was closed)
>>>
>>> Basically, the general decision point is to see how we should handle
>>> rsyslog's integrations with various data stores. Whether that's
>>> Elasticsearch, MongoDB, MySQL, etc.
>>>
>>> So far, dealing with files was done by... wait for it... writing to
>>> actual files. This gets more complicated with DBs because you need to
>>> have the DB there. Installing it might take time and tons of
>>> dependencies.
>>>
>>> There are a couple of solutions mentioned in the GitHub issue, but I'm
>>> throwing a new one after a bit of thinking. Let's assume that the
>>> likes of Elasticsearch are already there, and make a list of
>>> "requirements" so that one can see what is assumed.
>>>
>>> The point is, if you don't have ES installed, you probably don't care
>>> about ES tests. So all tests about ES could, for instance, try and do
>>> a:
>>>
>>> curl localhost:9200
>>>
>>> And if there's an error, or the version is too old, skip the test and
>>> print a warning.
>>>
>>> What do you think? Other suggestions?
>>>
>>> Best regards,
>>> Radu
>>>
>>> P.S. The point of starting this thread is, as you might see from
>>> GitHub, that I've worked on a few omelasticsearch tests, and I'd like
>>> to see what we need in order to get them into the main rsyslog
>>> testbench. Blindly assuming ES is there is a bit too much, as Rainer
>>> pointed out.
>>> _______________________________________________
>>> rsyslog mailing list
>>> http://lists.adiscon.net/mailman/listinfo/rsyslog
>>> http://www.rsyslog.com/professional-services/
>>> What's up with rsyslog? Follow https://twitter.com/rgerhards
>>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
>>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
>>> DON'T LIKE THAT.
>>>
>> _______________________________________________
>> rsyslog mailing list
>> http://lists.adiscon.net/mailman/listinfo/rsyslog
>> http://www.rsyslog.com/professional-services/
>> What's up with rsyslog? Follow https://twitter.com/rgerhards
>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T
>> LIKE THAT.
>>
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com/professional-services/
> What's up with rsyslog? Follow https://twitter.com/rgerhards
> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of
> sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T
> LIKE THAT.
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to