From 9966ca2e852a6861c0b4228acc2f448e84492703 Mon Sep 17 00:00:00 2001 From: James Shubin Date: Fri, 1 Feb 2019 07:01:40 -0500 Subject: [PATCH] examples: Improve dynamic cpus virt example --- examples/lang/virt2.mcl | 53 +++++++++++++++++++++++++++++++++++++++++ misc/delta-cpu.sh | 24 ++----------------- 2 files changed, 55 insertions(+), 22 deletions(-) create mode 100644 examples/lang/virt2.mcl diff --git a/examples/lang/virt2.mcl b/examples/lang/virt2.mcl new file mode 100644 index 00000000..1d3f8106 --- /dev/null +++ b/examples/lang/virt2.mcl @@ -0,0 +1,53 @@ +# qemu-img create -b fedora-23.qcow2 -f qcow2 fedora-23-scratch.qcow2 + +import "fmt" +import "os" +import "strings" +import "example" + +$input = example.str2int(strings.trim_space(os.readfile("/tmp/cpu-count"))) +$count = if $input > 8 { + 8 +} else { + if $input < 1 { + 1 + } else { + $input + } +} + +file "/tmp/output" { + content => fmt.printf("requesting: %d cpus\n", $count), +} + +virt "mgmt4" { + uri => "qemu:///session", + cpus => $count, + maxcpus => 8, + memory => 524288, + state => "running", + transient => false, + boot => ["hd", ], + # can't add this part until we fix the unification bug + #disk => [ + # struct{ + # source => "~/.local/share/libvirt/images/fedora-23-scratch.qcow2", + # type => "qcow2", + # }, + #], + # add the rest for unification bug + #osinit => "", + #cdrom => [ + #], + #network => [ + #], + #filesystem => [ + #], + #auth => struct{ + # username => "", + # password => "", + #}, + #hotcpus => true, # this is the default + #restartondiverge => "", + #restartonrefresh => false, +} diff --git a/misc/delta-cpu.sh b/misc/delta-cpu.sh index 32fc0049..f0cafb81 100755 --- a/misc/delta-cpu.sh +++ b/misc/delta-cpu.sh @@ -7,28 +7,8 @@ count=1 # initial count factor=3 function output() { count=$1 # arg! -cat << EOF > ~/code/mgmt/examples/yaml/virt4.yaml ---- -graph: mygraph -resources: - virt: - - name: mgmt4 - meta: - limit: .inf - burst: 0 - uri: 'qemu:///session' - cpus: $count - maxcpus: $maximum - memory: 524288 - boot: - - hd - disk: - - type: qcow2 - source: "~/.local/share/libvirt/images/fedora-23-scratch.qcow2" - state: running - transient: false -edges: [] -comment: "qemu-img create -b fedora-23.qcow2 -f qcow2 fedora-23-scratch.qcow2" +cat << EOF > /tmp/cpu-count +$count EOF } #tput cuu 1 && tput el # remove last line