XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Ignition and creating a SUSE MicroOS VM

    Scheduled Pinned Locked Moved Xen Orchestra
    11 Posts 6 Posters 3.3k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • olivierlambertO Offline
      olivierlambert Vates 🪐 Co-Founder CEO
      last edited by

      We agree on the fact cloud-init is dradful 😄

      I have not investigated Ignition and how it works, could you do some search to provide a very quick recap on what's needed to make Ignition working?

      P 1 Reply Last reply Reply Quote 0
      • P Offline
        parallax @olivierlambert
        last edited by

        @olivierlambert I don't have the technical know-how to understand at what point the Ignite file needs to be lit, or injected, or whatever term we want to use here I'm afraid. I do know how the dark side (qemu) wants it done though if that's a help?

        --qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=/path/to/config.ign"

        I'd not come across Ignite files before so this has been an interesting read. In order to make things "simple," however, it seems they must first be made much more complicated, because although the Ignite file is in JSON you're expected to write it in YAML and then run it through Butane (themed naming, deep sigh) :

        https://docs.fedoraproject.org/en-US/fedora-coreos/producing-ign/

        Or something like :

        podman run -i --rm quay.io/coreos/fcct:release --pretty --strict < config.fcc > config.ign

        In the medium term is there a way to use a Template file to feed in the .ign file? I see there is a Packer add-in for XCP that has been linked to before, but the kind xcp-ng forum member who advertised their example files to get people started has since closed their Github site. 😞

        Ignite seems to be the direction of travel for SUSE anyway, and there are relatively few immutable container-oriented OSes so hence me looking at MicroOS for Docker containers anyway. (Talos looks good for k8s.)

        1 Reply Last reply Reply Quote 0
        • R Offline
          ravenet
          last edited by ravenet

          Provide combustion via an iso mounted. Idea behind combustion/ignition is a usb plugged in, or pass through a usb if you already created one.

          follow instructions on building the combustion file, drop in a folder named combustion. use whatever tool you want to move this folder into an iso, and label the iso itself combustion. Basically same steps as creating the combustion usb.

          https://en.opensuse.org/SDB:K3s_cluster_deployment_on_MicroOS

          P 1 Reply Last reply Reply Quote 1
          • P Offline
            parallax @ravenet
            last edited by

            @ravenet Thanks very much for this and apologies for not replying sooner, I was on holiday with a blissful two weeks of no Internet. 😍

            I'll give this a go - so basically boot the iso in a VM with an Ignition file as you describe on a second iso attached to the VM?

            Is it possible that a template file could be built which would perform this function for SUSE Linux variants? Otherwise I am not sure how to trigger the building of new VMs as loads scale, eg for when hopefully xcp-ng is supported as a provider for Rancher.

            R J 2 Replies Last reply Reply Quote 0
            • R Offline
              ravenet @parallax
              last edited by

              @parallax I'd assume so. You'd just have that combustion iso provided as a disk image with each to provide the initial setup. I've not looked at custom template creation in XO

              Otherwise you'd be looking at pxe and tftp, or better, use opensuse build services with kiwiNG to customize your own appliance with preconfigured settings etc.

              1 Reply Last reply Reply Quote 1
              • J Offline
                jessepeterson @parallax
                last edited by

                @parallax Were you able to get this working?

                If not I might open a new thread for to ask for a way to expose what's needed for Ignition. My ask is for Fedora CoreOS, which has QEMU instructions (as you noted): https://docs.fedoraproject.org/en-US/fedora-coreos/provisioning-qemu/ (basically, using the -fw_cfg switch).

                P 1 Reply Last reply Reply Quote 0
                • P Offline
                  parallax @jessepeterson
                  last edited by

                  @jessepeterson I did, using the disk mounting method, but the solution didn't really spark joy in me. For the last 18 months I've been on LXD and now Incus, which I found easier to use different distros on.

                  1 Reply Last reply Reply Quote 1
                  • G Offline
                    Greg_E
                    last edited by

                    Replying to an old thread because this one popped up in a search.

                    There is an open source and locally running ignition/combustion generator that I've used on bare metal. To use it with XCP-ng, we would need the ability to have a second "cd rom" drive during the install phase, one for the OS installer, one for the combustion/ignition ISO generated from the tool.

                    https://opensuse.github.io/fuel-ignition/

                    They say it only runs locally, no info is send out to the web. I didn't monitor my connection on the one time I used it, and probably won't the next time (coming soon to a bare metal cluster in my lab). For the record, I'm using the LEAP version of Micro for my tasks.

                    BytevenidosB 1 Reply Last reply Reply Quote 0
                    • BytevenidosB Online
                      Bytevenidos @Greg_E
                      last edited by Bytevenidos

                      @Greg_E Hello, I've gotten combustion to work just fine. You upload your combustion.vhd to an SR (not iso storage) and make sure you're using the selfinstall.iso. Then uncheck boot VM after creation so that you can mount the combustion.vhd on the next screen. Then after mounting it startup the VM and it should recognize it and start the provisioning process.

                      G 1 Reply Last reply Reply Quote 0
                      • G Offline
                        Greg_E @Bytevenidos
                        last edited by

                        @Bytevenidos

                        That's an interesting way of doing this, I'll have to remember it. I think the Fuel Ignition tool has a vhd output, it also produces both ignition and combustion parts for you. Worked pretty good on one test machine, but I need to go deeper into some of the other choices you can type in.

                        1 Reply Last reply Reply Quote 0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        • First post
                          Last post