Skip to content

add example for BSD images to system-imaging module - #191

Merged
safl merged 3 commits into
refenv:mainfrom
naddinadja:nuageinit
Oct 1, 2025
Merged

add example for BSD images to system-imaging module#191
safl merged 3 commits into
refenv:mainfrom
naddinadja:nuageinit

Conversation

@naddinadja

@naddinadja naddinadja commented Aug 7, 2025

Copy link
Copy Markdown
Contributor

nuage-init is a subset of cloud-init, which is used on the FreeBSD images, so it can't do all the things that cloud-init does, which leads to problems with it not terminating the qemu instance when expected.

We have added the bsd-images repo https://github.com/refenv/bsd-images, where we pre-install cloud-init to BSD images with nuage-init. This PR adds a guest using such an image to the example config files.

Should solve #190

@naddinadja
naddinadja force-pushed the nuageinit branch 7 times, most recently from 94b3d21 to 2f6dedc Compare August 14, 2025 08:18
@naddinadja naddinadja changed the title add support for nuage-init add example for BSD images to system-imaging module Aug 27, 2025
@naddinadja

Copy link
Copy Markdown
Contributor Author

@safl the FreeBSD image is very large, and this PR fails with "System.IO.IOException: No space left on device" from the Github Runner .... Should we just not test the FreeBSD image, or can we increase the memory size?

@naddinadja
naddinadja requested a review from safl August 27, 2025 08:21
Before, the image path was only replaced with the decompressed_path if
the script performed the decompression. If the decompressed file already
existed, the image path was not overwritten, which lead to failure, as
the compressed file was then used as the image (which is not possible).

Signed-off-by: Nadja Brix Koch <n.koch@samsung.com>
nuage-init is the initialisation tool used in FreeBSD images (they call
it "basic cloudinit"). This is a subset of cloud-init, and doesn't
support all the same features. To support FreeBSD images, we host these
images with cloud-init pre-installed and provide the download URL for
these in the example config files.

Signed-off-by: Nadja Brix Koch <n.koch@samsung.com>
@naddinadja
naddinadja force-pushed the nuageinit branch 14 times, most recently from 8f6efdb to 62106f3 Compare September 22, 2025 13:05
The two examples in the system_imaging package were constructed to test
all images in the given configs. These examples become comprehensive as
we add more and more examples. The purpose was to ensure that all images
defined in the config are valid.

To not create examples that are so large that they break the CI, we
simplify the system_imaging example to just match on the pattern
"*debian*", keeping them 'light-weight'. The test of all images in the
config is moved to a separate GHA job.

This also removes the duplicate example config files in the
system_imaging package, so we don't have to maintain to identical files.

Signed-off-by: Nadja Brix Koch <n.koch@samsung.com>
@coveralls

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 17916534130

Details

  • 0 of 1 (0.0%) changed or added relevant line in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.009%) to 78.465%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/cijoe/system_imaging/scripts/diskimage_from_cloudimage.py 0 1 0.0%
Totals Coverage Status
Change from base Build 17875746454: -0.009%
Covered Lines: 1566
Relevant Lines: 2059

💛 - Coveralls

@safl safl left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@safl
safl merged commit 02e4c97 into refenv:main Oct 1, 2025
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants