Reviews with sloctl
You can set a review status for an SLO using sloctl.
The SLO review feature is available only in the Nobl9 Enterprise Edition.
Update sloctl to version 0.18.0 or higher to manage SLO review statuses.
To set a review status for an SLO, run the following command:
sloctl review set-status reviewed cpu-usage
Where reviewed is the target status, and cpu-usage refers to the SLO name.
The following subcommands (statuses) are accepted:
| Status | Description | SLO review status after |
|---|---|---|
not-started | Discard the SLO's previous review status Available only for SLOs from services without a review schedule | notStarted |
to-review | The SLO is waiting for a scheduled review Available only for SLOs from services with a scheduled review | toReview |
reviewed | Mark the SLO as reviewed Available for any SLO, regardless of the service review schedule | reviewed |
skipped | Indicate that a scheduled SLO review is intentionally skipped Available only for SLOs with a scheduled review | skipped |
overdue | Indicate that a scheduled SLO review was not completed on time Available only for SLOs with a scheduled review | overdue |
With every status transition, Nobl9 generates an annotation. The annotation contains
the status transition details and a Review note.
To modify the review note, use the optional --note flag when setting the review status.
This flag is available when transitioning the SLO to the reviewed and skipped statuses.
To specify the project, use the --project or -p flag.
When no project is provided, sloctl searches for the SLO in your default project,
as set in your sloctl configuration.
- Skip the review
- Mark SLO as reviewed
sloctl review set-status skipped cpu-usage -p customer-facing-applications -n "Insufficient data for this period"
- Set the Skipped review status
- For the CPU usage SLO
- From the Customer-facing applications project, which is not the default project
- Modify the review note for this status transition. Once the command is executed, Insufficient data for this period appears in the Review note field of the generated annotation.
sloctl review set-status reviewed cpu-usage
- Set the Reviewed status
- For the CPU usage SLO
- From the default project
Status transitions in a nutshellโ
An SLO's review status can change in two ways: manually or automatically based on the review schedule.
- Manual status transitions
- Automatic status transitions
Manual status transitions depend on two factors: whether a review is scheduled for the SLO's service and what its current status is.
The following table lists allowed transitions between statuses, considering the review schedule existence. Rolling back is available for all transitions listed.
Table: Allowed manual status transitions based on review schedule
| Is review scheduled? | From | To |
|---|---|---|
| No | Not started / notStarted | Reviewed / reviewed |
| Yes | To review / toReview | Reviewed / reviewed |
| Yes | To review / toReview | Skipped / skipped |
| Yes | Skipped / skipped | Reviewed / reviewed |
| Yes | Overdue / overdue | Reviewed / reviewed |
| Yes | Overdue / overdue | Skipped / skipped |

When no review is scheduled for a service, its SLOs have an initial status of Not started (notStarted).
Once the review is scheduled, Nobl9 automatically updates the review status of SLOs based on the timeline defined in the review schedule:
- Not started, Skipped, Reviewed -> To review
When a review schedule is created for a service, all SLOs immediately transition to To review (toReview) status. The due date is set to the first occurrence of the schedule pattern.
For subsequent cycles, all Reviewed (reviewed) and Skipped (skipped) SLOs from the completed cycle automatically become To review to begin the next cycle. - To review -> Overdue
Any To review SLOs that were not reviewed become Overdue (overdue). The Overdue status indicates a scheduled review was missed.
