Skip to content

Conversation

@mcanevet
Copy link

Description

Simplify vagrant stack by using qemuimg2disk instead of a job that download the image and converts it to compressed qemu image.

Fixes: #

How Has This Been Tested?

vagrant up

How are existing users impacted? What migration steps/scripts do we need?

Checklist:

I have:

  • updated the documentation and/or roadmap (if required)
  • added unit or e2e tests
  • provided instructions on how to upgrade

Signed-off-by: Mickaël Canévet <mickael.canevet@proton.me>
Copy link
Member

@jacobweinstock jacobweinstock left a comment

Choose a reason for hiding this comment

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

Hey @mcanevet, thanks for this! Just one concern/suggestion.

DEST_DISK: {{ index .Hardware.Disks 0 }}
IMG_URL: "http://$TINKERBELL_HOST_IP:7173/jammy-server-cloudimg-amd64.raw.gz"
COMPRESSED: true
IMG_URL: "https://cloud-images.ubuntu.com/daily/server/jammy/current/jammy-server-cloudimg-amd64.img"
Copy link
Member

Choose a reason for hiding this comment

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

This location causes my Workflow to timeout. Downloading it and putting it into the same place as the HookOS files works. Mind downloading it and updating this IMG_URL to the local nginx?

Copy link
Author

Choose a reason for hiding this comment

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

It works fine for me:

kubectl get -n tinkerbell workflow playground-workflow --watch
NAME                  TEMPLATE   STATE     ACTION   AGENT   HARDWARE
playground-workflow   ubuntu     PENDING                    machine1
playground-workflow   ubuntu     PENDING   stream ubuntu image   08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   stream ubuntu image   08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   stream ubuntu image   08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   grow-partition        08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   grow-partition        08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   grow-partition        08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   grow-partition        08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   install openssl       08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   install openssl       08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   install openssl       08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   create user           08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   create user           08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   create user           08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   enable ssh            08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   enable ssh            08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   enable ssh            08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   disable apparmor      08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   disable apparmor      08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   disable apparmor      08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   write netplan         08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   write netplan         08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   write netplan         08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   kexec into os         08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     RUNNING   kexec into os         08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     POST      kexec into os         08:00:27:9e:f5:3a   machine1
playground-workflow   ubuntu     SUCCESS   kexec into os         08:00:27:9e:f5:3a   machine1

Maybe we could try with timeout greater than 600.
The whole point of this simplification is to get rid of the download job, so I can't see the point of adding it back (or maybe I misunderstood what you are suggesting?)

Copy link
Member

Choose a reason for hiding this comment

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

Hey @mcanevet, the existing setup does more than just download the image. It converts it format from a .img to a compressed raw file. This does simplify things but it seems to be to be less reliable. I would prefer to optimize for working reliable for everyone. Also, downloading the .img file would still be simpler than the current way of downloading and converting but i agree, not simpler than what you have here. I'm open to push back or suggestions. Regardless, thanks for using the playground and opening this PR! Very much appreciated.

@mcanevet mcanevet closed this Sep 25, 2025
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.

2 participants