Unit Test Protocol (OS Provisioning)

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-provbase installed 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?

#

Check

Pass when

Blocks go-live?

1

Package installed

nmsprime-provbase present; Provisioning menu visible

Yes

2

License

Valid license file in /etc/nmsprime/licenses/

Yes

3

Core services

dhcpd, named, tftp, nmsprimed active (and radiusd, kea-dhcp6, genieacs-* if in scope)

Yes

4

Global config

Provisioning → Global config opens; provisioning server IP and domain saved

Yes

5

Config paths

/etc/dhcp-nmsprime/ and /tftpboot/cm/ (and /tftpboot/mta/ if VoIP) writable by provisioning jobs

Yes

Foundation setup

#

Check

Pass when

Blocks go-live?

#

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?

#

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 /tftpboot/cm/ (or ONT/TR-069 path)

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 internet_access off on save

Recommended

DHCP, DNS & RADIUS

#

Check

Pass when

Blocks go-live?

#

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

php artisan nms:dhcp (or save trigger) reloads dhcpd without error

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?

#

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?

#

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?

#

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?

#

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?

#

Check

Pass when

Blocks go-live?

35

Restart API

GET /api/v0/Modem/{id}/restart succeeds for authorized caller

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?

#

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

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

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.