Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

NodeWeaver

Prerequisites

  • Access to the Sunstone (or FireEdge) web UI - typically http://<one-ip>:9869 (Sunstone) or http://<one-ip>:2616 (FireEdge)
  • oneadmin or a user with image management and VM instantiation rights
  • The built navengine.qcow2 image on a host that NodeWeaver can reach (HTTP server, or the front-end host itself)
  • A virtual network with internet access already defined in NodeWeaver

Deployment Steps

Step 1 - Upload the image

Via Sunstone UI

  1. Log in to Sunstone.
  2. In the left sidebar go to Storage → Images.
  3. Click the green + button (top-right).
  4. Fill in the Create Image form:
    • Name: navengine
    • Type: OS (not Datablock, not CDROM)
    • Datastore: choose your default image datastore (usually default or images)
    • Image location: choose Upload and select navengine.qcow2 from your workstation, or choose Provide a path and enter the absolute path on the front-end host if you have already copied the file there (faster for large images).
    • Format: qcow2
    • Persistent: leave unchecked - this lets you run multiple VMs from the same base image.
  5. Click Create.
  6. The image enters LOCKED state while it transfers. Wait until the status changes to READY (refresh the Images list; takes 1–5 minutes depending on datastore speed).

Via CLI (faster for large images)

Copy the qcow2 to the NodeWeaver front-end, then:

oneimage create \
  --name navengine \
  --type OS \
  --format qcow2 \
  --datastore default \
  --path /path/to/navengine.qcow2

Wait for oneimage show navengine to report STATE: READY.

Step 2 - Create a VM template

  1. In Sunstone go to Templates → VM Templates.
  2. Click + to create a new template.

General tab

FieldValue
Namenavengine-template
Memory (MB)8192
CPU (virtual)4
vCPU4

Storage tab

  1. Click Add another disk.
  2. In the Disk 0 row:
    • Image: select navengine (the image you just uploaded)
    • Bus: VirtIO - open the dropdown and choose virtio. This is critical; the default ide will cause the restart loop.
    • Cache: writeback
    • IO: threads

Network tab

  1. Click Add network interface.
  2. In the NIC 0 row:
    • Network: select the virtual network that has internet access.
    • Model: VirtIO - set this explicitly; the default varies by NodeWeaver version and may be e1000.

OS & CPU tab

  1. Expand Boot order: ensure disk0 is first (drag it to the top if needed).
  2. Under Machine type: enter pc-q35-7.2 (or simply q35 - NodeWeaver passes this string directly to QEMU’s -machine argument). If you leave this blank NodeWeaver uses pc (i440fx) which does not support VirtIO-PCIe correctly.
  3. Under BIOS / Firmware: select BIOS (SeaBIOS), NOT UEFI. If the field is absent the default is BIOS which is correct.

NodeWeaver raw template equivalent - if you prefer editing the template directly (Advanced / Template tab) the minimum additions are:

DISK = [ IMAGE="navengine", BUS="virtio", CACHE="writeback", IO="threads" ]
NIC  = [ NETWORK="<your-network>", MODEL="virtio" ]
OS   = [ BOOT="disk0", MACHINE="q35" ]

Context tab

NodeWeaver’s contextualization injects a cloud-init-like ISO into the VM. NavEngine uses Ignition (embedded in the OEM partition), not NodeWeaver contextualization. If the context ISO is attached NodeWeaver assigns it as a CDROM device which is harmless, but to keep the VM clean:

  • Uncheck Add Network context and Add SSH key (they have no effect on a Flatcar image that ignores NodeWeaver context).
  • You may leave the context block entirely blank or remove it.

Step 3 - Instantiate the VM

  1. In Templates → VM Templates select navengine-template.
  2. Click Instantiate (the play icon).
  3. In the dialog:
    • VM name: navengine-01 (or any name)
    • Leave all other fields at template defaults.
  4. Click Instantiate.

The VM appears in Instances → VMs with state PENDING → PROLOG → RUNNING.

Step 4 - Monitor the boot

  1. In Instances → VMs click on your VM row.
  2. Click the Console button (VNC or SPICE icon) to open the graphical console.

Expected boot sequence (same as HC3):

Flatcar Container Linux by Kinvolk  ...

First boot: allow 5–10 minutes.

If the VM reboots in a loop:

Check the console at the moment of failure. Common patterns and fixes:

Console showsCauseFix
Kernel panic - not syncing: VFS: Unable to mount root fsDisk bus is IDE, kernel has no IDE driverEdit template, set Disk BUS to virtio
dracut-emergency shell, network errorsNIC model not recognizedEdit template, set NIC MODEL to virtio
UEFI shell prompt (Shell>)Wrong firmwareEdit template OS section, remove UEFI firmware path, use SeaBIOS