Change in vdsm[master]: Add MoM scripts to change disk QoS on running VM

akrejcir at redhat.com akrejcir at redhat.com
Tue Mar 1 11:58:18 UTC 2016


Andrej Krejcir has uploaded a new change for review.

Change subject: Add MoM scripts to change disk QoS on running VM
......................................................................

Add MoM scripts to change disk QoS on running VM

Change-Id: I72ba6460dee19cab443b8ee57791a8c876a0419b
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1201482
Signed-off-by: Andrej Krejcir <akrejcir at redhat.com>
---
M vdsm/Makefile.am
M vdsm/mom.conf.in
M vdsm/mom.d/00-defines.policy
A vdsm/mom.d/05-iotune.policy
4 files changed, 40 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/08/54208/1

diff --git a/vdsm/Makefile.am b/vdsm/Makefile.am
index 4f6de24..ccdc733 100644
--- a/vdsm/Makefile.am
+++ b/vdsm/Makefile.am
@@ -94,6 +94,7 @@
 	mom.d/02-balloon.policy \
 	mom.d/03-ksm.policy \
 	mom.d/04-cputune.policy \
+	mom.d/05-iotune.policy \
 	sourceRoute.sh \
 	sudoers.vdsm.in \
 	svdsm.logger.conf.in \
diff --git a/vdsm/mom.conf.in b/vdsm/mom.conf.in
index 4c57d8e..fbcb56a 100644
--- a/vdsm/mom.conf.in
+++ b/vdsm/mom.conf.in
@@ -25,7 +25,7 @@
 policy-engine-interval: 15
 
 # A comma-separated list of Controller plugins to enable
-controllers: Balloon, KSM, CpuTune
+controllers: Balloon, KSM, CpuTune, IoTune
 
 # Sets the maximum number of statistic samples to keep for the purpose of
 # calculating moving averages.
@@ -81,4 +81,4 @@
 
 [guest]
 # A comma-separated list of Collector plugins to use for Guest data collection.
-collectors: GuestQemuProc, GuestMemoryOptional, GuestBalloon, GuestCpuTune
+collectors: GuestQemuProc, GuestMemoryOptional, GuestBalloon, GuestCpuTune, GuestIoTune
diff --git a/vdsm/mom.d/00-defines.policy b/vdsm/mom.d/00-defines.policy
index 718cf04..206bb7a 100644
--- a/vdsm/mom.d/00-defines.policy
+++ b/vdsm/mom.d/00-defines.policy
@@ -8,4 +8,5 @@
 (defvar ksmEnabled 1)
 (defvar balloonEnabled 0)
 (defvar cpuTuneEnabled 1)
+(defvar ioTuneEnabled 1)
 
diff --git a/vdsm/mom.d/05-iotune.policy b/vdsm/mom.d/05-iotune.policy
new file mode 100644
index 0000000..3132986
--- /dev/null
+++ b/vdsm/mom.d/05-iotune.policy
@@ -0,0 +1,36 @@
+### Auto-IoTune ################################################################
+
+(defvar unlimited_io 0)
+
+### Helper functions
+(def set_io_limits (guest) {
+    (with guest.io_tune tune {
+        (defvar max_io tune.maximum)
+        (tune.setTotalBytesSec max_io.total_bytes_sec)
+        (tune.setReadBytesSec  max_io.read_bytes_sec)
+        (tune.setWriteBytesSec max_io.write_bytes_sec)
+
+        (tune.setTotalIopsSec max_io.total_iops_sec)
+        (tune.setReadIopsSec  max_io.read_iops_sec)
+        (tune.setWriteIopsSec max_io.write_iops_sec)
+    })
+})
+
+(def reset_io_limits (guest) {
+    (with guest.io_tune tune {
+        (tune.setTotalBytesSec unlimited_io)
+        (tune.setReadBytesSec  unlimited_io)
+        (tune.setWriteBytesSec unlimited_io)
+
+        (tune.setTotalIopsSec unlimited_io)
+        (tune.setReadIopsSec  unlimited_io)
+        (tune.setWriteIopsSec unlimited_io)
+    })
+})
+
+### Main Script
+(if (== True ioTuneEnabled) {
+    (with Guests guest (set_io_limits guest))
+}{
+    (with Guests guest (reset_io_limits guest))
+})
\ No newline at end of file


-- 
To view, visit https://gerrit.ovirt.org/54208
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I72ba6460dee19cab443b8ee57791a8c876a0419b
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Andrej Krejcir <akrejcir at redhat.com>


More information about the vdsm-patches mailing list