Hello community, here is the log from the commit of package tuned for openSUSE:Factory checked in at 2015-08-19 09:29:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tuned (Old) and /work/SRC/openSUSE:Factory/.tuned.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tuned" Changes: -------- --- /work/SRC/openSUSE:Factory/tuned/tuned.changes 2015-08-05 06:50:11.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.tuned.new/tuned.changes 2015-08-19 09:29:39.000000000 +0200 @@ -1,0 +2,11 @@ +Mon Aug 17 16:10:42 UTC 2015 - [email protected] + +- Update to 2.5.1 + * plugin_scheduler: work with nohz_full (rhbz#1247184) + * fixed realtime-virtual-guest/host profiles packaged twice + (rhbz#1249028) + * fixed requirements of realtime and nfv profiles + * fixed tuned-gui not starting (boo#937647) + * various other minor fixes + +------------------------------------------------------------------- Old: ---- tuned-2.5.0.tar.bz2 New: ---- tuned-2.5.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tuned.spec ++++++ --- /var/tmp/diff_new_pack.sWWxce/_old 2015-08-19 09:29:40.000000000 +0200 +++ /var/tmp/diff_new_pack.sWWxce/_new 2015-08-19 09:29:40.000000000 +0200 @@ -18,7 +18,7 @@ %{!?_tmpfilesdir:%global _tmpfilesdir %{_libexecdir}/tmpfiles.d} Name: tuned -Version: 2.5.0 +Version: 2.5.1 Release: 0 Summary: A dynamic adaptive system tuning daemon License: GPL-2.0+ ++++++ fix-allow-receive_sender-default.patch ++++++ --- /var/tmp/diff_new_pack.sWWxce/_old 2015-08-19 09:29:40.000000000 +0200 +++ /var/tmp/diff_new_pack.sWWxce/_new 2015-08-19 09:29:40.000000000 +0200 @@ -1,7 +1,7 @@ -Index: tuned-2.5.0/dbus.conf +Index: tuned-2.5.1/dbus.conf =================================================================== ---- tuned-2.5.0.orig/dbus.conf -+++ tuned-2.5.0/dbus.conf +--- tuned-2.5.1.orig/dbus.conf ++++ tuned-2.5.1/dbus.conf @@ -9,7 +9,6 @@ <busconfig> <policy context="default"> ++++++ tuned-2.4.0-use_cpupower_for_intel_perf_bias.patch ++++++ --- /var/tmp/diff_new_pack.sWWxce/_old 2015-08-19 09:29:40.000000000 +0200 +++ /var/tmp/diff_new_pack.sWWxce/_new 2015-08-19 09:29:40.000000000 +0200 @@ -1,7 +1,7 @@ -Index: tuned-2.5.0/tuned/plugins/plugin_cpu.py +Index: tuned-2.5.1/tuned/plugins/plugin_cpu.py =================================================================== ---- tuned-2.5.0.orig/tuned/plugins/plugin_cpu.py -+++ tuned-2.5.0/tuned/plugins/plugin_cpu.py +--- tuned-2.5.1.orig/tuned/plugins/plugin_cpu.py ++++ tuned-2.5.1/tuned/plugins/plugin_cpu.py @@ -108,7 +108,8 @@ class CPULatencyPlugin(base.Plugin): # Check for cpupower, use workaround if not available self._check_cpupower() ++++++ tuned-2.5.0.tar.bz2 -> tuned-2.5.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/AUTHORS new/tuned-2.5.1/AUTHORS --- old/tuned-2.5.0/AUTHORS 2015-05-04 11:06:33.000000000 +0200 +++ new/tuned-2.5.1/AUTHORS 2015-07-31 16:33:21.000000000 +0200 @@ -1,14 +1,17 @@ +Maintainers: +- Jaroslav Škarvada <[email protected]> + Based on old tuned/ktune code by: - Philip Knirsch - Thomas Woerner Significant contributors: -- Jan Vcelak -- Jan Kaluza -- Jaroslav Skarvada +- Jan Včelák +- Jan Kaluža Other contributors: - Petr Lautrbach -- Marcela Maslanova +- Marcela Mašláňová - Jarod Wilson -- Jan Hutar +- Jan Hutař +- Arnaldo Carvalho de Melo <[email protected]> - perf code for plugin_scheduler diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/man/tuned.conf.5 new/tuned-2.5.1/man/tuned.conf.5 --- old/tuned-2.5.0/man/tuned.conf.5 2015-05-04 11:06:33.000000000 +0200 +++ new/tuned-2.5.1/man/tuned.conf.5 2015-07-09 16:17:37.000000000 +0200 @@ -29,7 +29,14 @@ .TP type= -Plugin type. Currently there are following plugins: disk, script, net, cpu, eeepc_she. +Plugin type. Currently there are following upstream plugins: audio, bootloader, cpu, disk, +eeepc_she, mounts, net script, selinux, scheduler, sysctl, sysfs, usb, video, vm. This +list may be incomplete. If you installed tuned through RPM you can list upstream plugins by +the following command: +.B rpm -ql tuned | grep 'plugins/plugin_.*.py$' +Check the plugins directory returned by this command to see all plugins (e.g. plugins +provided by 3rd party packages). + .TP devices= Comma separated list of devices which should be tuned by this plugin instance. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/profiles/realtime-virtual-host/script.sh new/tuned-2.5.1/profiles/realtime-virtual-host/script.sh --- old/tuned-2.5.0/profiles/realtime-virtual-host/script.sh 2015-07-01 16:35:23.000000000 +0200 +++ new/tuned-2.5.1/profiles/realtime-virtual-host/script.sh 2015-07-24 11:06:29.000000000 +0200 @@ -35,7 +35,7 @@ if [ -f $ltanfile -a ! -f ./lapic_timer_adv_ns ]; then - if [ -f ./tscdeadline_latency.flat ]; then + if [ -f /usr/share/qemu-kvm/tscdeadline_latency.flat ]; then tempdir=`mktemp -d` isolatedcpu=`echo "$TUNED_isolated_cores_expanded" | cut -f 1 -d ","` sh ./run-tscdeadline-latency.sh $isolatedcpu > $tempdir/lat.out diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/recommend.conf new/tuned-2.5.1/recommend.conf --- old/tuned-2.5.0/recommend.conf 2015-06-10 16:50:23.000000000 +0200 +++ new/tuned-2.5.1/recommend.conf 2015-07-31 18:28:22.000000000 +0200 @@ -1,15 +1,34 @@ # Tuned rules for recommend_profile. # # The 'virt' RE matches virt-what output. -# The 'system' RE matches /etc/system-release-cpe. -# If starting with / it means path to file which content needs to match RE, -# e.g. '/etc/passwd=.+' -# If file not exists, no RE will match. +# The 'system' RE matches content of /etc/system-release-cpe. # -# Al 'virt', 'system' and files needs to match for profile to match. +# If the parameter starts with '/' it means path to file which content is +# checked, e.g.: +# /etc/passwd=.+ +# If file doesn't exist, its RE will not match. +# +# Al 'virt', 'system' and files have to match for profile to match. # If 'virt' or 'system' is not specified, it matches for every string. # If 'virt' or 'system' is empty, i.e. 'virt=', it matches only empty string (alias for '^$'). # If several profiles matched, the first match is taken. +# +# Limitation: +# Each profile can be specified only once, because there cannot be +# multiple sections in the configuration file with the same name +# (ConfigObj limitation). +# If there is a need to specify the profile multiple times, unique +# suffix like ',ANYSTRING' can be used. Everything after the last ',' +# is stripped by the parser, e.g.: +# +# [balanced,1] +# /FILE1=RE1 +# +# [balanced,2] +# /FILE2=RE2 +# +# This will set 'balanced' profile in case there is FILE1 matching RE1 or +# FILE2 matching RE2 or both. [atomic-host] virt= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned/admin/admin.py new/tuned-2.5.1/tuned/admin/admin.py --- old/tuned-2.5.0/tuned/admin/admin.py 2015-07-02 16:20:26.000000000 +0200 +++ new/tuned-2.5.1/tuned/admin/admin.py 2015-07-10 16:41:03.000000000 +0200 @@ -76,7 +76,7 @@ if profile_name in profiles_locator(consts.LOAD_DIRECTORIES).get_known_names(): if self._cmd.write_to_file(consts.ACTIVE_PROFILE_FILE, profile_name): print "Trying to (re)start tuned..." - (ret, out) = commands.execute(["service", "tuned", "restart"]) + (ret, out) = self._cmd.execute(["service", "tuned", "restart"]) if retcode == 0: print "Tuned (re)started, changes applied." else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned/gtk/gui_plugin_loader.py new/tuned-2.5.1/tuned/gtk/gui_plugin_loader.py --- old/tuned-2.5.0/tuned/gtk/gui_plugin_loader.py 2015-06-04 13:51:23.000000000 +0200 +++ new/tuned-2.5.1/tuned/gtk/gui_plugin_loader.py 2015-07-09 17:18:59.000000000 +0200 @@ -79,8 +79,10 @@ hardware_inventory, device_matcher, plugin_instance_factory, - self._set_loader_parameters(), + None, + None ) + self._set_loader_parameters(), self.create_all(self._import_plugin_names()) @property diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned/plugins/plugin_bootloader.py new/tuned-2.5.1/tuned/plugins/plugin_bootloader.py --- old/tuned-2.5.0/tuned/plugins/plugin_bootloader.py 2015-06-29 14:20:28.000000000 +0200 +++ new/tuned-2.5.1/tuned/plugins/plugin_bootloader.py 2015-07-24 13:47:54.000000000 +0200 @@ -61,20 +61,20 @@ def _grub2_cfg_unpatch(self, grub2_cfg): log.debug("unpatching grub.cfg") cfg = re.sub(r"^\s*set\s+" + consts.GRUB2_TUNED_VAR + "\s*=.*\n", "", grub2_cfg, flags = re.MULTILINE) - grub2_cfg = re.sub(r"\$" + consts.GRUB2_TUNED_VAR, "", cfg, flags = re.MULTILINE) + grub2_cfg = re.sub(r" *\$" + consts.GRUB2_TUNED_VAR, "", cfg, flags = re.MULTILINE) cfg = re.sub(consts.GRUB2_TEMPLATE_HEADER_BEGIN + r"\n", "", grub2_cfg, flags = re.MULTILINE) - return re.sub(consts.GRUB2_TEMPLATE_HEADER_END + r"\n", "", cfg, flags = re.MULTILINE) + return re.sub(consts.GRUB2_TEMPLATE_HEADER_END + r"\n+", "", cfg, flags = re.MULTILINE) def _grub2_cfg_patch_initial(self, grub2_cfg, value): log.debug("initial patching of grub.cfg") cfg = re.sub(r"^(\s*###\s+END\s+[^#]+/00_header\s+### *)\n", r"\1\n\n" + consts.GRUB2_TEMPLATE_HEADER_BEGIN + "\nset " + - consts.GRUB2_TUNED_VAR + "=\"" + str(value) + "\"\n" + consts.GRUB2_TEMPLATE_HEADER_END, grub2_cfg, flags = re.MULTILINE) + consts.GRUB2_TUNED_VAR + "=\"" + str(value) + "\"\n" + consts.GRUB2_TEMPLATE_HEADER_END + r"\n", grub2_cfg, flags = re.MULTILINE) # add tuned parameters to all kernels - grub2_cfg = re.sub(r"^(\s*linux(16|efi)\s+.*)$", r"\1 $" + consts.GRUB2_TUNED_VAR, cfg, flags = re.MULTILINE) + grub2_cfg = re.sub(r"^(\s*linux(16|efi)?\s+.*)$", r"\1 $" + consts.GRUB2_TUNED_VAR, cfg, flags = re.MULTILINE) # remove tuned parameters from rescue kernels - cfg = re.sub(r"^(\s*linux(?:16|efi)\s+\S+rescue.*)\$" + consts.GRUB2_TUNED_VAR + r" *(.*)$", r"\1\2", grub2_cfg, flags = re.MULTILINE) + cfg = re.sub(r"^(\s*linux(?:16|efi)?\s+\S+rescue.*)\$" + consts.GRUB2_TUNED_VAR + r" *(.*)$", r"\1\2", grub2_cfg, flags = re.MULTILINE) # fix whitespaces in rescue kernels - return re.sub(r"^(\s*linux(?:16|efi)\s+\S+rescue.*) +$", r"\1", cfg, flags = re.MULTILINE) + return re.sub(r"^(\s*linux(?:16|efi)?\s+\S+rescue.*) +$", r"\1", cfg, flags = re.MULTILINE) def _grub2_default_env_patch(self): grub2_default_env = self._cmd.read_file(consts.GRUB2_DEFAULT_ENV_FILE) @@ -85,7 +85,7 @@ if re.search(r"^[^#]*\bGRUB_CMDLINE_LINUX_DEFAULT\s*=.*\\\$" + consts.GRUB2_TUNED_VAR + r"\b.*$", grub2_default_env, flags = re.MULTILINE) is None: log.debug("patching '%s'" % consts.GRUB2_DEFAULT_ENV_FILE) self._cmd.write_to_file(consts.GRUB2_DEFAULT_ENV_FILE, - grub2_default_env + "GRUB_CMDLINE_LINUX_DEFAULT=\"$GRUB_CMDLINE_LINUX_DEFAULT " + r"\$" + consts.GRUB2_TUNED_VAR + "\"\n") + grub2_default_env + "GRUB_CMDLINE_LINUX_DEFAULT=\"${GRUB_CMDLINE_LINUX_DEFAULT:+$GRUB_CMDLINE_LINUX_DEFAULT }" + r"\$" + consts.GRUB2_TUNED_VAR + "\"\n") return True def _grub2_cfg_patch(self, value): @@ -105,6 +105,9 @@ self._grub2_default_env_patch() return True + def _unquote(self, v): + return re.sub("^\"(.*)\"$", r"\1", v) + @command_custom("grub2_cfg_file") def _grub2_cfg_file(self, enabling, value, verify): # nothing to verify @@ -115,7 +118,7 @@ @command_custom("cmdline", per_device = False, priority = 10) def _cmdline(self, enabling, value, verify): - v = self._variables.expand(value) + v = self._variables.expand(self._unquote(value)) if verify: cmdline = self._cmd.read_file("/proc/cmdline") if len(cmdline) == 0: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned/plugins/plugin_scheduler.py new/tuned-2.5.1/tuned/plugins/plugin_scheduler.py --- old/tuned-2.5.0/tuned/plugins/plugin_scheduler.py 2015-07-05 22:28:12.000000000 +0200 +++ new/tuned-2.5.1/tuned/plugins/plugin_scheduler.py 2015-07-31 16:18:56.000000000 +0200 @@ -1,3 +1,6 @@ +# perf code borrowed from kernel/tools/perf/python/twatch.py +# thanks to Arnaldo Carvalho de Melo <[email protected]> + import base from decorators import * import tuned.logs @@ -60,7 +63,9 @@ try: instance._cpus = perf.cpu_map() instance._threads = perf.thread_map() - evsel = perf.evsel(task = 1, comm = 1, mmap = 0, + evsel = perf.evsel(type = perf.TYPE_SOFTWARE, + config = perf.COUNT_SW_DUMMY, + task = 1, comm = 1, mmap = 0, freq = 0, wakeup_events = 1, watermark = 1, sample_type = perf.SAMPLE_TID | perf.SAMPLE_CPU) evsel.open(cpus = instance._cpus, threads = instance._threads) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned/profiles/functions/function_exec.py new/tuned-2.5.1/tuned/profiles/functions/function_exec.py --- old/tuned-2.5.0/tuned/profiles/functions/function_exec.py 2015-06-05 15:09:49.000000000 +0200 +++ new/tuned-2.5.1/tuned/profiles/functions/function_exec.py 2015-07-14 16:52:20.000000000 +0200 @@ -3,13 +3,13 @@ import base from tuned.utils.commands import commands -class s2kb(base.Function): +class execute(base.Function): """ Conversion function: sectors to kbytes """ def __init__(self): # unlimited number of arguments, min 1 argument (the name of executable) - super(self.__class__, self).__init__("s2kb", 0, 1) + super(self.__class__, self).__init__("exec", 0, 1) def execute(self, args): if not super(self.__class__, self).execute(args): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned/utils/commands.py new/tuned-2.5.1/tuned/utils/commands.py --- old/tuned-2.5.0/tuned/utils/commands.py 2015-07-05 22:15:30.000000000 +0200 +++ new/tuned-2.5.1/tuned/utils/commands.py 2015-07-31 18:24:47.000000000 +0200 @@ -3,7 +3,7 @@ import copy import os import tuned.consts as consts -from configobj import ConfigObj +from configobj import ConfigObj, ConfigObjError import re from subprocess import * @@ -231,25 +231,31 @@ profile = consts.DEFAULT_PROFILE if hardcoded: return profile + r = re.compile(r",[^,]*$") for f in consts.LOAD_DIRECTORIES: - config = ConfigObj(os.path.join(f, consts.AUTODETECT_FILE), list_values = False, interpolation = False) - for section in reversed(config.keys()): - match = True - for option in config[section].keys(): - value = config[section][option] - if value == "": - value = r"^$" - if option == "virt": - if not re.match(value, self.execute("virt-what")[1], re.S): - match = False - elif option == "system": - if not re.match(value, self.read_file(consts.SYSTEM_RELEASE_FILE), re.S): - match = False - elif option[0] == "/": - if not os.path.exists(option) or not re.match(value, self.read_file(option), re.S): - match = False - if match: - profile = section + try: + fname = os.path.join(f, consts.AUTODETECT_FILE) + config = ConfigObj(fname, list_values = False, interpolation = False) + for section in reversed(config.keys()): + match = True + for option in config[section].keys(): + value = config[section][option] + if value == "": + value = r"^$" + if option == "virt": + if not re.match(value, self.execute("virt-what")[1], re.S): + match = False + elif option == "system": + if not re.match(value, self.read_file(consts.SYSTEM_RELEASE_FILE), re.S): + match = False + elif option[0] == "/": + if not os.path.exists(option) or not re.match(value, self.read_file(option), re.S): + match = False + if match: + # remove the ",.*" suffix + profile = r.sub("", section) + except (IOError, OSError, ConfigObjError) as e: + log.error("error parsing '%s', %s" % (fname, e)) return profile # Do not make balancing on patched Python 2 interpreter (rhbz#1028122). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned/version.py new/tuned-2.5.1/tuned/version.py --- old/tuned-2.5.0/tuned/version.py 2015-07-05 23:02:05.000000000 +0200 +++ new/tuned-2.5.1/tuned/version.py 2015-08-04 09:00:32.000000000 +0200 @@ -1,3 +1,3 @@ TUNED_VERSION_MAJOR = 2 TUNED_VERSION_MINOR = 5 -TUNED_VERSION_PATCH = 0 +TUNED_VERSION_PATCH = 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned-adm.bash new/tuned-2.5.1/tuned-adm.bash --- old/tuned-2.5.0/tuned-adm.bash 2015-05-04 11:06:33.000000000 +0200 +++ new/tuned-2.5.1/tuned-adm.bash 2015-07-10 16:00:13.000000000 +0200 @@ -2,7 +2,7 @@ _tuned_adm() { - local commands="active list off profile recommend" + local commands="active list off profile recommend verify" local cur prev words cword _init_completion || return diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned-gui.py new/tuned-2.5.1/tuned-gui.py --- old/tuned-2.5.0/tuned-gui.py 2015-06-10 15:27:36.000000000 +0200 +++ new/tuned-2.5.1/tuned-gui.py 2015-07-09 17:11:31.000000000 +0200 @@ -40,6 +40,7 @@ import tuned.gtk.gui_profile_loader import tuned.gtk.gui_plugin_loader import tuned.profiles.profile as profile +import tuned.utils.global_config from tuned.utils.commands import commands from tuned.gtk.managerException import ManagerException @@ -97,7 +98,7 @@ self._cmd = commands(debug) - self.config = GlobalConfig() + self.config = tuned.utils.global_config.GlobalConfig() self.builder = Gtk.Builder() try: self.builder.add_from_file(GLADEUI) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tuned-2.5.0/tuned.spec new/tuned-2.5.1/tuned.spec --- old/tuned-2.5.0/tuned.spec 2015-07-05 23:01:36.000000000 +0200 +++ new/tuned-2.5.1/tuned.spec 2015-08-04 09:09:11.000000000 +0200 @@ -10,7 +10,7 @@ Summary: A dynamic adaptive system tuning daemon Name: tuned -Version: 2.5.0 +Version: 2.5.1 Release: 1%{?with_snapshot:.%{git_suffix}}%{?dist} License: GPLv2+ Source: https://fedorahosted.org/releases/t/u/tuned/tuned-%{version}.tar.bz2 @@ -31,9 +31,11 @@ power saving modes to adapt to the current usage. Currently only ethernet network and ATA harddisk devices are implemented. -%if 0%{?rhel} <= 7 +%if 0%{?rhel} <= 7 && 0%{!?fedora:1} +# RHEL <= 7 %global docdir %{_docdir}/%{name}-%{version} %else +# RHEL > 7 || fedora %global docdir %{_docdir}/%{name} %endif @@ -97,6 +99,7 @@ %package profiles-realtime Summary: Additional tuned profile(s) targeted to realtime Requires: %{name} = %{version}-%{release} +Requires: tuna %description profiles-realtime Additional tuned profile(s) targeted to realtime. @@ -104,6 +107,7 @@ %package profiles-nfv Summary: Additional tuned profile(s) targeted to Network Function Virtualization (NFV) Requires: %{name} = %{version}-%{release}, %{name}-profiles-realtime = %{version}-%{release} +Requires: tuna, qemu-kvm-tools-rhev %description profiles-nfv Additional tuned profile(s) targeted to Network Function Virtualization (NFV). @@ -202,6 +206,8 @@ %exclude %{_prefix}/lib/tuned/atomic-host %exclude %{_prefix}/lib/tuned/atomic-guest %exclude %{_prefix}/lib/tuned/realtime +%exclude %{_prefix}/lib/tuned/realtime-virtual-guest +%exclude %{_prefix}/lib/tuned/realtime-virtual-host %{_prefix}/lib/tuned %dir %{_sysconfdir}/tuned %dir %{_libexecdir}/tuned @@ -294,6 +300,17 @@ %{_mandir}/man7/tuned-profiles-compat.7* %changelog +* Tue Aug 4 2015 Jaroslav Škarvada <[email protected]> - 2.5.1-1 +- new-release + related: rhbz#1155052 + - plugin_scheduler: work with nohz_full + resolves: rhbz#1247184 + - fixed realtime-virtual-guest/host profiles packaged twice + resolves: rhbz#1249028 + - fixed requirements of realtime and nfv profiles + - fixed tuned-gui not starting + - various other minor fixes + * Sun Jul 5 2015 Jaroslav Škarvada <[email protected]> - 2.5.0-1 - new-release resolves: rhbz#1155052
