{{ package.change_summary.business_justification | default('No justification provided.') }}
{% if package.change_summary.src_model and package.change_summary.tgt_model %}| Parameter | Value |
|---|---|
| Circuits Affected | {{ ia.circuits_affected | default(0) }} |
| Customer-Facing | {{ 'Yes' if ia.customer_facing else 'No' }} |
| Estimated Outage Window | {{ ia.estimated_outage_min | default('TBD') }} min |
| Optic Replacements Required | {{ ia.optic_changes | default(0) }} |
| BGP Sessions Affected | {{ ia.bgp_sessions | default(0) }} |
| MPLS LSPs Affected | {{ ia.mpls_tunnels | default(0) }} |
Risk Tier: {{ ra.tier | default('LOW') }}
{% if ra.factors %}| Risk Factor | Detail |
|---|---|
| {{ factor.factor | default('—') }} | {{ factor.detail | default('—') }} |
| Source Interface | Speed | Source Optic | Target Interface | Target Optic | IP Address | Cable ID | Status |
|---|---|---|---|---|---|---|---|
{{ row.source_if | default('—') }} |
{{ row.speed_gbps | default('—') }}{% if row.speed_gbps %}G{% endif %} | {{ row.optic_old | default(row.optic_type) | default('—') }} | {{ row.target_if | default('—') }} |
{% if row.optic_change %}{{ row.optic_new | default('?') }} (change){% else %}{{ row.optic_old | default('—') }}{% endif %} | {{ row.ip_address | default('—') }} | {{ row.cable_id | default('—') }} | {{ row.status | default('pending') }} |
| Category | Check | Expected | Actual | Status | Severity |
|---|---|---|---|---|---|
| {{ row.category | default('—') }} | {{ row.item | default('—') }} | {{ row.expected | default('—') }} | {{ row.actual | default('—') }} | {{ (row.status | default('—')) | upper }} | {{ row.severity | default('—') }} |
| Phase | Test Cases | Executed | Passed | Failed |
|---|---|---|---|---|
| Pre-Migration | {{ tp.pre_count | default(0) }} | {{ tp.pre_executed | default(0) }} | {{ tp.pre_passed | default(0) }} | {{ tp.pre_failed | default(0) }} |
| Cutover Smoke Tests | {{ tp.cutover_count | default(0) }} | {{ tp.cutover_executed | default(0) }} | {{ tp.cutover_passed | default(0) }} | {{ tp.cutover_failed | default(0) }} |
| Post-Migration (24h) | {{ tp.post_count | default(0) }} | {{ tp.post_executed | default(0) }} | {{ tp.post_passed | default(0) }} | {{ tp.post_failed | default(0) }} |
| # | Circuit / Interface | Drain Action | Rollback Action | Est. Duration |
|---|---|---|---|---|
| {{ step.seq_no | default(loop.index) }} | {{ step.circuit_id | default(step.interface) | default('—') }} |
{{ step.action | default('—') }} | {{ step.rollback_action | default('—') }} | {{ step.duration_min | default('—') }} min |
{{ rp.description | default('Keep source device racked and powered for 30 days post-cutover. Reconnect cables to source to restore service.') }}
| Parameter | Criteria |
|---|---|
| Max Packet Loss | {{ rp.max_packet_loss | default('< 0.1%') }} |
| Max BGP Reconvergence | {{ rp.max_reconvergence_sec | default('< 60s') }} |
| Rollback Trigger | {{ rp.rollback_trigger | default('Any CAT1 alarm or BGP session failure for > 5 min') }} |
| Source Device Retention | {{ rp.retention_days | default(30) }} days |
| Criterion | Threshold | Pre-Change Status |
|---|---|---|
| All CAT1 compatibility blockers resolved | 0 open blockers | — |
| Pre-migration baseline tests pass | 100% pass rate | — |
| BGP table baseline captured | Snapshot taken | — |
| Maintenance window approved | ERB/CCB approval | — |
| NOC on standby | NOC Lead confirmed | — |
| Role | Name | Status | Date | Comments |
|---|---|---|---|---|
| {{ appr.role | default('—') }} | {{ appr.name | default('—') }} | {{ appr.status | default('pending') }} | {{ appr.date | default('—') }} | {{ appr.comments | default('') }} |