summaryrefslogtreecommitdiff
path: root/lib/custodian
AgeCommit message (Collapse)Author
2015-03-02Test for IPv4 and IPv6 addresses explicitly.Steve Kemp
If we're given an IPv4 or IPv6 address then use it, if not then attempt to resolve the name that we've been given to one/other/both of these types and test in turn.
2015-02-18Added SSL checking magic, from Patrick.Steve Kemp
This is a clone of the code that we're already using for SSL checking of domains. The biggest excpetion is that I've disabled the SSL v2/v3 checking because that is causing alerts on https://google.com/ This closes #9563.
2015-02-18Reordered registration.Steve Kemp
This allows the test-suite to pass.
2015-02-18Minor commenting/whitespace fixups.Steve Kemp
No functional changes.
2015-02-18Prefer "while true" to "while 1"Steve Kemp
Also only sleep between fetches if we couldn't find a job because the queue was empty.
2015-02-18Updated comments for better accuracy.Steve Kemp
2015-02-18Removed reference to timeout for tests.Steve Kemp
This was an invalid comment, the timeout related to HTTP-fetches.
2015-02-18Show NOP messages.Steve Kemp
2015-02-18Correctly parse tests with multiple implementation-types.Steve Kemp
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.
2015-02-18Removed diagnostic printing.Steve Kemp
2015-02-18Added SSL-expiry checker.Steve Kemp
This is a stub for the moment, but it validates that we can have multiple handlers for a given test-type. This updates #9558.
2015-02-18Minor formatting and commenting update.Steve Kemp
2015-02-18Store the test-class in the redis-state.Steve Kemp
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.
2015-02-18Updated the way we wait for jobs.Steve Kemp
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.
2015-02-18Branch-merge.Steve Kemp
2015-02-17fix the redis queue not to melt the cpu when polling redis for a jobPatrick J Cherry
2015-02-17Deal with multiple test-implementations.Steve Kemp
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.
2015-02-17Now we work with multiple implementations.Steve Kemp
2015-02-17Allow multiple handlers to register themselves forSteve Kemp
a given input-line.
2015-02-17Changed the way that we process a single job.Steve Kemp
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.
2015-02-13Added 5.28.58.0/24 to the Bytemark ranges.Steve Kemp
2015-02-12Make the test-definition available to the redis-alerter.Steve Kemp
2015-02-12Updated to require JSONSteve Kemp
2015-02-12Updated to store the test results in a set.Steve Kemp
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.
2015-02-06Explicitly report time in MSSteve Kemp
2015-02-05Better alerting metric for graphite.Steve Kemp
We now record: custodian.$type.$host.test_duration [time]
2015-02-05Don't trash the alert-subject.Steve Kemp
2015-02-05More simplification - don't pass state around.Steve Kemp
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.
2015-02-05Simplify code by removing configuration.Steve Kemp
We now set the queue-address via $QUEUE_ADDRESS, otherwise we default to localhost. This works for both redis & beanstalkd.
2015-02-05Simplify the flushing of queues.Steve Kemp
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.
2015-01-30Removed executable permissions, this is a library.Steve Kemp
2015-01-29Removed shebang.Steve Kemp
This refereed to ruby1.8 in a versioned way which was wrong.
2015-01-29Don't output messages unless $DEBUG=1Steve Kemp
2015-01-22Allow inverted tests for MX.Steve Kemp
(i.e. "pxe.io must not run mx otherwise 'no mail for steve'.")
2015-01-21Added accessor for the queue-type.Steve Kemp
Default to redis as this is more likely to be installed.
2015-01-21Read the queue-type from the settings-object.Steve Kemp
This replaces redis as a hard-wired default.
2015-01-19Updated to use our queue-abstraction.Steve Kemp
This means we can queue/dequeue to either Redis or Beanstalkd.
2015-01-13Updated to actually test the backend MX servers.Steve Kemp
We now connec to the MX-servers via XX:25 and alert if that fails.:wq
2015-01-13Lookup MX record(s) for the domain under test.Steve Kemp
2015-01-13Stub MX-test.Steve Kemp
This will perform a DNS-lookup AND SMTP-test for the given domain.
2015-01-13Added queue-abstraction layer.Steve Kemp
This is not-yet used, but it will-be shortly. The intention is that we can seamlessly swap out the queue implemention in the near future so that we'll be able to use Redis.
2015-01-08Simplified error messages for DNS failures.Steve Kemp
We show the result we expected and what we received, but we do so with quoted strings. So rather than: * one * two we show "one,two". This closes #8538.
2014-12-11Fixed typoPatrick J Cherry
2014-12-11Resolve DNS server name to an IP before connecting, so ruby knowsPatrick J Cherry
which protocol to use.
2014-12-11Use getnameinfo rather than getaddrinfoPatrick J Cherry
2014-12-11Removed ruby1.8ismsPatrick J Cherry
2014-12-11Further tidying the DNS class to use an array rather than a string toPatrick J Cherry
compare stuff.
2014-12-11make dns comparisons alL LoWeR CaSePatrick J Cherry
2014-12-02Added host header override to errors in HTTP testJames Hannah
2014-10-13Remove lines which are just whitespace before parsingJames Hannah