mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-22 18:00:35 +00:00
Add qcow2 as a disk backend for KVM
This allows to build an image with qcow2 as a disk backend. The update implements a new class that inherits from QEMUVolume and just needs the extention and file format.
This commit is contained in:
parent
3e5c94f0d4
commit
cc69173e52
6 changed files with 38 additions and 4 deletions
|
@ -26,6 +26,7 @@ def load_volume(data, bootloader):
|
|||
from bootstrapvz.common.fs.virtualmachinedisk import VirtualMachineDisk
|
||||
from bootstrapvz.common.fs.folder import Folder
|
||||
from bootstrapvz.common.fs.logicalvolume import LogicalVolume
|
||||
from bootstrapvz.common.fs.qcow2volume import Qcow2Volume
|
||||
volume_backing = {'raw': LoopbackVolume,
|
||||
's3': LoopbackVolume,
|
||||
'vdi': VirtualDiskImage,
|
||||
|
@ -33,7 +34,8 @@ def load_volume(data, bootloader):
|
|||
'vmdk': VirtualMachineDisk,
|
||||
'ebs': EBSVolume,
|
||||
'folder': Folder,
|
||||
'lvm': LogicalVolume
|
||||
'lvm': LogicalVolume,
|
||||
'qcow2': Qcow2Volume
|
||||
}.get(data['backing'])
|
||||
|
||||
# Instantiate the partition map
|
||||
|
|
7
bootstrapvz/common/fs/qcow2volume.py
Normal file
7
bootstrapvz/common/fs/qcow2volume.py
Normal file
|
@ -0,0 +1,7 @@
|
|||
from qemuvolume import QEMUVolume
|
||||
|
||||
|
||||
class Qcow2Volume(QEMUVolume):
|
||||
|
||||
extension = 'qcow2'
|
||||
qemu_format = 'qcow2'
|
|
@ -6,7 +6,7 @@ virtual images for Linux Kernel-based Virtual Machines. It supports the
|
|||
installation of `virtio kernel
|
||||
modules <http://www.linux-kvm.org/page/Virtio>`__ (paravirtualized
|
||||
drivers for IO operations).
|
||||
It also supports creating an image with LVM as a disk backend.
|
||||
It also supports creating an image with LVM and qcow2 as a disk backend.
|
||||
|
||||
Manifest settings
|
||||
-----------------
|
||||
|
|
|
@ -33,6 +33,7 @@ properties:
|
|||
backing:
|
||||
type: string
|
||||
enum:
|
||||
- qcow2
|
||||
- raw
|
||||
- lvm
|
||||
logicalvolume: {type: string}
|
||||
|
|
|
@ -276,7 +276,7 @@ boot, root and swap.
|
|||
|
||||
- ``backing``: Specifies the volume backing. This setting is very
|
||||
provider specific.
|
||||
Valid values: ``ebs``, ``s3``, ``vmdk``, ``vdi``, ``raw``
|
||||
Valid values: ``ebs``, ``s3``, ``vmdk``, ``vdi``, ``raw``, ``qcow2``, ``lvm``
|
||||
``required``
|
||||
- ``partitions``: A map of the partitions that should be created on
|
||||
the volume.
|
||||
|
|
24
manifests/examples/kvm/jessie-qcow2.yml
Normal file
24
manifests/examples/kvm/jessie-qcow2.yml
Normal file
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
name: debian-qcow2-example
|
||||
provider:
|
||||
name: kvm
|
||||
bootstrapper:
|
||||
workspace: /target
|
||||
system:
|
||||
release: jessie
|
||||
architecture: amd64
|
||||
bootloader: grub
|
||||
charmap: UTF-8
|
||||
locale: en_US
|
||||
timezone: UTC
|
||||
volume:
|
||||
backing: qcow2
|
||||
partitions:
|
||||
type: gpt
|
||||
root:
|
||||
filesystem: ext4
|
||||
size: 1GB
|
||||
packages: {}
|
||||
plugins:
|
||||
root_password:
|
||||
password: test
|
Loading…
Add table
Reference in a new issue