When creating a future-silence, the silence is created with a delete button that doesn't function. I see no clear way of disarming or deactivating the silence.
I got into the same issue when working on the new UI. When I want to delete a pending silence I get:

On it.
I fixed the issue semantically. But as we never delete but only expire, afterwards the silence still exists but has an effective duration of 0. It is still shown in the "pending" tab.
I think there are two options: Completely hide any silence at UI or API level where startsAt == endsAt or sort it into the "expired" tab even though the start lays in the future.
Another alternative would be to add this logic on the server in types.go/CalcSilenceState and set any Silence to Expired where startsAt == endsAt. What do you think? @w0rm @fabxc
I would prefer showing them as. It would be surprising to hide them or not,
just because they were expired before or after they begin. A silence that
will never be active has the same effect as one that did have an effect on
the past but not the future.
I think server side is the right place for this logic.
On Mon, May 22, 2017, 09:18 Fabian Reinartz notifications@github.com
wrote:
I fixed the issue semantically. But as we never delete but only expire,
afterwards the silence still exists but has an effective duration of 0. It
is still shown in the "pending" tab.I think there are two options: Completely hide any silence at UI or API
level where startsAt == endsAt or sort it into the "expired" tab even
though the start lays in the future.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/alertmanager/issues/783#issuecomment-303018808,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAICBrfzUwJqdHBqvp5XxjR2oOrLJKt_ks5r8TbVgaJpZM4NWglD
.
Hiding will cause confusion. I'd prefer that it is placed in expired.
In #811 @RSamal @fabxc and came up with a third solution. Instead of setting endsAt to startsAt we can set both to now. Thereby the Silence will get the expired state by default.
Most helpful comment
Hiding will cause confusion. I'd prefer that it is placed in expired.