Commit Graph

40 Commits

Author SHA1 Message Date
Simon Pasquier
0c086e3b12 cli: extract client bindings of the v1 API (#1278)
* cli: extract client bindings of the v1 API from amtool

This is a continuation of [1] but the code is kept in the alertmanage
repository rather than having it in client_golang.

[1] https://github.com/prometheus/client_golang/pull/333

Co-Authored-By: Fabian Reinartz <fab.reinartz@gmail.com>
Co-Authored-By: Tristan Colgate <tcolgate@gmail.com>
Co-Authored-By: Corin Lawson <corin@responsight.com>
Co-Authored-By: stuart nelson <stuartnelson3@gmail.com>

* cli: fix httpSilenceAPI.Set() method

* vendor: remove github.com/prometheus/client_golang/api/alertmanager

* cli: don't use the model.Alert type
2018-03-28 19:19:04 +02:00
Corentin Chary
dd75201f1c Add /-/ready based on mesh status (#1209)
* Wait for the gossip to settle before sending notifications

See #1209 for details.

As an heuristic for mesh readyness, try to see if
the mesh looks stable (the number of peers isn't changing too much).
This implementation always mark the altermanager as ready after a maximum of 60s.

This adds one new flags to control this behavior:
```
      --cluster.settle-timeout=60s  mesh settling timeout. Do not wait more than this duration on startup.
```

It also adds `/-/ready` which always return 200 (in order to make it clear
that we are ready as soon as we can receive requests).

The mesh status is exposed in `/api/v1/status` and visible on `/#/status`.

* cluster: fix typos and base interval on gossipInterval
2018-03-02 15:45:21 +01:00
pasquier-s
c39a913f8a test: enable race detection (#1262)
This change enables race detection when running the tests. It also fixes
a couple of existing race conditions.
2018-02-27 18:18:53 +01:00
Fabian Reinartz
e6df2d8751 Adapt cluster listen address flag in tests 2018-02-12 11:31:55 +01:00
Fabian Reinartz
fd49dbb477 *: move to memberlist for clustering 2018-02-08 12:18:44 +01:00
Calle Pettersson
b7da058efb Switch cmd/alertmanager to kingpin (#974) 2018-01-06 11:22:26 +01:00
stuart nelson
24a9a64bdf Only find MAC address if no command-line flag value given (#638)
* Find MAC address if mesh.hardware-addr not given

Defaulting to the machine's MAC address fails
sometimes fails and causes a panic. Allow the user
to specify custom address to skip this so they can
run AlertManager.

* -mesh.hardware-address -> -mesh.peer-id

* Fix command-line invocation
2017-02-28 14:57:45 +01:00
Martín Ferrari
5489644cbe Wait for test server to be ready before running tests (#605)
* Wait for test server to be ready before running tests

This fixes problems when running the acceptance tests in slow or CPU-starved
machines, as mentioned in #472.
2017-01-16 12:32:27 +00:00
Fabian Reinartz
a4e8703567 *: integrate new silence package 2016-08-30 12:15:23 +02:00
Fabian Reinartz
e51770ce21 main: use mesh providers 2016-08-09 12:00:28 +02:00
Fabian Reinartz
81cbf3cda7 *: refactor Silence type, use UUID
This commit removes the dependency on model.Silence for the internal
Silence type, uses UUIDs instead of uint64s and clarifies invariants
around timestamp handling.

The created_at timestamp is removed for the time being.
2016-08-09 11:59:35 +02:00
Matt Bostock
68a1e51ffb Use localhost for tests
Previously, the tests would listen on all available interfaces.

Instead, have the tests use localhost only; using all available
interfaces is unnecessary.

On Mac OS X with the builtin firewall enabled, it triggers annoying
prompts to allow the tests to listen on all interfaces.
2016-06-04 08:19:23 +01:00
Fabian Reinartz
2e5b9e5194 Improve acceptance test logging 2015-12-08 11:55:29 +01:00
beorn7
93ffa534a5 PR with changes after code review
Now to be reverse-reveiewed.
2015-11-23 18:24:57 +01:00
Brian Brazil
faa88831f4 First-pass at improving template system.
- Cut back to bare minimum to make the rest simpler
- Consistency in config naming
- Have one data strucutre that's the same for all templates
- Pass in common labels to templates
- Support templates almost everywhere
- Support multiple SMTP recipients
- Support non-ASCII SMTP headers
- Handle colour logic via templates
- Make $subjects have consistent output, go maps aren't sorted.
- Make tests pass when v6 is disabled
2015-11-18 14:59:05 +00:00
Fabian Reinartz
d80fd26902 Add Dockerfile and target, change flag 2015-11-12 15:03:09 +01:00
Fabian Reinartz
e4e594d826 Unify receiver naming 2015-11-10 13:47:04 +01:00
Fabian Reinartz
fa7955c9bc Show logs of crashed testing instances 2015-10-15 16:17:04 +02:00
Fabian Reinartz
8148e82358 Terminate tests on Alertmanager crash 2015-10-15 16:15:37 +02:00
Fabian Reinartz
5dc2f6e9b1 Add license headers 2015-10-11 17:24:49 +02:00
Fabian Reinartz
d1379a3f71 Move repeat_interval and send_resolved to route configuration 2015-10-08 10:50:37 +02:00
Fabian Reinartz
f48c95eb19 Test restartability with persistence 2015-10-07 16:19:37 +02:00
Fabian Reinartz
a653f90516 Setup persistence dir for acceptance tests 2015-10-06 12:41:20 +02:00
Fabian Reinartz
f14ada020a Fix alert batch comparison, improve debug output 2015-10-05 16:51:34 +02:00
Julius Volz
0c96c80cd6 Fix spelling of exepected->expected. 2015-10-05 16:03:56 +02:00
Fabian Reinartz
aab576c7c0 Add method to update Alertmanager configuration file 2015-10-02 14:14:30 +02:00
Fabian Reinartz
5ba2d4abc1 Assign webhook addresses automatically, per AM configs 2015-10-02 14:10:04 +02:00
Fabian Reinartz
1ff41b3864 Use alertmanager client package for alert pushing 2015-10-02 12:45:52 +02:00
Fabian Reinartz
83a0d68fc8 Add acceptance test documentation 2015-10-02 12:32:19 +02:00
Fabian Reinartz
f29a380ec4 Export Alertmanager process control functionality 2015-10-02 12:28:27 +02:00
Fabian Reinartz
5c4ec44962 Centralize test actions in AcceptanceTest 2015-10-02 12:18:02 +02:00
Fabian Reinartz
152f811227 Fix acceptance test 2015-10-01 22:15:27 +02:00
Fabian Reinartz
7b0820a205 Add silencing test 2015-10-01 21:28:18 +02:00
Fabian Reinartz
38b324eab2 Implement silencing for acceptance tests, use api package 2015-10-01 20:58:46 +02:00
Fabian Reinartz
ba4f5684bb Remove all internal types from acceptance test framework 2015-10-01 15:46:39 +02:00
Fabian Reinartz
1fcc5d6717 Add proper checks whether full batches were received 2015-09-30 18:45:49 +02:00
Fabian Reinartz
297bbf5a0a Generalize AM actions, batch pushed alerts as defined 2015-09-30 17:45:37 +02:00
Fabian Reinartz
0539783eea Start alertmanager with a random free address in tests 2015-09-30 17:33:49 +02:00
Fabian Reinartz
4401bb1b82 Split acceptance testing into multiple files 2015-09-30 16:13:00 +02:00
Fabian Reinartz
b45dd027bc Remove time factor from e2e test options 2015-09-30 15:35:52 +02:00