Device Lifecycle
Manage device lifecycle status
Rackd tracks device lifecycle states to help manage infrastructure from planning through decommissioning.
Overview
Device lifecycle tracking provides:
- Clear visibility into device status
- Historical tracking of status changes
- Scheduled decommission planning
- Status-based filtering and reporting
- Dashboard summaries by status
Device Status
| Status | Description |
|---|---|
planned | Device is planned but not yet deployed |
active | Device is operational |
maintenance | Device is under maintenance |
decommissioned | Device has been retired |
Status Model
The device model includes status-related fields:
| Field | Type | Description |
|---|---|---|
status | string | Current device status |
status_changed_at | timestamp | When status was last changed |
status_changed_by | string | User who changed the status |
decommission_date | date | Scheduled decommission date |
API Endpoints
List Devices by Status
GET /api/devices?status=active
Filter devices by status:
status=plannedstatus=activestatus=maintenancestatus=decommissioned
Get Status Counts
GET /api/devices/status-counts
Response:
{
"planned": 5,
"active": 150,
"maintenance": 3,
"decommissioned": 12
}
Update Device Status
PUT /api/devices/{id}
{
"status": "maintenance"
}
Status changes are automatically tracked:
status_changed_atupdated to current timestatus_changed_byset to current user- Change logged in audit trail
Schedule Decommission
PUT /api/devices/{id}
{
"decommission_date": "2024-06-30"
}
CLI Commands
List by Status
# List active devices
rackd device list --status active
# List devices in maintenance
rackd device list --status maintenance
# List decommissioned devices
rackd device list --status decommissioned
# Combine with other filters
rackd device list --status active --pool production
Update Status
# Set device to maintenance
rackd device update --id dev-123 --status maintenance
# Decommission a device
rackd device update --id dev-123 --status decommissioned
# Schedule decommission
rackd device update --id dev-123 --decommission-date 2024-06-30
Web UI
Device List
- Status Filter: Dropdown to filter by status
- Status Badge: Color-coded status indicator per device
- URL State: Filter persisted in URL for sharing
Status badge colors:
- Planned: Blue
- Active: Green
- Maintenance: Orange
- Decommissioned: Gray
Device Detail
- Status Display: Prominent status badge
- Status History: In audit trail
- Decommission Date: Displayed when set
Device Form
- Status Dropdown: Select status on create/edit
- Decommission Date: Date picker for scheduling
Dashboard
- Status Summary: Card showing counts by status
- Clickable Cards: Click to filter device list by status
Audit Trail
All status changes are logged in the audit trail:
| Field | Value |
|---|---|
| Action | device.updated |
| Field | status |
| Old Value | active |
| New Value | maintenance |
| User | Current user |
| Timestamp | Change time |
Use Cases
Planned Deployment
- Create device with
status: planned - Add to rack and network planning
- Update to
status: activewhen deployed
rackd device create \
--hostname "server-future-01" \
--status planned \
--pool production
Maintenance Window
- Set device to
status: maintenancebefore work - Perform maintenance tasks
- Return to
status: activewhen complete
rackd device update --id dev-123 --status maintenance
# ... perform maintenance ...
rackd device update --id dev-123 --status active
Planned Decommission
- Set
decommission_datefor planning - Update to
status: decommissionedwhen removed - Historical record preserved
# Schedule future decommission
rackd device update --id dev-123 --decommission-date 2024-06-30
# Mark as decommissioned
rackd device update --id dev-123 --status decommissioned
Hardware Refresh
Track devices being replaced:
# Mark old device for decommission
rackd device update --id old-server --status decommissioned
# Create replacement as planned
rackd device create --hostname new-server --status planned
# Activate replacement
rackd device update --id new-server --status active
Reporting
Status Distribution
Get overview of infrastructure state:
# Via API
curl /api/devices/status-counts
# Via dashboard
# View "Device Status" widget
Decommission Queue
Find devices scheduled for decommission:
# List all devices with decommission dates
rackd device list --output json | jq '.[] | select(.decommission_date != null)'
Maintenance Tracking
Track devices currently in maintenance:
rackd device list --status maintenance
Integration with Other Features
Webhooks
Subscribe to device status changes:
device.updated(includes status changes)
Custom Fields
Combine with custom fields for additional tracking:
warranty_expiry- Track warranty end dateslast_maintenance- Track maintenance history
Dashboard
The dashboard widget shows status distribution with clickable cards.
Best Practices
- Use All States: Don’t skip planned/decommissioned states
- Document Changes: Add notes when changing status
- Schedule Decommissions: Set dates for planned removals
- Regular Reviews: Audit decommissioned devices periodically
- Consistent Process: Follow same workflow for all devices