Mailinglist Archive: opensuse-kubic (43 mails)

< Previous Next >
Re: [opensuse-kubic] MicroOS custom image build
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@xxxxxxx



-----Original Message-----
From: Fabian Vogt <fvogt@xxxxxxx>
Sent: Thursday, March 14, 2019 4:35 PM
To: opensuse-kubic@xxxxxxxxxxxx
Cc: Thorsten Kukuk <kukuk@xxxxxxx>; Tardif, Christian
<christian.tardif@xxxxxxx>
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@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-kubic+owner@xxxxxxxxxxxx






--
To unsubscribe, e-mail: opensuse-kubic+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-kubic+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups