| Age | Commit message (Collapse) | Author | 
 | 
Also only sleep between fetches if we couldn't find a job because
the queue was empty.
 | 
 | 
 | 
 | 
This was an invalid comment, the timeout related to HTTP-fetches.
 | 
 | 
We only have two dependencies:
* The curb-gem for HTTP-testing.
* A queue-related gem, be it beanstalkd or redis.
 | 
 | 
Now we have multiple HTTP-implementations we need to update to
make sure they're all caught.
 | 
 | 
 | 
 | 
We now parse a single test-definition into multiple
test-implementations.  This isn't required here because
the parser only needs to know that the configuration file
*can* be parsed, not what the result is.
Validate that we got an array, but otherwise ignore the
results after the first.
 | 
 | 
 | 
 | 
The class-factory for instantiating tests now returns an array
rather than a string.
 | 
 | 
This is a stub for the moment, but it validates that we can have
multiple handlers for a given test-type.
This updates #9558.
 | 
 | 
 | 
 | 
We need to do this such that we can show all possible results
of a test in the status-page.  There might be three back-ends
with different results and if we filter by class-type we'll
be able to see that.
 | 
 | 
The new approach uses the redis gems timeout functionality
and ensures we never return a null-job.  Instead we timeout
and repeat with a stalling-sleep in the way.
This closes #9553.
 | 
 | 
 | 
 | 
 | 
 | 
As soon as we allow multiple test-implementations we get
into a mess, as Mauve regards an ID as unique and that is
based upon the test-definition not the implementing method
We want to allow:
* HTTPS test to succeed.
* SSL-check to fail.
Which means multiple tests of type "https" will have different
IDs.  Force this by adding on the class of the implementation.
 | 
 | 
Now that the class-factory returns an Array, we've updated the
test-cases to continue to pass.
 | 
 | 
 | 
 | 
a given input-line.
 | 
 | 
We now work on the assumption that a single "job", pulled from
the queue, might contain multiple "test" objects.  These are
the instances of the protocol-testers which we actually execute.
This is part of #9558.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
The redis-state "alerter" saves state in a useful way for the
future, and will now save an array of hashes - each has corresponding
to a useful result.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
We now record:
    custodian.$type.$host.test_duration [time]
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
(This mostly means the removal of --logfile.)
 | 
 | 
Rather than passing our settings-object around, as well as
specific settings that are read from it, just pass the object.
The worker can read the settings directly if/when it needs to.
 | 
 | 
We now set the queue-address via $QUEUE_ADDRESS, otherwise
we default to localhost.  This works for both redis & beanstalkd.
 | 
 | 
 | 
 | 
 | 
 | 
Now that we've moved to using redis by default the handling of queue-flushing
needs to change.  We can simply get rid of the busy-wait and run a redis
"del" operation.
With that in mind we've moved the flushing logic to our queue abstraction
layer, and simplified our queue-helper script.
 | 
 | 
 | 
 | 
This is designed to help them be loaded by ruby1.8 + 1.9.1.
 | 
 | 
 | 
 | 
 | 
 | 
This allows our redis-library to be used.
 | 
 | 
 | 
 | 
On Squeeze we must use libldap-ruby1.8, on jessie we use libldap-ruby
 | 
 | 
There were only changes sufficient for one change, but I had to make two
because this would silence the lintian warning:
    W: custodian: latest-debian-changelog-entry-changed-to-native
Adding a second, fake, release stops that.
 |