mirror of
https://github.com/status-im/consul.git
synced 2025-01-15 16:26:06 +00:00
04bd576179
When the Consul serf health check is failing, this means that the health checks registered with the agent may no longer be correct. Therefore we show a notice to the user when we detect that the serf health check is failing both for the health check listing for nodes and for service instances. There were a few little things we fixed up whilst we were here: - We use our @replace decorator to replace an empty Type with serf in the model. - We noticed that ServiceTags can be null, so we replace that with an empty array. - We added docs for both our Notice component and the Consul::HealthCheck::List component. Notice now defaults to @type=info.
67 lines
1.8 KiB
Gherkin
67 lines
1.8 KiB
Gherkin
@setupApplicationTest
|
|
Feature: dc / services / instances / health-checks
|
|
Background:
|
|
Given 1 datacenter model with the value "dc1"
|
|
And 1 proxy model from yaml
|
|
---
|
|
- ServiceProxy:
|
|
DestinationServiceName: service-1
|
|
DestinationServiceID: ~
|
|
---
|
|
Scenario: A failing serf check
|
|
Given 2 instance models from yaml
|
|
---
|
|
- Service:
|
|
ID: service-0-with-id
|
|
Node:
|
|
Node: node-0
|
|
- Service:
|
|
ID: service-1-with-id
|
|
Node:
|
|
Node: another-node
|
|
Checks:
|
|
- Type: ''
|
|
Name: Serf Health Status
|
|
CheckID: serfHealth
|
|
Status: critical
|
|
Output: ouch
|
|
---
|
|
When I visit the instance page for yaml
|
|
---
|
|
dc: dc1
|
|
service: service-0
|
|
node: another-node
|
|
id: service-1-with-id
|
|
---
|
|
Then the url should be /dc1/services/service-0/instances/another-node/service-1-with-id/health-checks
|
|
And I see healthChecksIsSelected on the tabs
|
|
And I see criticalSerfNotice on the tabs.healthChecksTab
|
|
Scenario: A passing serf check
|
|
Given 2 instance models from yaml
|
|
---
|
|
- Service:
|
|
ID: service-0-with-id
|
|
Node:
|
|
Node: node-0
|
|
- Service:
|
|
ID: service-1-with-id
|
|
Node:
|
|
Node: another-node
|
|
Checks:
|
|
- Type: ''
|
|
Name: Serf Health Status
|
|
CheckID: serfHealth
|
|
Status: passing
|
|
Output: Agent alive and reachable
|
|
---
|
|
When I visit the instance page for yaml
|
|
---
|
|
dc: dc1
|
|
service: service-0
|
|
node: another-node
|
|
id: service-1-with-id
|
|
---
|
|
Then the url should be /dc1/services/service-0/instances/another-node/service-1-with-id/health-checks
|
|
And I see healthChecksIsSelected on the tabs
|
|
And I don't see criticalSerfNotice on the tabs.healthChecksTab
|