Unit Test Protocol (OS Provisioning)
Acceptance checklist for OS Provisioning (ProvBase / nmsprime-provbase).
NMS Prime is a CRM, BSS and OSS platform for ISPs and Telcos.
App hub: OS Provisioning
Cross-app ISP journeys (contract → modem → billing → care) live under UAT & ISP Processes. This page covers app-level provisioning checks only.
How to use
Run on a staging or lab system with
nmsprime-provbaseinstalled and licensed.Use at least one test modem (DOCSIS, FTTH/ONT, or DSL as in scope) and a reachable NetGw (CMTS / BRAS / OLT).
Mark each row pass / fail; note MAC, contract number, and configfile used.
Rows marked Blocks go-live must pass for OS Provisioning acceptance.
Environment
|
|
|---|---|
System / version |
|
Tester / date |
|
Access technology in scope | DOCSIS / FTTH / DSL / TR-069 |
Installation & services
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
1 | Package installed |
| Yes |
2 | License | Valid license file in | Yes |
3 | Core services |
| Yes |
4 | Global config | Provisioning → Global config opens; provisioning server IP and domain saved | Yes |
5 | Config paths |
| Yes |
Foundation setup
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
6 | NetGw | Create CMTS / BRAS / OLT with hostname, IP, SNMP communities | Yes |
7 | IP pool | CM (or access) IP pool on NetGw; range validation rejects out-of-net IPs | Yes |
8 | QoS profile | At least one QoS profile created (e.g. 100/10 Mbit/s) | Yes |
9 | Configfile | Public CM (or ONT/TR-069) configfile created; DOCSIS syntax validates | Yes |
10 | QoS mapping | QoS assigned to configfile where required | Recommended |
Contracts & modems
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
11 | Contract CRUD | Contract with address, salutation, start date created and editable | Yes |
12 | Modem create | Modem created from contract: MAC, configfile, QoS assigned | Yes |
13 | Modem online | Test modem registers; receives IP from DHCP (or PPPoE/RADIUS if in scope) | Yes |
14 | Config delivery | Per-modem configfile generated under | Yes |
15 | Internet access toggle | Disable / enable internet access on modem takes effect | Yes |
16 | Force restart | Force restart triggers modem reboot (or queued task for TR-069) | Recommended |
17 | Contract cancellation | Cancelled contract sets modem | Recommended |
DHCP, DNS & RADIUS
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
18 | DHCP host entry | Modem save regenerates DHCP config; host appears in modem hosts file | Yes |
19 | DHCP reload |
| Yes |
20 | DDNS | Modem hostname resolves via BIND after lease (if DDNS in scope) | If in scope |
21 | RADIUS | PPPoE / framed-pool modem has radcheck/radreply entries after save | If in scope |
22 | IPv6 / Kea | IPv6 lease or Kea host entry for IPv6-enabled modem | If in scope |
CPE management
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
23 | Endpoint create | CPE/endpoint created from modem relation panel | If CPE in scope |
24 | Static public IP | Static public IP assignable to CPE; hostname created | If in scope |
25 | CPE analysis | CPE analysis page shows ping / DHCP lease info | Recommended |
Configfile management
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
26 | Configfile tree | Parent/child configfiles; child inherits base settings | Recommended |
27 | SQL placeholders | Configfile renders modem name, QoS speeds, or other DB fields | Recommended |
28 | Import / export | Configfile tree export and re-import succeeds | If used |
29 | Firmware file | Firmware or certificate referenced in configfile is served via TFTP | If used |
TR-069 / GenieACS
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
30 | TR-069 configfile | TR-069 configfile type saves; GenieACS provision created | If TR-069 in scope |
31 | Device sync | Refresh GenieACS / sync preset updates device parameters | If TR-069 in scope |
32 | CWMP task | Execute task (restart, factory reset) reaches device | If TR-069 in scope |
Firmware upgrade
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
33 | Batch upgrade | Firmware upgrade job created (source → target configfile) | If used |
34 | Device match | Only modems matching firmware string are selected | If used |
API (v0)
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
35 | Restart API |
| If API in scope |
36 | Block DHCP API | Block / unblock DHCP endpoints change lease behaviour | If API in scope |
37 | API auth | Unauthorized API caller receives 403 | If API in scope |
Permissions & validation
# | Check | Pass when | Blocks go-live? |
|---|---|---|---|
38 | Menu access | User with provisioning role sees Contract, Modem, NetGw, Configfile menus | Yes |
39 | Restricted user | User without rights cannot create modem or open global config | Yes |
40 | Validation | Empty modem create fails; duplicate QoS name rejected; IP pool outside net rejected | Recommended |
Process links
ISP process | Checklist rows |
|---|---|
New customer / contract | #11, #12 |
Modem activation | #12–#14 |
Access disable (dunning / care) | #15, #17 |
CPE behind modem | #23–#25 |
TR-069 CPE management | #30–#32 |
Mass firmware rollout | #33–#34 |
Setup guide: Provisioning Setup
Sign-off
Role | Name | Date | Result |
|---|---|---|---|
Network / provisioning |
|
| Pass / Fail |
Care / operations |
|
| Pass / Fail |
Delivery |
|
| Pass / Fail |
Record date, tester, environment, and defects. Keep this page focused on checks that catch real provisioning failures.