Hi, Am Freitag, 15. März 2019, 18:11:10 CET schrieb Tardif, Christian:
Think I saw it working with baremetal, as far as I remember.
But my question wasn't so much about the grow thing, but rather the image size itself. For example, my custom-built image (which is in compressed qcow2 format) is somewhere between 400M and 600M, which is good. But, in order to be able to use it in our Openstack implementation or in our metal deployer (MaaS, from Canonical) , it needs to be in raw format, which is easily converted with qemu-img. But then, the resulting image size is 24GB !!!! And guess what? 24GB takes a rather long amount of time to upload through the management network, which is typically a 1GB link.
So this is why I was asking where could I tell OBS to create a smaller image (in fact, the smallest possible) where it would then grow to disk size once installed.
That you get .qcow2 images means you're not using the "oem" type, so you also don't have autoresizing enabled. That's what "oem" is for, it produces auto-resizing .raw files. The size is set by <size unit="G" unpartitioned="10">24</size> (the unpartitioned attribute here is not necessary anymore, I'll fix that) Just use "oem" and remove the <size/> element entirely and you get a raw image with its size based on its contents. Try this (untested): <preferences profiles="OpenStack-Cloud-x86_64"> <version>15.0</version> <packagemanager>zypper</packagemanager> <bootsplash-theme>openSUSE</bootsplash-theme> <bootloader-theme>openSUSE</bootloader-theme> <rpm-excludedocs>true</rpm-excludedocs> <type image="oem" initrd_system="dracut" filesystem="btrfs" format="qcow2" bootloader="grub2" bootloader_console="gfxterm" firmware="uefi" kernelcmdline="plymouth.enable=0 console=ttyS0,115200 console=tty0 net.ifnames=0 swapaccount=1" bootpartition="false" bootkernel="custom" devicepersistency="by-label" btrfs_root_is_snapshot="true" btrfs_root_is_readonly_snapshot="true" btrfs_quota_groups="false" > <systemdisk> <volume name="home"/> <volume name="root"/> <volume name="tmp"/> <volume name="opt"/> <volume name="srv"/> <volume name="boot/grub2/i386-pc"/> <volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/> <volume name="usr/local"/> <volume name="var" copy_on_write="false"/> </systemdisk> <oemconfig> <oem-swap>false</oem-swap> <oem-skip-verify>true</oem-skip-verify> </oemconfig> </type> </preferences>
If I'm not mistaking, MicroOS does not resize / (third partition). Instead, it creates a 4th partition with the remaining size and assign it to something like /var/lib/docker (or something like that).
That's no longer true as docker is not used in those images anymore. An installation using the DVD results in /var on a separate partition with quotas disabled, but kiwi does not support that. So instead, / is a single btrfs partiton and quotas are turned off entirely. Cheers, Fabian
-- Christian Tardif Architecte principal infonuagique | Cloud computing senior Architect
Network IaaS Bell Canada 671, de la Gauchetière Ouest, suite 527 Montréal (Québec) H3B 2M8 T : 514.391.6635, C : 514.237.6332, F : 514.391.6690 Email: christian.tardif@bell.ca
-----Original Message----- From: Fabian Vogt <fvogt@suse.de> Sent: Thursday, March 14, 2019 4:35 PM To: opensuse-kubic@opensuse.org Cc: Thorsten Kukuk <kukuk@suse.de>; Tardif, Christian <christian.tardif@bell.ca> Subject: Re: [opensuse-kubic] MicroOS custom image build
Hi,
Am Donnerstag, 14. März 2019, 21:27:49 CET schrieb Thorsten Kukuk:
Hi,
On Thu, Mar 14, Fabian Vogt wrote:
Hi,
Am Donnerstag, 14. März 2019, 19:35:42 CET schrieb Tardif, Christian:
One more question... Where is it where I can decide on the image size? Actually, for our deployments, we need to have a raw image. So the conversion comes from 400M or so up to 24G !!!! That's a important charge on the network for an OS deployment and, anyway, the disk should grow to take the remaining space, isn't it ?
Yes, if you use type="oem" the image grows automatically. Just write the decompressed .raw to a drive and it'll expand to fill the entire disk on the first boot. So there's no need to specify a size manually.
This is the kiwi special initrd, or? To my knowledge, this does not work with a read-only root filesystem. In this case, we normally use the growfs functionality of cloud-init.
Nope, it's the normal initrd with just a kiwi-specific module enabled. All it has to do is growing the btrfs partition mounted at /, so I don't see any problems there. I never tried it on real hardware yet though.
Cheers, Fabian
Thorsten
-- To unsubscribe, e-mail: opensuse-kubic+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kubic+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-kubic+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kubic+owner@opensuse.org