Skip to content

Commit

Permalink
[WIP]: use quay.io qm - kvm
Browse files Browse the repository at this point in the history
Signed-off-by: Douglas Schilling Landgraf <[email protected]>
Signed-off-by: Yariv Rachmani <[email protected]>
  • Loading branch information
dougsland committed Nov 16, 2024
1 parent e2ad952 commit 7a04e82
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 0 deletions.
4 changes: 4 additions & 0 deletions rpm/qm.spec
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,9 @@ install -d %{buildroot}%{_sysconfdir}/qm/containers/containers.conf.d
# START - qm dropin sub-package - mount kvm #
########################################################
%if %{enable_qm_mount_bind_kvm}
# first step - add drop-in file in /etc/containers/containers.d.conf/qm_dropin_mount_bind_snd.conf
# to QM container mount bind /dev/snd
install -m 644 %{_builddir}/qm-%{version}/subsystems/kvm/kvm.container %{buildroot}%{rootfs_qm}%{_sysconfdir}/containers/systemd/kvm.container
# first step - add drop-in file in /etc/containers/containers.d.conf/qm_dropin_mount_bind_kvm.conf
# to QM container mount bind /dev/kvm
install -m 644 %{_builddir}/qm-%{version}/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_kvm.conf %{buildroot}%{_sysconfdir}/containers/containers.conf.d/qm_dropin_mount_bind_kvm.conf
Expand Down Expand Up @@ -500,6 +503,7 @@ additional drop-in configurations.
%files -n qm_mount_bind_kvm
%{_sysconfdir}/containers/containers.conf.d/qm_dropin_mount_bind_kvm.conf
%{_sysconfdir}/qm/containers/containers.conf.d/qm_dropin_mount_bind_kvm.conf
%{rootfs_qm}%{_sysconfdir}/containers/systemd/kvm.container
%endif

#######################################
Expand Down
32 changes: 32 additions & 0 deletions subsystems/kvm/ContainerFile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# ContainerFile used to create the image available at quay.io/qm-images/kvm:latest
#
# How to build
# ==================
# podman login quay.io
# podman build -t quay.io/qm-images/kvm:latest -f ContainerFile
# podman push quay.io/qm-images/kvm:latest
FROM fedora:latest

ENV PASSWORD_FEDORA_USER=fedora

RUN dnf -y install virt-install \
libvirt-daemon \
libvirt-daemon-qemu \
libvirt-daemon-kvm \
libvirt-daemon-config-network \
guestfs-tools \
wget \
vim -y \
&& dnf clean all && rm -rf /var/cache/dnf

RUN wget -O /var/lib/libvirt/images/Fedora-Cloud-Base-Generic.qcow2 https://cofractal-ewr.mm.fcix.net/fedora/linux/releases/41/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-41-1.4.x86_64.qcow2

# Set fedora user pass as fedora
RUN export LIBGUESTFS_BACKEND=direct && \
virt-customize -a /var/lib/libvirt/images/Fedora-Cloud-Base-Generic.qcow2 --password fedora:password:$PASSWORD_FEDORA_USER

# Permission to qemu user/group
RUN chown qemu:qemu /var/lib/libvirt/images/Fedora-Cloud-Base-Generic.qcow2

# Set systemd as the init system for the container
ENTRYPOINT ["/usr/sbin/init"]
9 changes: 9 additions & 0 deletions subsystems/kvm/kvm.container
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[Unit]
Description=kvm Container
After=network.target

[Container]
Image=quay.io/qm-images/kvm:latest

[Install]
WantedBy=multi-user.target

0 comments on commit 7a04e82

Please sign in to comment.