[pve-devel] rfc : qemu fw_cfg as alternative to cloudinit

Thomas Lamprecht t.lamprecht at proxmox.com
Fri Oct 6 12:31:28 CEST 2017


On 10/04/2017 10:31 AM, Alexandre DERUMIER wrote:
>>> I saw this pop up on qemu-devel and edk2 (OVMF) devel here and there 
>>> but never looked really specific at that time. 
>>> It could be promising, IMO. To allow it to work we need more current 
>>> OVMF images, but those are already underway :) 
> 
> great :)  
> 

With a bit of luck we get them into PVE 5.1. 

> 
>>> Side question out of interest, whats your specific use for kubernetes/rancher? 
> 
> I'll be to deploy php application (stateless) in production for our company.
> Not yet databases or statefull (I'm still afraid of docker ;).
> So we'll have a mix of database vm + vms hosting dockers in same vlans.
> Security will be done by vlan.  (Each website/application have his own vlan with databases vms + docker vms)
> 

Ah OK, thanks for the explanation.


>>> Anything that could also be integrated in our ha-manager? 
> 
> mmm, if we could have something magic, like auto create a new vm, if we detect that we don't have enough ressource on others vms.
> (maybe inside a pool, like we have a pool of 2vms, and we allow auto create up to 5vms  when theses 2vms are overloaded).
> But it's a complex task.
> 

Yes it is. How to calculate a load level can hardly be done
in a general way as there are so many factors and causes.

> 
>>> There are plans for basic (at first) load distribution of services with 
>>> the intend to make the ha-manager a general resource manager where 
>>> service can be ha-managed but also not. That this is not already done 
>>> is mostly my fault, duh - other things got in the way (as always). 
> 
> Well, some kind of auto balancing of vms from ressources usage (at least cpu) could be wonderfull !
> We have talked about this since years :)  
> 

I will try to finally bite this bullet and at least try
some initial simple version.

> 
> ----- Mail original -----
> De: "Thomas Lamprecht" <t.lamprecht at proxmox.com>
> À: "pve-devel" <pve-devel at pve.proxmox.com>, "aderumier" <aderumier at odiso.com>
> Envoyé: Mercredi 4 Octobre 2017 08:47:40
> Objet: Re: [pve-devel] rfc : qemu fw_cfg as alternative to cloudinit
> 
> Hi, 
> 
> On 10/04/2017 08:14 AM, Alexandre DERUMIER wrote: 
>> Hi, 
>>
>> I just discover a new qemu feature : qemu fw_cfg 
>>
>> http://www.contrib.andrew.cmu.edu/~somlo/QEMU_fw_cfg/ 
>>
> 
> Here the up-to-date specification: 
> <https://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/specs/fw_cfg.txt;h=08c00bdf44a2cca1064356470af2d5438d44e3c9;hb=HEAD> 
> 
>>
>> It's allow to add a custom firmware, from a host file 
>>
>> like "-fw_cfg name=opt/GuestInfo,file=/etc/pve/qemu-server/100.conf" , for example 
>>
>>
>> Then it's possible to read this file in guest in 
>>
>> "/sys/firmware/qemu_fw_cfg/by_name/opt/GuestInfo/raw" 
>>
>> This need a new module include in guest kernel 4.6 (CONFIG_FW_CFG_SYSFS), 
>> but the module is also available out of kernel tree here: 
>> http://www.contrib.andrew.cmu.edu/~somlo/QEMU_fw_cfg/qemu_fw_cfg_kmod.tgz 
>>
>> (really small, it's simply extend standard firmware , so it's work with old kernel too) 
>>
>> for windows, seem that they are working on it (https://bugzilla.redhat.com/show_bug.cgi?id=1375444) 
>>
>>
>> Advantage vs cloudinit: 
>>
>> - no need to pass cdrom, no extra pci device.(it's simply a firmware) 
>> - you can use it in initramfs. (format disk, do mount point,...) 
>>
>>
>> disavantage vs cloudinit: 
>>
>> - read only (you can change it after boot, but it's really for vm init) 
> 
> The writing part got reintroduced with QEMU 2.9, in another form, 
> your Article from above mentions that it was written during QEMU 2.6 
> release time so maybe even that could be done in some way (did not 
> tried it out) 
> 
>> - no daemon or standard to parse the config, you need to do it yourself. 
>> But coreos for example, have a projet "ignition", 
>> https://coreos.com/ignition/docs/latest/ 
>> which can use it (it's working in initramfs) 
>>
>>
>>
>> I think it should be possible to provide qemu linux distro template like lxc, format the disk in initramfs, do the mount point, deploy source for example. 
>> Maybe also provide initramfs to qemu with -initrd, with an integrated custom config parser,to format the disk, do the mountpoint, deploy the template,set ssh keys, .... 
>>
>> What do you think about it ? 
>>
> 
> I saw this pop up on qemu-devel and edk2 (OVMF) devel here and there 
> but never looked really specific at that time. 
> It could be promising, IMO. To allow it to work we need more current 
> OVMF images, but those are already underway :) 
> 
>>
>> ( 
>> I'm currently working on a terraform proxmox provider, to deploy vm, as we are looking to deploy Rancher next year (a kubernetes clusters managers), 
>> and I need to be able to create vm from outside proxmox, with ip configuration,hostname,...) 
>>
> 
> Side question out of interest, whats your specific use for kubernetes/rancher? 
> Anything that could also be integrated in our ha-manager? 
> There are plans for basic (at first) load distribution of services with 
> the intend to make the ha-manager a general resource manager where 
> service can be ha-managed but also not. That this is not already done 
> is mostly my fault, duh - other things got in the way (as always). 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 





More information about the pve-devel mailing list