Skip to content

Creating an ova image of talos 1.8.3 from a OnPrem Image-factory (version 0.5.0) - crashing #9913

Description

@flpajany

Bug Report

Description

I have installed a OnPrem Image Factory for Talos and I am using a custom build of talos imager (v1.8.3).

The factory is working just fine with my imagers of talos v1.6.8 and v1.7.7 when I am asking to generate a ova image.

But doing the same for talos 1.8.3, it crashes (logs below).

Could you help me please ?

Logs

{"level":"info","ts":1733840025.344509,"caller":"artifacts/fetch.go:233","msg":"extracted the image","image":"<myregistry>/siderolabs/imager@sha256:e8c8db5b1545039000e49a272107149b98dc34679cc0190044
skipped pulling overlay (no overlay)
profile ready:
arch: amd64
platform: vmware
secureboot: null
version: v1.8.3
customization:
  extraKernelArgs:
    - siderolink.api=https://omni.<myregistry>:8090/?jointoken=6XOe1fGI5KWpfideEDGDZohLKNeagZ4fJyKemg6EToe7
    - talos.events.sink=[fdae:41e4:649b:9303::1]:8091
    - talos.logging.kernel=tcp://[fdae:41e4:649b:9303::1]:8092
input:
  kernel:
    path: /tmp/image-factory3855222849/v1.8.3/amd64/vmlinuz
  initramfs:
    path: /tmp/image-factory3855222849/v1.8.3/amd64/initramfs.xz
  baseInstaller:
    imageRef: ghcr.io/siderolabs/installer:v1.8.3
  systemExtensions:
    - imageRef: ""
      tarballPath: /tmp/image-factory3855222849/schematics/45c3c22cbecec813e866e5a4bc7b9d068b6e103c05197d2b4599234e181c6150-true.tar
output:
  kind: image
  imageOptions:
    diskSize: 8589934592
    diskFormat: ova
  outFormat: raw
rebuilding initramfs with system extensions...
    copying /tmp/image-factory3855222849/v1.8.3/amd64/initramfs.xz to /tmp/imager2335137158/initramfs.xz
rebuilding initramfs with system extensions...
    extracting /tmp/image-factory3855222849/schematics/45c3c22cbecec813e866e5a4bc7b9d068b6e103c05197d2b4599234e181c6150-true.tar...
rebuilding initramfs with system extensions...
    discovered system extensions:
rebuilding initramfs with system extensions...
    NAME        VERSION                                                            AUTHOR
rebuilding initramfs with system extensions...
    schematic   45c3c22cbecec813e866e5a4bc7b9d068b6e103c05197d2b4599234e181c6150   Image Factory
rebuilding initramfs with system extensions...
    validating system extensions
rebuilding initramfs with system extensions...
    compressing system extensions
rebuilding initramfs with system extensions...
    creating system extensions initramfs archive and compressing it
initramfs ready
kernel command line: talos.platform=vmware talos.config=guestinfo console=tty0 console=ttyS0 earlyprintk=ttyS0,115200 net.ifnames=0 init_on_alloc=1 slab_nomerge pti=on consoleblank=0 nvme_core.io_timeout=429
creating disk image...
    creating raw disk of size 8.6 GB
creating disk image...
    attaching loopback device
creating disk image...
    attached loopback device: /dev/loop0
creating disk image...
    created EFI (C12A7328-F81F-11D2-BA4B-00A0C93EC93B) size 104857600 bytes
creating disk image...
    created BIOS (21686148-6449-6E6F-744E-656564454649) size 1048576 bytes
creating disk image...
    created BOOT (0FC63DAF-8483-4772-8E79-3D69D8477DE4) size 1048576000 bytes
creating disk image...
    created META (0FC63DAF-8483-4772-8E79-3D69D8477DE4) size 1048576 bytes
creating disk image...
    detaching loopback device /dev/loop0
panic: runtime error: invalid memory address or nil pointer dereference

        runtime/debug.Stack()
                /usr/local/go/src/runtime/debug/stack.go:26 +0x5e
        golang.org/x/sync/singleflight.newPanicError({0x2549a80, 0x4649dd0})
                /go/pkg/mod/golang.org/x/sync@v0.8.0/singleflight/singleflight.go:44 +0x25
        golang.org/x/sync/singleflight.(*Group).doCall.func2.1()
                /go/pkg/mod/golang.org/x/sync@v0.8.0/singleflight/singleflight.go:193 +0x34
        panic({0x2549a80?, 0x4649dd0?})
                /usr/local/go/src/runtime/panic.go:785 +0x132
        github.com/siderolabs/go-blockdevice/v2/partitioning/gpt.(*Table).syncKernel(0xc0007470e0)
                /go/pkg/mod/github.com/siderolabs/go-blockdevice/v2@v2.0.1/partitioning/gpt/gpt.go:638 +0x1bc
        github.com/siderolabs/go-blockdevice/v2/partitioning/gpt.(*Table).Write(0xc0007470e0)
                /go/pkg/mod/github.com/siderolabs/go-blockdevice/v2@v2.0.1/partitioning/gpt/gpt.go:549 +0xaff
        github.com/siderolabs/talos/cmd/installer/pkg/install.(*Installer).createPartitions(0xc0008753e0, {0x2e51a20, 0xc00119ef30}, 0x2, 0x0, {0x2e33070, 0xc000658720})
                /go/pkg/mod/github.com/siderolabs/talos@v1.8.0-alpha.2/cmd/installer/pkg/install/install.go:516 +0xe56
        github.com/siderolabs/talos/cmd/installer/pkg/install.(*Installer).Install(0xc0008753e0, {0x2e3e190, 0xc000274d20}, 0x2)
                /go/pkg/mod/github.com/siderolabs/talos@v1.8.0-alpha.2/cmd/installer/pkg/install/install.go:315 +0x7a5
        github.com/siderolabs/talos/pkg/imager.(*Imager).buildImage(0xc0002de008, {0x2e3e190, 0xc000274d20}, {0xc000fb5080, 0x2b}, 0xc000c2bb90)
                /go/pkg/mod/github.com/siderolabs/talos@v1.8.0-alpha.2/pkg/imager/out.go:308 +0x9b6
        github.com/siderolabs/talos/pkg/imager.(*Imager).outImage(0xc0002de008, {0x2e3e190, 0xc000274d20}, {0xc000fb5080, 0x2b}, 0xc000c2aae0)
                /go/pkg/mod/github.com/siderolabs/talos@v1.8.0-alpha.2/pkg/imager/out.go:194 +0xd5
        github.com/siderolabs/talos/pkg/imager.(*Imager).Execute(0xc0002de008, {0x2e3e190, 0xc000274d20}, {0xc000fb6040, 0x1a}, 0xc000c2aae0)
                /go/pkg/mod/github.com/siderolabs/talos@v1.8.0-alpha.2/pkg/imager/imager.go:128 +0x48b
        github.com/siderolabs/image-factory/internal/asset.(*Builder).build(_, {_, _}, {{0x0, 0x0}, {0xc0004f77fa, 0x5}, {0xc0004f77f3, 0x6}, {0x0, ...}, ...}, ...)
                /src/internal/asset/asset.go:277 +0xe65
        github.com/siderolabs/image-factory/internal/asset.(*Builder).buildAndCache(_, {_, _}, {{0x0, 0x0}, {0xc0004f77fa, 0x5}, {0xc0004f77f3, 0x6}, {0x0, ...}, ...}, ...)
                /src/internal/asset/asset.go:199 +0xf6
        github.com/siderolabs/image-factory/internal/asset.(*Builder).Build.func1()
                /src/internal/asset/asset.go:170 +0x5e
        golang.org/x/sync/singleflight.(*Group).doCall.func2(0xc000aa9f56, 0xc00055eff0, 0xc000a03f70?)
                /go/pkg/mod/golang.org/x/sync@v0.8.0/singleflight/singleflight.go:198 +0x55
        golang.org/x/sync/singleflight.(*Group).doCall(0xc0001f0300?, 0xc000a03f98?, {0xc000b67280?, 0x71efe5?}, 0xc0001f0300?)
                /go/pkg/mod/golang.org/x/sync@v0.8.0/singleflight/singleflight.go:200 +0x7e
        created by golang.org/x/sync/singleflight.(*Group).DoChan in goroutine 70
                /go/pkg/mod/golang.org/x/sync@v0.8.0/singleflight/singleflight.go:138 +0x2d2


goroutine 92 [running]:
golang.org/x/sync/singleflight.(*Group).doCall.func1.gowrap2()
        /go/pkg/mod/golang.org/x/sync@v0.8.0/singleflight/singleflight.go:167 +0x25
created by golang.org/x/sync/singleflight.(*Group).doCall.func1 in goroutine 77
        /go/pkg/mod/golang.org/x/sync@v0.8.0/singleflight/singleflight.go:167 +0x292

When I am trying to make an ova image directly from the repository talos :

# make PLATFORM=linux/amd64 IMAGE_REGISTRY=<myregistry> image-vmware
v1.8.3: Pulling from siderolabs/imager
Digest: sha256:e8c8db5b1545039000e49a272107149b98dc34679cc0190044dc4a5009100fd6
Status: Image is up to date for <myregistry>/siderolabs/imager:v1.8.3
<myregistry>/siderolabs/imager:v1.8.3
skipped pulling overlay (no overlay)
profile ready:
arch: amd64
platform: vmware
secureboot: false
version: v1.8.3
input:
  kernel:
    path: /usr/install/amd64/vmlinuz
  initramfs:
    path: /usr/install/amd64/initramfs.xz
  baseInstaller:
    imageRef: ghcr.io/siderolabs/installer:v1.8.3
output:
  kind: image
  imageOptions:
    diskSize: 8589934592
    diskFormat: ova
  outFormat: raw
skipped initramfs rebuild (no system extensions)
kernel command line: talos.platform=vmware talos.config=guestinfo console=tty0 console=ttyS0 earlyprintk=ttyS0,115200 net.ifnames=0 init_on_alloc=1 slab_nomerge pti=on consoleblank=0 nvme_core.io_timeout=4294967295 printk.devkmsg=on ima_template=ima-ng ima_appraise=fix ima_hash=sha512
◳ failed to install: failed to install bootloader: error mounting partitions: error mounting /dev/loop0p3: 2 error(s) occurred:
    invalid argument
    timeout
Error: failed to install: failed to install bootloader: error mounting partitions: error mounting /dev/loop0p3: 2 error(s) occurred:
        invalid argument
        timeout
make: *** [Makefile:393: image-vmware] Error 1

Environment

  • Talos version: 1.8.3
  • Kubernetes version: Unrevelant
  • Platform: amd64 (but there could be a problem with arm64)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions