Packer: Add support for creating a cd iso version of floppy_files to vmware-iso builder

Created on 20 Feb 2020  ยท  15Comments  ยท  Source: hashicorp/packer

Feature Description

Not every version of linux compiles the floppy kernel modules with the live cd installers. I would be nice to have a version of floppy_files but builds a iso and mounts that as an additional disc drive in addition to the iso.

Use Case(s)

See issue https://github.com/clearlinux/distribution/issues/1769

I am trying to setup ClearLinux with packer in a CI environment hosted in docker, so I do not have access to an external ip/port that I can use with http_files. Additionally I am using the vmware-iso builder which lets me add iso_paths but that iso must already live on the remote esxi datastore. I would need the ability to upload that iso file via packer if I were to make it myself and want the files to live inside the IaC git repo.

It seems like it would be alot more steps to figure out how to upload a temp iso file, mount it via iso_paths and then delete it after the VM is finished setting up.

Thanks for reading.

enhancement track-internal

All 15 comments

I'm wondering - is config-2 an option here? It's used by cloud-init as a mechanic and maintained, for that reason.

Testing with Debian 10 buster shows that floppy support is no longer present by default. So it would be great to have an alternative.

Functionally I think there's only one major difference when using an ISO file as opposed to a virtual floppy. And that is write support. However I don't think many people will use this. For me it would be an ideal way to feed preseed or kickstart files during an automated setup.

After reading the Packer documentation a bit more thoroughly I came to understand that preseed information can easily be fed via a HTTP daemon built-in with Packer. This eliminates the need for any (virtual) infrastructure to exist before spinning up a new automated installation. So there may still be use-cases for having local media but at least for me this will work.

Examples:

Yes, I created this issue specifically because I'm running packer in a CI environment that doesn't have inbound access.

I can imagine a couple of scenario's where inbound access can be a challenge. For instance when you find yourself in an enterprise environments where there's a firewall (with a default deny policy) between your builder and a vSphere environment for instance.

And your scenario of course @weikinhuang. :-D

Hi, I've started working on this but it may be more complex than I first hoped.

My proof of concept (currently implemented only for vmware-iso since that's your platform) creates an iso9660 and mounts it as a CDROM on vmware. I'm able to build a vm, and mount the cdrom and verify that the CD exists and the file I baked into it is present . What I haven't be able to do is read that preseed off the CD at the time that I want to install the os and use the preseed. This may just be a Debain issue since they've documented that they don't support using preseeds on random cdroms, instead preferring floppy disks or usb sticks.

I haven't tried with clearlinux or any other linux distros, or windows yet.

For reference, the WIP Pr is here: #9796

Can some of you folks requesting this pull a binary of the dev build from the Packer's CI server here: https://app.circleci.com/pipelines/github/hashicorp/packer/6775/workflows/0fd8a1aa-7efa-4534-bf78-31cbcea9a844/jobs/75799/artifacts and see if it works for your needs?

have you tried it with ubuntu's new cloud-init setup too?

You know, I don't think I've ever used cloud-init outside of prebaked cloud images. I'll have build an autoinstall and play with it next week. But the docs suggest that iso9660 images should work as long as the volume label is cidata, so that seems promising.

Definetly looking forward to this, as we cannot currently utilize packer for our setup!
(debian10 only = no floppy support + VMs firewalled = no http setup)
Is it much effort to provide a vsphere-iso dev build? Would love to test it and gladly provide feedback.

dev builds can be found here! https://app.circleci.com/pipelines/github/hashicorp/packer/7062/workflows/eaa94ad2-cbe7-4093-9502-130f5ac7e29f/jobs/79749/artifacts

If you click through to the linked PR you'll see some notes about how to use it. I've successfully tested it with ubuntu 20.04 using autoinstall and a cd_label of "cidata"

I can only use vsphere-iso which does not seem to be included as builder yet ..

Ah, yes. I'll be implementing the rest of the built in builders soon.

Reopening because the merged PR only implements for two builders. Follow-up PRs to come.

Implementation:

  • [x] hyperv-iso
  • [x] hyperv-vmcx
  • [x] qemu
  • [x] virtualbox-iso
  • [x] virtualbox-ovf
  • [x] virtualbox-vm
  • [x] vmware-iso
  • [x] vmware-vmx
  • [x] vsphere-iso

I'm going to lock this issue because it has been closed for _30 days_ โณ. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mwhooker picture mwhooker  ยท  3Comments

znerd picture znerd  ยท  3Comments

brettswift picture brettswift  ยท  3Comments

DanielBo picture DanielBo  ยท  3Comments

Nikoos picture Nikoos  ยท  3Comments