Skip to content

QuantumTouch BNG v1.2.0-63 — OVA build actually persists wizard state (the -58..-62 shipping bug)

Choose a tag to compare

@Bobafettywut Bobafettywut released this 14 Aug 18:03

QuantumTouch BNG 1.2.0 — installer wrapper v1.2.0-63

The shipped-OVA CPESIM-doesn't-onboard bug is fixed. Every OVA from v1.2.0-58 through v1.2.0-62 shipped with an unusable BNG state — evaluators following the guide's Step 7 (install CPESIM, click Start) would see the fleet "start" but no subscribers ever onboard. v1.2.0-63 fixes it end-to-end and adds a build-time assertion so this class of failure can't recur silently.

What's fixed since v1.2.0-62

  • OVA build-time wizard bootstrap now actually persists all sections. The v1.2.0-58..-62 build ran 50-bootstrap-wizard.sh cleanly, the wizard's apply endpoint returned 200 with "Plans OK, Pools OK, Data Plane OK, ...", and the build log printed every section OK — but the resulting OVA shipped with the controller's pool/plan/dataplane state empty, because vagrant halt at end of the build escalated to force-shutdown before pending SQLite WAL frames + settings.json writes made it durable. Root cause + full investigation: docs/reports/2026-08-14-ova-wizard-bootstrap-only-cpu-and-auth-persist.md.
  • Three-layer fix:
    1. 50-bootstrap-wizard.sh now waits for the controller to be responsive before POSTing, forces sqlite3 PRAGMA wal_checkpoint(TRUNCATE) on controller.db after apply (via built-in Python — no new deps), double-syncs, then does a readback assertion that GETs /v1/bng/pools + /v1/bng/plans and confirms the data is actually there. If readback fails, the script exits 2 and fails the whole build — no more silent-fail OVAs.
    2. build-ova.sh replaces vagrant halt (which escalates to force-shutdown when services take >30s) with an in-guest sudo systemctl poweroff that respects service ordering + syncs the filesystem. Poll VBoxManage until the VM shows powered-off; only fall back to force-halt after 120s.
    3. 50-bootstrap-wizard.sh also adds a controller-readiness wait so PUTs don't spuriously fail with 503 while quantum-controller is still starting up.

Three evaluation paths

Fastest — pre-built VirtualBox appliance (OVA)

Download:  quantumtouch-bng-eval-v1.2.0-63.ova    (~2 GiB)
Sizing:    4 vCPU, 12 GiB RAM
Login:     admin / BluedotEval2026   ← rotate on first login
Console:   USB-tablet mouse (no capture), clipboard bidirectional

Import into VirtualBox (File → Import Appliance), boot, open https://localhost:8443/ (NAT port-forward pre-baked). SSH ssh -p 2222 vagrant@localhost (password vagrant) if you want a shell.

All 8 wizard sections applied end-to-end. Install the CPESIM plugin (About → Toybox → CPESIM → Install), click Start with 10 subscribers, and the fleet actually onboards. Aggregate throughput hovers around 200 Mbps.

Scripted — Vagrantfile

VERSION=1.2.0-63
curl -LO https://github.com/Bluedot-Insight/quantumipoebng/releases/download/v${VERSION}/Vagrantfile
export QBNG_GH_TAG=v${VERSION}
vagrant up
vagrant provision --provision-with install
vagrant reload

From-scratch — installer tarball

curl -LO https://github.com/Bluedot-Insight/quantumipoebng/releases/download/v${VERSION}/quantumipoebng_v${VERSION}.tar.gz
tar xzf quantumipoebng_v${VERSION}.tar.gz
cd quantumtouch-installer-${VERSION}
sudo ./install.sh

What's in the box

Component Version
Upstream controller (VPP + Quantum Controller + vpp-bridge) Bluedot-Insight/bng@v1.2.0
bng-deploy shim + setup-wizard webui 0.10.27
quantumtouch-core framework v0.10.12
CPESIM subscriber simulator (optional, install via About → Toybox) v0.4.15
Installer wrapper 1.2.0-63

Verification (optional)

Every asset ships with a .sha256 sidecar. HTTPS covers transit, so this only guards against on-disk corruption after download.