Page MenuHomeVyOS Platform

Make the raw image build more robust
Open, NormalPublic

Description

Hi,

I stumbled over containerlabs for automated network testing and planning. It can not only run docker images it can run kvm vm too,
So I tried to implement vyos into containerlab. This will make testing so much better. To integrate there is an repo:

https://github.com/hellt/vrnetlab

There is an example for ubuntu that could be simple adopted to vyos if there is an easy way to download the latest rolling image as qcow2 with
cloud-init enabled.

I think it would be a good step if it would possible to be able to use containerlab with vyos.

Details

Version
1.5
Is it a breaking change?
Perfectly compatible
Issue type
Feature (new functionality)

Event Timeline

rherold created this object in space S1 VyOS Public.

I have started playing around with it.

At first I build my own qcow2 image with vyos build:

image_format = "qcow2"

packages = ["qemu-guest-agent", "cloud-init"]

default_config = "interfaces {\n    loopback lo {\n    }\n}\nsystem {\n    config-management {\n        commit-revisions \"100\"\n    }\n    conntrack {\n        modules {\n            ftp\n            h323\n            nfs\n            pptp\n            sip\n            sqlnet\n            tftp\n        }\n    }\n    console {\n        device ttyS0 {\n            speed \"115200\"\n        }\n    }\n    host-name \"vyos-studyly\"\n    login {\n        user vyos {\n            authentication {\n                encrypted-password \"$6$QxPS.uk6mfo$9QBSo8u1FkH16gMyAVhus6fU3LOzvLR9Z9.82m3tiHFAxTtIkhaZSWssSgzt4v4dGAL8rhVQxTg0oAG9/q11h/\"\n                plaintext-password \"\"\n            }\n        }\n    }\n    syslog {\n        local {\n            facility all {\n                level \"info\"\n            }\n            facility local7 {\n                level \"debug\"\n            }\n        }\n    }\n}"

[[includes_chroot]]
path = "etc/cloud/cloud.cfg.d/90_dpkg.cfg"
data = "datasource_list: [NoCloud]"

[[includes_chroot]]
path = "../hooks/live/90-cloud-init.chroot"
data = "#!/bin/sh\n\necho I: Initialize cloud-init.\ndpkg-reconfigure -f noninteractive cloud-init"

after this I cloned the repo https://github.com/hellt/vrnetlab. I copied the ubuntu folder to vyos and modified the files. So I was able to build a container which runs the vyos image via kvm.

This was very dirty and I must do a lot of cleanup but in theory it will work.

dmbaturin triaged this task as Normal priority.May 19 2025, 1:57 PM
dmbaturin renamed this task from Please enable the build and download of cloud-init enable qcow2 images for at least rolling to Make the raw image build more robust.Thu, Nov 13, 1:25 AM
dmbaturin edited projects, added VyOS 1.5 Circinus (2025.11); removed VyOS Rolling.
dmbaturin subscribed.

FIY: I adjusted the task title to match the PR that was associated with it after the fact.

cloud-init is easy to add, we plan to document that eventually.