Hello,
I have a questions around official Vagrant CentOS 7 images.
1) Why images are not updated anymore to Vagrant Cloud ?
In the past, images where uploaded to https://app.vagrantup.com/centos/boxes/7 but that doesn't seem to be the case right now. However, I see that latest images are available here : https://cloud.centos.org/centos/7/vagrant/x86_64/images/
2) How do you build these images ?
I only found https://git.centos.org/centos/kickstarts repository which seems to contain all kickstarts files but I would like to read your packer recipes.
https://github.com/CentOS/sig-cloud-instance-build seems outdated and I found https://github.com/lpancescu/sig-cloud-instance-build/ (a fork) with vbox-packer and libvirt-packer branches but there seems to be outdated too.
Thanks for your help.
Hello Nicolas,
On 5/13/20 10:01 AM, Nicolas Quiniou-Briand wrote:
- Why images are not updated anymore to Vagrant Cloud ?
Part frustration, part technical problems (at least for 8). We have jobs on ci.centos.org that can build the images on CBS and then test them automatically. But then the images have to be copied on cloud.centos.org and the checksum file has to be updated and signed. I don't have the rights to do that, so I end up emailing people several times, over weeks, mostly without an answer. I built new images for 6 and 7 on ci.c.o. on April 30th, but they haven't been signed and copied yet and I still haven't received any reply. Once that happens, I can release them on Vagrant Cloud.
It's more difficult with centos/8. We have a working kickstart, but the CBS builders don't run CentOS 8 as far as I know, and we can't build them via ci.c.o. Additionally, Image Factory is no longer maintained, and even when it was, pykickstart deleted some statements from the kickstarts (valid statements it couldn't parse). I would like to move away from Image Factory and generate the images directly on ci.c.o, using a Duffy node running CentOS 8. That's still work in progress, but I think the best way forward would be to fully automate the image generation, testing, uploading to cloud.c.o., signing and publishing, and I'm trying to put something together to achieve that.
- How do you build these images ?
I only found https://git.centos.org/centos/kickstarts repository which seems to contain all kickstarts files but I would like to read your packer recipes.
We don't use Packer, but Image Factory, which performs an installation on libvirt-kvm and then uses qemu-img to convert the libvirt disk image to different formats and pack it together with other necessary files for each hypervisor. Using Packer wouldn't allow us to build images for HyperV or VMware, which are proprietary software.
https://github.com/CentOS/sig-cloud-instance-build seems outdated and I found https://github.com/lpancescu/sig-cloud-instance-build/ (a fork) with vbox-packer and libvirt-packer branches but there seems to be outdated too.
The two packer branches are what I use to generate images locally on my own machine, since installing Image Factory is... rather difficult. The official images are not generated in this way, but it doesn't matter, I'm mostly using it to debug my changes to the kickstarts. I updated the libvirt-packer branch in March to support building Vagrant images for CentOS 8.1 (I stopped updating the vbox-packer branch because I'm not using VirtualBox anymore since I switched from macOS to Fedora, so I can't test if my changes are really working).
Hope this helps, Laurențiu
On Wed, May 13, 2020 at 10:14:46PM +0200, Laurențiu Păncescu wrote: ...snip...
It's more difficult with centos/8. We have a working kickstart, but the CBS builders don't run CentOS 8 as far as I know, and we can't build them via ci.c.o. Additionally, Image Factory is no longer maintained, and even when
Huh, thats news to me. Fedora still uses ImageFactory. Upstream is somewhat active. The Fedora main maintainer is not very, but I have been doing builds when needed.
If there's anything I can do to assist let me know...
kevin
On 14/05/2020 03:12, Kevin Fenzi wrote:
On Wed, May 13, 2020 at 10:14:46PM +0200, Laurențiu Păncescu wrote: ...snip...
It's more difficult with centos/8. We have a working kickstart, but the CBS builders don't run CentOS 8 as far as I know, and we can't build them via ci.c.o. Additionally, Image Factory is no longer maintained, and even when
Huh, thats news to me. Fedora still uses ImageFactory. Upstream is somewhat active. The Fedora main maintainer is not very, but I have been doing builds when needed.
If there's anything I can do to assist let me know...
kevin
Just to add that all CentOS 8 and Stream artifacts like (including) the Vagrant image found at https://cloud.centos.org/centos/8/x86_64/images/ are built through imagefactory so also still in use at the CentOS builders side :)
Used kickstart file[s] is/are (like everything for 8 and Stream) available on git.centos.org : - https://git.centos.org/centos/kickstarts/blob/master/f/CentOS-8-x86_64-Vagra... - https://git.centos.org/centos/kickstarts/blob/master/f/CentOS-8-Stream-x86_6...
Clarification eventually needed : those are built through https://koji.mbox.centos.org/koji/, so the dedicated koji instance for distro, and distro artifacts like iso images, cloud images, etc..
Laurentiu was probably mentioning where Vagrant images are produced for 6 and 7, so different koji instance ( https://cbs.centos.org ) , which is accessible for Community contributors/SIGs members.
@Laurentiu: would that help if we'd have a c8 image-builder in cbs.centos.org env ? I think Brian wanted to ensure that all released content for 8/stream would be built from the other koji.mbox setup, but at least you'd be able to test the build/image through ci before eventually then submitting a PR for the 8 kickstart (if/when needed) ? Normally you can still build the 6/7 vagrant images like before.
My view on the problem is more about what to do when it's built/tested : I saw you asking multiple times Johnny to have those released but nothing done and not follow-up, is that the issue ?
Just dropping the .box files to make those appearing on cloud.centos.org (at least for 6 and 7) is something I can help with .. but no idea about how is the image-index file generated (and if that's even needed for vagrant, but don't think so). Problem is more about if I add those and then Johnny deletes those because he's pushing from another setup, that wouldn't work :)
And also : nobody from the CPE team has access to upstream atlas/hashicorp vagrant setup to update info when new box is released, so that would also be a problem for people trying to consume those updated images if not declared at https://app.vagrantup.com/centos
Hello Fabian,
On 5/14/20 8:20 AM, Fabian Arrotin wrote:
Clarification eventually needed : those are built through https://koji.mbox.centos.org/koji/, so the dedicated koji instance for distro, and distro artifacts like iso images, cloud images, etc.. [snip] @Laurentiu: would that help if we'd have a c8 image-builder in cbs.centos.org env ? I think Brian wanted to ensure that all released content for 8/stream would be built from the other koji.mbox setup, but at least you'd be able to test the build/image through ci before eventually then submitting a PR for the 8 kickstart (if/when needed) ? Normally you can still build the 6/7 vagrant images like before.
It certainly would, I would be able to build the Vagrant images normally again. The question is, would you like to take this over in the core team? It would make sense for all official images to be produced together, but the ISO images are only generated after a point release, while Vagrant images used to have monthly releases and I imagine Vagrant users prefer it this way. I don't see any VMware and HyperV versions of the centos/8 images on cloud.centos.org, just VirtualBox and libvirt. Using the build process I had on cico produced all four types of images (vmware, vbox, hyperv and libvirt), every month - the only problem was copying the images from CBS to cloud.c.o.
My view on the problem is more about what to do when it's built/tested : I saw you asking multiple times Johnny to have those released but nothing done and not follow-up, is that the issue ?
Yes. I wrote Johnny again two days ago, still no answer.
Just dropping the .box files to make those appearing on cloud.centos.org (at least for 6 and 7) is something I can help with .. but no idea about how is the image-index file generated (and if that's even needed for vagrant, but don't think so). Problem is more about if I add those and then Johnny deletes those because he's pushing from another setup, that wouldn't work
This would be great, the files are in the CBS jobs 1276555 and 1276553. The signed SHA256SUMS file is not necessary for Vagrant, it's just nice for people who gpg-check the images to be sure they come from the CentOS Project.
And also : nobody from the CPE team has access to upstream atlas/hashicorp vagrant setup to update info when new box is released, so that would also be a problem for people trying to consume those updated images if not declared at https://app.vagrantup.com/centos
Karanbir and I do have access, I have been publishing the images there since 2016. It doesn't have to be manually though, there's an API key and I already did some experiments to see if it's possible to create the links and a new version automatically - that works. So we could have a fully automated process for the Vagrant images: building, testing, copying to cloud.c.o., signing, creating a new version of the boxes on Vagrant Cloud (formerly Atlas) and publishing them for our users. This is what I spoke with Karanbir to do using Duffy nodes, it would make everything much more smooth by not having several people in the loop, but I understand you now have your own process for doing that?
Best regards, Laurențiu
On 15/05/2020 15:12, Laurențiu Păncescu wrote:
Hello Fabian,
<snip>
Yes. I wrote Johnny again two days ago, still no answer.
Just dropping the .box files to make those appearing on cloud.centos.org (at least for 6 and 7) is something I can help with .. but no idea about how is the image-index file generated (and if that's even needed for vagrant, but don't think so). Problem is more about if I add those and then Johnny deletes those because he's pushing from another setup, that wouldn't work
This would be great, the files are in the CBS jobs 1276555 and 1276553. The signed SHA256SUMS file is not necessary for Vagrant, it's just nice for people who gpg-check the images to be sure they come from the CentOS Project.
So, I just pushed the centos 6 and 7 .box files and they are now on https://cloud.centos.org/centos/6/vagrant/x86_64/images/ and https://cloud.centos.org/centos/7/vagrant/x86_64/images/
only the c7 sha256sum.txt I was able to sign as I don't have access to the gpg key for 6, so back to either Johnny or KB.
But if that's not needed for vagrant directly, you can proceed with next step I guess :)
And also : nobody from the CPE team has access to upstream atlas/hashicorp vagrant setup to update info when new box is released, so that would also be a problem for people trying to consume those updated images if not declared at https://app.vagrantup.com/centos
Karanbir and I do have access, I have been publishing the images there since 2016. It doesn't have to be manually though, there's an API key and I already did some experiments to see if it's possible to create the links and a new version automatically - that works. So we could have a fully automated process for the Vagrant images: building, testing, copying to cloud.c.o., signing, creating a new version of the boxes on Vagrant Cloud (formerly Atlas) and publishing them for our users. This is what I spoke with Karanbir to do using Duffy nodes, it would make everything much more smooth by not having several people in the loop, but I understand you now have your own process for doing that?
It would be good to have Brian chiming in this thread as other vagrant boxes were build through koji.mbox and so imagefactory too. If we consider that having those built all on cbs.centos.org , we can work on that if that's easier for you too :)
Hi Fabian,
On 5/15/20 3:22 PM, Fabian Arrotin wrote:
So, I just pushed the centos 6 and 7 .box files and they are now on https://cloud.centos.org/centos/6/vagrant/x86_64/images/ and https://cloud.centos.org/centos/7/vagrant/x86_64/images/
only the c7 sha256sum.txt I was able to sign as I don't have access to the gpg key for 6, so back to either Johnny or KB.
But if that's not needed for vagrant directly, you can proceed with next step I guess :)
Many thanks, I just released centos/6 and centos/7 on Vagrant Cloud and posted a largely copied annoucement on blog.c.o.
If you can help with a CentOS 8 builder, I think I can update my build scripts quickly to try to build centos/8 on CBS as well.
Best regards, Laurențiu
On 5/15/20 1:49 PM, Laurențiu Păncescu wrote:
If you can help with a CentOS 8 builder, I think I can update my build scripts quickly to try to build centos/8 on CBS as well.
If you're still having trouble getting a CentOS 8 Kickstart file working, try removing the '--nobase' flag. I think it caused dependency problems, but never tracked down the root problem. My file is here:
https://github.com/lavabit/robox/blob/master/http/generic.centos8.vagrant.ks
Note, I don't optimize my boxes for size. I prefer to ship a slightly larger box file which includes a number of basic command line tools, and let the official boxes focus on staying small.
Let me know if you need further help.
L~
Thanks Ladar, I'll take a look at your kickstart.
I actually added the kickstart for CentOS 8 on 2019-10-14, it works for building the minimal images we also have for 6 and 7; the only obstable is the lack of CentOS 8 builders in CBS, otherwise we would have had centos/8 images since then.
On 5/16/20 5:23 AM, Ladar Levison via CentOS-devel wrote:
If you're still having trouble getting a CentOS 8 Kickstart file working, try removing the '--nobase' flag. I think it caused dependency problems, but never tracked down the root problem. My file is here:
https://github.com/lavabit/robox/blob/master/http/generic.centos8.vagrant.ks
On Fri, May 15, 2020, at 08:22, Fabian Arrotin wrote:
On 15/05/2020 15:12, Laurențiu Păncescu wrote:
Hello Fabian,
<snip> > > Yes. I wrote Johnny again two days ago, still no answer. > >> Just dropping the .box files to make those appearing on cloud.centos.org >> (at least for 6 and 7) is something I can help with .. but no idea about >> how is the image-index file generated (and if that's even needed for >> vagrant, but don't think so). Problem is more about if I add those and >> then Johnny deletes those because he's pushing from another setup, that >> wouldn't work > > This would be great, the files are in the CBS jobs 1276555 and 1276553. > The signed SHA256SUMS file is not necessary for Vagrant, it's just nice > for people who gpg-check the images to be sure they come from the CentOS > Project. >
So, I just pushed the centos 6 and 7 .box files and they are now on https://cloud.centos.org/centos/6/vagrant/x86_64/images/ and https://cloud.centos.org/centos/7/vagrant/x86_64/images/
only the c7 sha256sum.txt I was able to sign as I don't have access to the gpg key for 6, so back to either Johnny or KB.
But if that's not needed for vagrant directly, you can proceed with next step I guess :)
And also : nobody from the CPE team has access to upstream atlas/hashicorp vagrant setup to update info when new box is released, so that would also be a problem for people trying to consume those updated images if not declared at https://app.vagrantup.com/centos
Karanbir and I do have access, I have been publishing the images there since 2016. It doesn't have to be manually though, there's an API key and I already did some experiments to see if it's possible to create the links and a new version automatically - that works. So we could have a fully automated process for the Vagrant images: building, testing, copying to cloud.c.o., signing, creating a new version of the boxes on Vagrant Cloud (formerly Atlas) and publishing them for our users. This is what I spoke with Karanbir to do using Duffy nodes, it would make everything much more smooth by not having several people in the loop, but I understand you now have your own process for doing that?
It would be good to have Brian chiming in this thread as other vagrant boxes were build through koji.mbox and so imagefactory too. If we consider that having those built all on cbs.centos.org , we can work on that if that's easier for you too :)
-- Fabian Arrotin The CentOS Project | https://www.centos.org gpg key: 17F3B7A1 | twitter: @arrfab
CentOS-devel mailing list CentOS-devel@centos.org https://lists.centos.org/mailman/listinfo/centos-devel
*Attachments:*
- signature.asc
Sounds like we need to have a longer discussion about this. I'd like for all of the images we push for 8 and later to cloud.centos.org to come from the same buildsystem (even if individual kickstarts are maintained by different people). Current status is that all images are built using ImageFactory in koji.mbox.centos.org using kickstarts from https://git.centos.org/centos/kickstarts
There are a couple of reasons for this, but the major driver is that these images are tracked as pungi compose artifacts, which makes it much easier to automate the publishing process going forward.
I think we have some (yet unproposed) changes coming that will make it easier for non-core folks to generate test artifacts like this using the same system. Until then, I'm happy to merge and re-spin CentOS 8 images on demand.
--Brian
Hi Brian,
On 5/16/20 11:04 PM, Brian Stinson wrote:
Sounds like we need to have a longer discussion about this. I'd like for all of the images we push for 8 and later to cloud.centos.org to come from the same buildsystem (even if individual kickstarts are maintained by different people). Current status is that all images are built using ImageFactory in koji.mbox.centos.org using kickstarts from https://git.centos.org/centos/kickstarts
That sounds reasonable. Are the Vagrant kickstarts there synced or merged with what we have on GitHub? What about the issues and pull requests, would everything move to bugs.c.o.? It would make sense not to have two places where we develop and collaborate. We currently also have GitHub hooks that automatically build and test new images on each incoming pull requests, is there an equivalent on Pagure (or GitLab, there was some talk about migrating away from Pagure).
There are a couple of reasons for this, but the major driver is that these images are tracked as pungi compose artifacts, which makes it much easier to automate the publishing process going forward.
I would prefer to have everything fully automated for the Vagrant images, from image building and testing, to uploading, signing and publishing on Vagrant Cloud. That way, we can simply schedule this on the last day of each month and have regular releases (or 28th of each month if it's easier with cron).
I think we have some (yet unproposed) changes coming that will make it easier for non-core folks to generate test artifacts like this using the same system. Until then, I'm happy to merge and re-spin CentOS 8 images on demand.
I can already build images locally using Packer and the same kickstarts, so I can see if a kickstart change introduces some issues in the generated images (this doesn't let me see if pykickstart with ignore something in my kickstart, like it happened with %addon in centos/7 for a long time).
The Vagrant images are quite mature, there are barely any kickstart changes going on. I guess 8.2 will be released relatively soon, perhaps we can build and publish centos/8 then for all hypervisors (we're already so far behind with the 8 images - or would people prefer 8.1 images right now, and then 8.2 when released?).
Would it make sense to also offer Vagrant images for CentOS 8 Stream?
Best regards, Laurențiu
Hi Kevin,
On 5/14/20 3:12 AM, Kevin Fenzi wrote:
Huh, thats news to me. Fedora still uses ImageFactory. Upstream is somewhat active. The Fedora main maintainer is not very, but I have been doing builds when needed.
Indeed, just saw that the maintenance has resumed, although none of the new commits are from Ian (I thought he's not interested in working on imgfac anymore, so it seemed dead). I also see it's now packaged in EPEL, which would make it much simpler to install than back then, trying to find each dependency manually and install from source. Not available for CentOS 8, though, just for 6 and 7, and we'd probably need builders to run 8 as a host.
Thanks, Laurențiu
Wednesday, 13 May 2020 22:15, by Lauren?iu Pancescu <snip>
We don't use Packer, but Image Factory, which performs an installation on libvirt-kvm and then uses qemu-img to convert the libvirt disk image to different formats and pack it together with other necessary files for each hypervisor. Using Packer wouldn't allow us to build images for HyperV or VMware, which are proprietary software.
<snip>
FWIW I have used Packer's qemu builder to build Centos 7 and 8 images that I used in both KVM and VMware/vSphere. I haven't used HyperV, but the difference is only in the drivers to include in the initramfs and potentially any guest tools to preinstall. I use qemu-img to convert the formats and produce associated files (e.g. ovf) for the target hypervisor, all done from a wrapper script around the packer job. I would gladly share the recipes.
Regards, Antal
Hello Antal,
On 14/05/2020 21:35, Antal Nemeš wrote:
FWIW I have used Packer's qemu builder to build Centos 7 and 8 images that I used in both KVM and VMware/vSphere. I haven't used HyperV, but the difference is only in the drivers to include in the initramfs and potentially any guest tools to preinstall. I use qemu-img to convert the formats and produce associated files (e.g. ovf) for the target hypervisor, all done from a wrapper script around the packer job. I would gladly share the recipes.
Thanks for you answer, I will happy to read your recipes if you can share them.
On 5/13/20 3:01 AM, Nicolas Quiniou-Briand wrote:
- Why images are not updated anymore to Vagrant Cloud ?
- How do you build these images ?
I only found https://git.centos.org/centos/kickstarts repository which seems to contain all kickstarts files but I would like to read your packer recipes.
I maintain the "generic" CentOS 7/8 images, and I _try_ to update them roughly every 2 weeks. You can find the packer recipes here: