mirror of
https://github.com/kernelkit/infix.git
synced 2026-08-06 15:43:02 +02:00
Verify that the device's factory-default configuration boots cleanly and that the device remains usable afterwards -- i.e. it does not fall back to the fail-secure failure-config. The test exercises the device's own first-boot bootstrap path: it clears the startup-config and reboots with the test-mode startup override set, so confd initialises running from the factory-config (its first-boot path). That mirrors a factory-fresh / factory-reset device and avoids applying a full config swap over the live management session -- confd cannot replace the whole running datastore from within an RPC without timing out, and a factory config may reconfigure the very transport we are connected over. The test is image-generic, using whatever factory-config the running image was built with, so it covers both the stock Infix factory config and any spin factory config. A single-node (1x1) topology is used on purpose: a factory config is not written with a lab full of peers in mind, so booting it across a multi-node topology could trigger broadcast storms or similar. NETCONF only, as it is the one management transport present in every factory config. Signed-off-by: Richard Alpe <richard@bit42.se>
35 lines
1.3 KiB
Plaintext
35 lines
1.3 KiB
Plaintext
=== Boot From Factory Config
|
|
|
|
ifdef::topdoc[:imagesdir: {topdoc}../../test/case/system/factory_config]
|
|
|
|
==== Description
|
|
|
|
Verify that the device's factory-default configuration boots cleanly and
|
|
that the device remains usable afterwards -- i.e. it does not fall back to
|
|
the fail-secure failure-config.
|
|
|
|
This exercises the device's own first-boot bootstrap path: with no
|
|
startup-config present, confd initialises running from the factory-config.
|
|
That is exactly what a factory-fresh (or factory-reset) device does, and
|
|
it avoids applying a full config swap over the live management session.
|
|
|
|
The test is image-generic: it uses whatever factory-config the running
|
|
image was built with, so it covers both the stock Infix factory config and
|
|
any spin factory config.
|
|
|
|
A single-node topology is used on purpose: a factory config is not written
|
|
with a lab full of peers in mind, so applying it across a multi-node
|
|
topology could trigger broadcast storms or similar.
|
|
|
|
==== Topology
|
|
|
|
image::topology.svg[Boot From Factory Config topology, align=center, scaledwidth=75%]
|
|
|
|
==== Sequence
|
|
|
|
. Set up topology and attach to target DUT
|
|
. Determine factory-config hostname
|
|
. Clear startup-config so the device boots from factory
|
|
. Reboot onto the factory config
|
|
. Verify device is usable and not in failure-config
|