CI Lifecycle

Walk a CI through all 11 OOB lifecycle stages (CSDM 4.0 vocabulary). Pick a target stage, choose a status, and see what ServiceNow enforces — and what it doesn't.

Table
CSDM era

CI Record

nameAPP-PAYROLL-01
sys_class_namecmdb_ci_app_server
install_statusOn Order (2)
operational_statusNon-Operational
life_cycle_stageIdeation
life_cycle_stage_statusDraft
owned_byRequired from Ideation
managed_byRequired from Purchase
assigned_toRequired for Operational
environmentRequired for Operational
cmdb_ci.life_cycle_stage · life_cycle_stage_status
OOB Lifecycle Stages (11 rows in life_cycle_stage reference table)
currentselected targetvisited
Attempt Transition
target life_cycle_stage
target life_cycle_stage_status
Target stage: Architecture, pilot runs, and design validation before purchase or build.
Current Stage: Ideation
Visibility: Ideation-stage CIs are visible only in planning dashboards and CSDM roadmap views
Required: owned_by
Conventional statuses: Chartered, Cancelled, Draft

Transition History

No transitions yet. Pick a stage, choose a status, and hit Apply.

Key Insight

life_cycle_stage

A reference field pointing at the 11-row life_cycle_stage table. Not a choice, not a state machine — transitions are pure convention.

life_cycle_stage_status

A reference to the 46-row life_cycle_stage_status table. The table is flat — only name + sys_id, no FK to the stage. Stage↔status groupings are documentation only.

CI Lifecycle Cheatsheet

CI-side lifecycle fields across the two tables the lab touches. Each field is tagged with the CSDM era it belongs to — CSDM 4+ was added in CSDM 4.0 to unify asset + CI lifecycle under one vocabulary (still current in CSDM 5.0); Pre CSDM 4.0 is the traditional vocabulary, still in active use — not deprecated. cmdb_ci_hardware extends cmdb_ci (via cmdb_ci_computer), so every field defined on the base table is visible on the child via table inheritance — shown as “inherited” cells.

Field
cmdb_ci
Base CI table — all CI-side lifecycle fields are defined here
cmdb_ci_hardware
Hardware CI — inherits from cmdb_ci (via cmdb_ci_computer)
life_cycle_stage
CSDM 4+Reference → life_cycle_stage
CSDM 4.0+ unified lifecycle stage on the CI record. Added alongside install_status — it does NOT replace it. Real column name uses underscores: life_cycle_stage.
Ideation, Design, Purchase, Deploy, Inventory, Operational, End of Life, End of Operation, Missing, Defective, To Be Determined (11 OOB rows)
CSDM 4+Reference → life_cycle_stage
Inherited from cmdb_ci.life_cycle_stage. Same 11 OOB stage rows.
Ideation, Design, Operational, End of Life, Missing, …
life_cycle_stage_status
CSDM 4+Reference → life_cycle_stage_status
CSDM 4.0+ granular status, CI-side. IMPORTANT: the reference table is FLAT — it has only name + sys_id columns, no FK to life_cycle_stage. Stage↔status groupings come from ServiceNow documentation, not from any DB constraint.
In Use, In Stock, In Maintenance, Retired, Disposed, Pending Retirement, On Order, Build, Test, Lost, Stolen, To Be Determined (46 OOB rows total)
CSDM 4+Reference → life_cycle_stage_status
Inherited from cmdb_ci.life_cycle_stage_status. Same 46 flat rows.
In Use, In Stock, Retired, Pending Disposal, Lost, Stolen, …
install_status
Pre CSDM 4.0Choice (integer)
Pre-CSDM 4.0 CI lifecycle state. Populated by IRE from alm_hardware.install_status for hardware CIs; set directly on virtual/application CIs.
Installed (1), On Order (2), In Maintenance (3), Pending Install (4), Pending Repair (5), In Stock (6), Retired (7), Stolen (8), Absent (100)
Pre CSDM 4.0Choice (integer)
Inherited from cmdb_ci.install_status via table inheritance. No separate sys_choice rows.
Installed (1), On Order (2), In Maintenance (3), Pending Install (4), Pending Repair (5), In Stock (6), Retired (7), Stolen (8), Absent (100)
operational_status
Pre CSDM 4.0Choice (integer)
Readiness signal for reporting, service maps, and dashboards. Integer choice separate from install_status — drives whether the CI counts as active.
Operational (1), Non-Operational (2), Repair in Progress (3), DR Standby (4), Ready (5), Retired (6)
Pre CSDM 4.0Choice (integer)
Inherited from cmdb_ci.operational_status via table inheritance.
Operational (1), Non-Operational (2), Repair in Progress (3), Retired (6)
hardware_status
Pre CSDM 4.0Choice (string)
Hardware-specific status only on cmdb_ci_hardware — does NOT exist on the base cmdb_ci table. Independent of install_status; often populated by Discovery.
Installed, In Maintenance, In Stock, Out of Stock, In Transit, Defective, In Disposition, Retired, On Order, Pending Install, Pending Repair, Pending Transfer, Stolen (13 OOB rows)