Blazar objects (leases, reservations, and events) each have a status. This document describes statuses in detail.
Lease statuses are categorized into two types: stable or transitional. In the state machine shown below, stable statuses are drawn as black nodes while transitional statuses are drawn as gray nodes. Status transitions are triggered by an API call or an event in a lease.
A lease has the following four stable statuses:
Transitional statuses are as follows:
If some action can cause an invalid status transition, the action is denied. E.g. If a user sends an Update Lease request while it is starting, the Update Lease request is denied because the transition from STARTING to UPDATING is invalid.
A reservation has the following four statuses. Lowercase letters are used for backward compatibility:
The following table shows conditions of statuses of reservations and events that have to be satisfied for each lease status.
Lease | Reservations | Events |
---|---|---|
CREATING | pending | start_lease: UNDONE , end_lease: UNDONE |
PENDING | pending | start_lease: UNDONE , end_lease: UNDONE |
STARTING | pending or active or error | start_lease: IN_PROGRESS , end_lease: UNDONE |
ACTIVE | active | start_lease: DONE , end_lease: UNDONE |
TERMINATING | active or deleted or error | start_lease: DONE , end_lease: IN_PROGRESS |
TERMINATED | deleted | start_lease: DONE , end_lease: DONE |
DELETING | Any status | Any status |
UPDATING | Any status | Any status other than IN_PROGRESS |
The blazar/status module defines and manages these statuses.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.