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