Fix: jsonnet syntax
All checks were successful
Build package / build-package (push) Successful in 28s

This commit is contained in:
2024-12-16 21:33:51 +08:00
parent 9615477165
commit c3d4e9a557
3 changed files with 39 additions and 60 deletions

View File

@@ -1,6 +1,6 @@
# Maintainer: Yi-Ting Shih <ytshih@it.cs.nycu.edu.tw>
pkgname=vm
pkgver=1.0.0rc2
pkgver=1.0.0rc3
pkgrel=1
pkgdesc="A QEMU VM management tool"
arch=("x86_64")

View File

@@ -1,35 +1,12 @@
import 'qemu.libsonnet';
local qemu = import 'qemu.libsonnet';
{
[obj.name]:
default(obj.name)
+ resource(obj.cpu, obj.ram)
+ net(obj.mac)
+ monitor(obj.mac)
qemu.default(obj.name)
+ qemu.resource(obj.cpu, obj.ram)
+ qemu.net(obj.mac)
+ qemu.monitor(obj.mac)
for obj in [
{
name: 'k0scontroller' + i,
cpu: 2,
ram: '2G',
mac: '08:00:00:20:01:1' + i,
}
for i in std.range(1, 3)
] + [
{
name: 'k0sworker' + i,
cpu: 4,
ram: '4G',
mac: '08:00:00:20:01:2' + i,
}
for i in std.range(1, 3)
] + [
{
name: 'ostest',
cpu: 4,
ram: '8G',
mac: '08:00:00:20:01:73',
},
] + [
{
name: 'test' + i,
cpu: 1,

View File

@@ -1,37 +1,39 @@
local default(name) = [
'-enable-kvm',
'-cpu host',
'-drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.4m.fd',
'-drive if=pflash,format=raw,file=pflash/' + name + '.4m.fd',
'-drive file=img/' + name + '.qcow2,format=qcow2',
];
{
default(name):: [
'-enable-kvm',
'-cpu host',
'-drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.4m.fd',
'-drive if=pflash,format=raw,file=pflash/' + name + '.4m.fd',
'-drive file=img/' + name + '.qcow2,format=qcow2',
],
local resource(cpu, ram) = [
'-smp ' + cpu + ',sockets=1',
'-m ' + ram,
];
resource(cpu, ram):: [
'-smp ' + cpu + ',sockets=1',
'-m ' + ram,
],
local monitor(mac) = [
'-monitor telnet:localhost:2' + std.split(mac, ':')[4] + std.split(mac, ':')[5] + ',server,nowait,nodelay',
];
monitor(mac):: [
'-monitor telnet:localhost:2' + std.split(mac, ':')[4] + std.split(mac, ':')[5] + ',server,nowait,nodelay',
],
local net(mac, area='test') = [
'-nic bridge,br=' + area + ',mac=' + mac,
];
net(mac, area='test'):: [
'-nic bridge,br=' + area + ',mac=' + mac,
],
local spice() = [
'-vga virtio',
'-device virtio-serial-pci',
'-spice port=5555,disable-ticketing=on',
'-device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0',
'-chardev spicevmc,id=spicechannel0,name=vdagent',
];
spice():: [
'-vga virtio',
'-device virtio-serial-pci',
'-spice port=5555,disable-ticketing=on',
'-device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0',
'-chardev spicevmc,id=spicechannel0,name=vdagent',
],
local vnc(display=0) = [
'-vnc :' + display,
];
vnc(display=0):: [
'-vnc :' + display,
],
local iso(file) = [
'-boot d',
'-cdrom ' + file,
];
iso(file):: [
'-boot d',
'-cdrom ' + file,
],
}