Hello community, here is the log from the commit of package rebootmgr for openSUSE:Factory checked in at 2017-03-04 16:37:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rebootmgr (Old) and /work/SRC/openSUSE:Factory/.rebootmgr.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rebootmgr" Sat Mar 4 16:37:53 2017 rev:3 rq:476781 version:0.12 Changes: -------- --- /work/SRC/openSUSE:Factory/rebootmgr/rebootmgr.changes 2017-02-28 23:51:13.475725673 +0100 +++ /work/SRC/openSUSE:Factory/.rebootmgr.new/rebootmgr.changes 2017-03-04 16:40:21.437088149 +0100 @@ -1,0 +2,10 @@ +Fri Mar 3 16:44:09 CET 2017 - ku...@suse.de + +- Update to version 0.12 + - Rewrote reboot code to not block dbus if we wait for etcd locks + [bsc#1026298] + - Fix rebootmgr.service dependencies + - Check input for maintenance window for correct syntax before + sending to the daemon [bsc#1026220] + +------------------------------------------------------------------- Old: ---- rebootmgr-0.11.tar.bz2 New: ---- rebootmgr-0.12.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rebootmgr.spec ++++++ --- /var/tmp/diff_new_pack.3GjxhA/_old 2017-03-04 16:40:21.897023026 +0100 +++ /var/tmp/diff_new_pack.3GjxhA/_new 2017-03-04 16:40:21.901022460 +0100 @@ -17,7 +17,7 @@ Name: rebootmgr -Version: 0.11 +Version: 0.12 Release: 0 Summary: Automatic controlled reboot during a maintenance window License: GPL-2.0 and LGPL-2.1+ ++++++ rebootmgr-0.11.tar.bz2 -> rebootmgr-0.12.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/NEWS new/rebootmgr-0.12/NEWS --- old/rebootmgr-0.11/NEWS 2017-02-27 17:42:31.000000000 +0100 +++ new/rebootmgr-0.12/NEWS 2017-03-03 16:40:10.000000000 +0100 @@ -2,6 +2,12 @@ Copyright (C) 2016, 2017 Thorsten Kukuk +Version 0.12 +* Rewrote reboot code to not block dbus if we wait for etcd locks [bsc#1026298] +* Fix rebootmgr.service dependencies +* Check input for maintenance window for correct syntax before sending + to the daemon [bsc#1026220] + Version 0.11 * Fix several bugs in etcd locking/unlocking diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/configure new/rebootmgr-0.12/configure --- old/rebootmgr-0.11/configure 2017-02-27 17:42:38.000000000 +0100 +++ new/rebootmgr-0.12/configure 2017-03-03 16:40:19.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for rebootmgr 0.11. +# Generated by GNU Autoconf 2.69 for rebootmgr 0.12. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ # Identity of this package. PACKAGE_NAME='rebootmgr' PACKAGE_TARNAME='rebootmgr' -PACKAGE_VERSION='0.11' -PACKAGE_STRING='rebootmgr 0.11' +PACKAGE_VERSION='0.12' +PACKAGE_STRING='rebootmgr 0.12' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1326,7 +1326,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures rebootmgr 0.11 to adapt to many kinds of systems. +\`configure' configures rebootmgr 0.12 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1396,7 +1396,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rebootmgr 0.11:";; + short | recursive ) echo "Configuration of rebootmgr 0.12:";; esac cat <<\_ACEOF @@ -1511,7 +1511,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rebootmgr configure 0.11 +rebootmgr configure 0.12 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1876,7 +1876,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rebootmgr $as_me 0.11, which was +It was created by rebootmgr $as_me 0.12, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2740,7 +2740,7 @@ # Define the identity of the package. PACKAGE='rebootmgr' - VERSION='0.11' + VERSION='0.12' cat >>confdefs.h <<_ACEOF @@ -8627,7 +8627,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rebootmgr $as_me 0.11, which was +This file was extended by rebootmgr $as_me 0.12, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8693,7 +8693,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -rebootmgr config.status 0.11 +rebootmgr config.status 0.12 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/configure.ac new/rebootmgr-0.12/configure.ac --- old/rebootmgr-0.11/configure.ac 2017-02-27 17:41:41.000000000 +0100 +++ new/rebootmgr-0.12/configure.ac 2017-03-03 16:37:38.000000000 +0100 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(rebootmgr, 0.11) +AC_INIT(rebootmgr, 0.12) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([src/rebootmgrd.c]) AM_CONFIG_HEADER(config.h) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/man/org.opensuse.RebootMgr.conf.8.html new/rebootmgr-0.12/man/org.opensuse.RebootMgr.conf.8.html --- old/rebootmgr-0.11/man/org.opensuse.RebootMgr.conf.8.html 2017-02-27 16:06:21.000000000 +0100 +++ new/rebootmgr-0.12/man/org.opensuse.RebootMgr.conf.8.html 2017-03-01 11:10:41.000000000 +0100 @@ -15,7 +15,7 @@ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink { visibility: visible; } - </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.10</span><hr><div class="refentry"><a name="rebootmgrd.8"></a><div class="titlepage"></div><div class="refnamediv"><a name="name"></a><h2>Name</h2><p>rebootmgrd, rebootmgr.service, org.opensuse.RebootMgr.conf — Reboot the machine during a maintenance window.</p></div><div class="refsynopsisdiv"><a name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">/usr/sbin/rebootmgrd</code> [ --debug | --help | --version ]</p></div><p><code class="filename">/usr/lib/systemd/system/rebootmgr.service</code></p><p><code class="filename">/etc/dbus-1/system.d/org.opensuse.RebootMgr.conf</code></p></div><div class="refsect1"><a name="description"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>To avoid that a whole cluster or a set of machines with the same task + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.11</span><hr><div class="refentry"><a name="rebootmgrd.8"></a><div class="titlepage"></div><div class="refnamediv"><a name="name"></a><h2>Name</h2><p>rebootmgrd, rebootmgr.service, org.opensuse.RebootMgr.conf — Reboot the machine during a maintenance window.</p></div><div class="refsynopsisdiv"><a name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">/usr/sbin/rebootmgrd</code> [ --debug | --help | --version ]</p></div><p><code class="filename">/usr/lib/systemd/system/rebootmgr.service</code></p><p><code class="filename">/etc/dbus-1/system.d/org.opensuse.RebootMgr.conf</code></p></div><div class="refsect1"><a name="description"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>To avoid that a whole cluster or a set of machines with the same task reboot at the same there, <span class="emphasis"><em>rebootmgrd</em></span> reboots the machine following configured policies.</p><div class="refsect2"><a name="reboot_strategy_options"></a><h3 id="Reboot Strategies">Reboot Strategies<a class="headerlink" title="Permalink to this headline" href="#Reboot%20Strategies">¶</a></h3><p> rebootmgr supports different strategies, when a reboot should be done: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/man/rebootmgr.conf.5 new/rebootmgr-0.12/man/rebootmgr.conf.5 --- old/rebootmgr-0.11/man/rebootmgr.conf.5 2017-02-27 16:06:21.000000000 +0100 +++ new/rebootmgr-0.12/man/rebootmgr.conf.5 2017-03-01 11:10:41.000000000 +0100 @@ -2,12 +2,12 @@ .\" Title: rebootmgr.conf .\" Author: Thorsten Kukuk <ku...@suse.com> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 02/27/2017 +.\" Date: 03/01/2017 .\" Manual: resolved.conf .\" Source: rebootmgr .\" Language: English .\" -.TH "REBOOTMGR\&.CONF" "5" "02/27/2017" "rebootmgr" "resolved.conf" +.TH "REBOOTMGR\&.CONF" "5" "03/01/2017" "rebootmgr" "resolved.conf" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/man/rebootmgr.conf.5.html new/rebootmgr-0.12/man/rebootmgr.conf.5.html --- old/rebootmgr-0.11/man/rebootmgr.conf.5.html 2017-02-27 16:06:21.000000000 +0100 +++ new/rebootmgr-0.12/man/rebootmgr.conf.5.html 2017-03-01 11:10:41.000000000 +0100 @@ -15,7 +15,7 @@ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink { visibility: visible; } - </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.10</span><hr><div class="refentry"><a name="rebootmgr.conf.5"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>rebootmgr.conf — Reboot Manager configuration files</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/rebootmgr.conf</code></p></div><div class="refsect1"><a name="id-1.5"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>These configuration file controls and defines the reboot policy for + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.11</span><hr><div class="refentry"><a name="rebootmgr.conf.5"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>rebootmgr.conf — Reboot Manager configuration files</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/rebootmgr.conf</code></p></div><div class="refsect1"><a name="id-1.5"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>These configuration file controls and defines the reboot policy for <a href="rebootmgrd.8.html"><span class="citerefentry"><span class="refentrytitle">rebootmgrd</span>(8)</span></a>.</p></div><div class="refsect1"><a name="id-1.6"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options">¶</a></h2><p>The following options are available in the "<code class="literal">rebootmgr</code>" section:</p><div class="variablelist"><dl class="variablelist"><dt id="window-start="><span class="term"><code class="varname">window-start=</code></span><a class="headerlink" title="Permalink to this term" href="#window-start=">¶</a></dt><dd><p> The format of <code class="varname">window-start</code> is the same as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/man/rebootmgr.index.html new/rebootmgr-0.12/man/rebootmgr.index.html --- old/rebootmgr-0.11/man/rebootmgr.index.html 2017-02-27 16:06:22.000000000 +0100 +++ new/rebootmgr-0.12/man/rebootmgr.index.html 2017-03-01 11:10:42.000000000 +0100 @@ -15,4 +15,4 @@ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink { visibility: visible; } - </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.10</span><hr><div class="refentry"><a name="rebootmgr.index"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>rebootmgr.index — List all manpages from the rebootmgr project</p></div><div class="refsect1"><a name="id-1.4"></a><h2 id="O">O<a class="headerlink" title="Permalink to this headline" href="#O">¶</a></h2><p><a href="org.opensuse.RebootMgr.conf.8.html"><span class="citerefentry"><span class="refentrytitle">org.opensuse.RebootMgr.conf</span>(8)</span></a> -- Reboot the machine during a maintenance window.<br></p></div><div class="refsect1"><a name="id-1.5"></a><h2 id="R">R<a class="headerlink" title="Permalink to this headline" href="#R">¶</a></h2><p><a href="rebootmgr.conf.5.html"><span class="citerefentry"><span class="refentrytitle">rebootmgr.conf</span>(5)</span></a> -- Reboot Manager configuration files<br><a href="rebootmgr.service.8.html"><span class="citerefentry"><span class="refentrytitle">rebootmgr.service</span>(8)</span></a> -- Reboot the machine during a maintenance window.<br><a href="rebootmgrctl.1.html"><span class="citerefentry"><span class="refentrytitle">rebootmgrctl</span>(1)</span></a> -- Tool to control and configure the reboot manager daemon.<br><a href="rebootmgrd.8.html"><span class="citerefentry"><span class="refentrytitle">rebootmgrd</span>(8)</span></a> -- Reboot the machine during a maintenance window.<br></p></div><div class="refsect1"><a name="id-1.6"></a><p><a name="counts"></a>This index contains 5 entries, referring to 3 individual manual pages.</p></div></div></body></html> + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.11</span><hr><div class="refentry"><a name="rebootmgr.index"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>rebootmgr.index — List all manpages from the rebootmgr project</p></div><div class="refsect1"><a name="id-1.4"></a><h2 id="O">O<a class="headerlink" title="Permalink to this headline" href="#O">¶</a></h2><p><a href="org.opensuse.RebootMgr.conf.8.html"><span class="citerefentry"><span class="refentrytitle">org.opensuse.RebootMgr.conf</span>(8)</span></a> -- Reboot the machine during a maintenance window.<br></p></div><div class="refsect1"><a name="id-1.5"></a><h2 id="R">R<a class="headerlink" title="Permalink to this headline" href="#R">¶</a></h2><p><a href="rebootmgr.conf.5.html"><span class="citerefentry"><span class="refentrytitle">rebootmgr.conf</span>(5)</span></a> -- Reboot Manager configuration files<br><a href="rebootmgr.service.8.html"><span class="citerefentry"><span class="refentrytitle">rebootmgr.service</span>(8)</span></a> -- Reboot the machine during a maintenance window.<br><a href="rebootmgrctl.1.html"><span class="citerefentry"><span class="refentrytitle">rebootmgrctl</span>(1)</span></a> -- Tool to control and configure the reboot manager daemon.<br><a href="rebootmgrd.8.html"><span class="citerefentry"><span class="refentrytitle">rebootmgrd</span>(8)</span></a> -- Reboot the machine during a maintenance window.<br></p></div><div class="refsect1"><a name="id-1.6"></a><p><a name="counts"></a>This index contains 5 entries, referring to 3 individual manual pages.</p></div></div></body></html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/man/rebootmgr.service.8.html new/rebootmgr-0.12/man/rebootmgr.service.8.html --- old/rebootmgr-0.11/man/rebootmgr.service.8.html 2017-02-27 16:06:21.000000000 +0100 +++ new/rebootmgr-0.12/man/rebootmgr.service.8.html 2017-03-01 11:10:41.000000000 +0100 @@ -15,7 +15,7 @@ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink { visibility: visible; } - </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.10</span><hr><div class="refentry"><a name="rebootmgrd.8"></a><div class="titlepage"></div><div class="refnamediv"><a name="name"></a><h2>Name</h2><p>rebootmgrd, rebootmgr.service, org.opensuse.RebootMgr.conf — Reboot the machine during a maintenance window.</p></div><div class="refsynopsisdiv"><a name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">/usr/sbin/rebootmgrd</code> [ --debug | --help | --version ]</p></div><p><code class="filename">/usr/lib/systemd/system/rebootmgr.service</code></p><p><code class="filename">/etc/dbus-1/system.d/org.opensuse.RebootMgr.conf</code></p></div><div class="refsect1"><a name="description"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>To avoid that a whole cluster or a set of machines with the same task + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.11</span><hr><div class="refentry"><a name="rebootmgrd.8"></a><div class="titlepage"></div><div class="refnamediv"><a name="name"></a><h2>Name</h2><p>rebootmgrd, rebootmgr.service, org.opensuse.RebootMgr.conf — Reboot the machine during a maintenance window.</p></div><div class="refsynopsisdiv"><a name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">/usr/sbin/rebootmgrd</code> [ --debug | --help | --version ]</p></div><p><code class="filename">/usr/lib/systemd/system/rebootmgr.service</code></p><p><code class="filename">/etc/dbus-1/system.d/org.opensuse.RebootMgr.conf</code></p></div><div class="refsect1"><a name="description"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>To avoid that a whole cluster or a set of machines with the same task reboot at the same there, <span class="emphasis"><em>rebootmgrd</em></span> reboots the machine following configured policies.</p><div class="refsect2"><a name="reboot_strategy_options"></a><h3 id="Reboot Strategies">Reboot Strategies<a class="headerlink" title="Permalink to this headline" href="#Reboot%20Strategies">¶</a></h3><p> rebootmgr supports different strategies, when a reboot should be done: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/man/rebootmgrctl.1 new/rebootmgr-0.12/man/rebootmgrctl.1 --- old/rebootmgr-0.11/man/rebootmgrctl.1 2017-02-27 16:06:21.000000000 +0100 +++ new/rebootmgr-0.12/man/rebootmgrctl.1 2017-03-01 11:10:41.000000000 +0100 @@ -2,12 +2,12 @@ .\" Title: rebootmgrctl .\" Author: Thorsten Kukuk <ku...@suse.de> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 02/27/2017 +.\" Date: 03/01/2017 .\" Manual: rebootmgrctl .\" Source: rebootmgr .\" Language: English .\" -.TH "REBOOTMGRCTL" "1" "02/27/2017" "rebootmgr" "rebootmgrctl" +.TH "REBOOTMGRCTL" "1" "03/01/2017" "rebootmgr" "rebootmgrctl" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/man/rebootmgrctl.1.html new/rebootmgr-0.12/man/rebootmgrctl.1.html --- old/rebootmgr-0.11/man/rebootmgrctl.1.html 2017-02-27 16:06:21.000000000 +0100 +++ new/rebootmgr-0.12/man/rebootmgrctl.1.html 2017-03-01 11:10:41.000000000 +0100 @@ -15,7 +15,7 @@ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink { visibility: visible; } - </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.10</span><hr><div class="refentry"><a name="rebootmgrctl.1"></a><div class="titlepage"></div><div class="refnamediv"><a name="name"></a><h2>Name</h2><p>rebootmgrctl — Tool to control and configure the reboot manager daemon.</p></div><div class="refsynopsisdiv"><a name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> [ --help | --version ]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> is-active [--quiet]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> reboot [ fast | now ]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> cancel </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> status [--quiet]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> set-strategy best-effort | etcd-lock | maint-window | instantly | off </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> get-strategy </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> set-group <em class="replaceable"><code>group</code></em> </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> get-group </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> set-window <em class="replaceable"><code>time</code></em> <em class="replaceable"><code>duration</code></em> </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> get-window </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> set-max [--group <em class="replaceable"><code>group</code></em>] <em class="replaceable"><code>number</code></em> </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> lock [--group <em class="replaceable"><code>group</code></em>] [<em class="replaceable"><code>machine-id</code></em>]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> unlock [--group <em class="replaceable"><code>group</code></em>] [<em class="replaceable"><code>machine-id</code></em>]</p></div></div><div class="refsect1"><a name="description"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p><span class="emphasis"><em>rebootmgrctl</em></span> is used to + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.11</span><hr><div class="refentry"><a name="rebootmgrctl.1"></a><div class="titlepage"></div><div class="refnamediv"><a name="name"></a><h2>Name</h2><p>rebootmgrctl — Tool to control and configure the reboot manager daemon.</p></div><div class="refsynopsisdiv"><a name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> [ --help | --version ]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> is-active [--quiet]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> reboot [ fast | now ]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> cancel </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> status [--quiet]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> set-strategy best-effort | etcd-lock | maint-window | instantly | off </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> get-strategy </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> set-group <em class="replaceable"><code>group</code></em> </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> get-group </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> set-window <em class="replaceable"><code>time</code></em> <em class="replaceable"><code>duration</code></em> </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> get-window </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> set-max [--group <em class="replaceable"><code>group</code></em>] <em class="replaceable"><code>number</code></em> </p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> lock [--group <em class="replaceable"><code>group</code></em>] [<em class="replaceable"><code>machine-id</code></em>]</p></div><div class="cmdsynopsis"><p><code class="command">rebootmgrctl</code> unlock [--group <em class="replaceable"><code>group</code></em>] [<em class="replaceable"><code>machine-id</code></em>]</p></div></div><div class="refsect1"><a name="description"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p><span class="emphasis"><em>rebootmgrctl</em></span> is used to query and configure the <a href="rebootmgrd.8.html"><span class="citerefentry"><span class="refentrytitle">rebootmgrd</span>(8)</span></a> process.</p></div><div class="refsect1"><a name="options"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options">¶</a></h2><div class="variablelist"><dl class="variablelist"><dt id="--help"><span class="term"><code class="option">--help</code></span><a class="headerlink" title="Permalink to this term" href="#--help">¶</a></dt><dd><p>display help text and exit</p></dd><dt id="--version"><span class="term"><code class="option">--version</code></span><a class="headerlink" title="Permalink to this term" href="#--version">¶</a></dt><dd><p>output version information and exit</p></dd><dt id="cancel"><span class="term"><code class="option">cancel</code></span><a class="headerlink" title="Permalink to this term" href="#cancel">¶</a></dt><dd><p>Cancels an already running reboot.</p></dd><dt id="is-active --quiet"><span class="term"><code class="option">is-active</code> [<span class="optional">--quiet</span>]</span><a class="headerlink" title="Permalink to this term" href="#is-active%20--quiet">¶</a></dt><dd><p>Prints if the rebootmgrd is running and active or not. With the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/man/rebootmgrd.8 new/rebootmgr-0.12/man/rebootmgrd.8 --- old/rebootmgr-0.11/man/rebootmgrd.8 2017-02-27 16:06:20.000000000 +0100 +++ new/rebootmgr-0.12/man/rebootmgrd.8 2017-03-01 11:10:40.000000000 +0100 @@ -2,12 +2,12 @@ .\" Title: rebootmgrd .\" Author: Thorsten Kukuk <ku...@suse.de> .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> -.\" Date: 02/27/2017 +.\" Date: 03/01/2017 .\" Manual: rebootmgrd .\" Source: rebootmgr .\" Language: English .\" -.TH "REBOOTMGRD" "8" "02/27/2017" "rebootmgr" "rebootmgrd" +.TH "REBOOTMGRD" "8" "03/01/2017" "rebootmgr" "rebootmgrd" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/man/rebootmgrd.8.html new/rebootmgr-0.12/man/rebootmgrd.8.html --- old/rebootmgr-0.11/man/rebootmgrd.8.html 2017-02-27 16:06:21.000000000 +0100 +++ new/rebootmgr-0.12/man/rebootmgrd.8.html 2017-03-01 11:10:41.000000000 +0100 @@ -15,7 +15,7 @@ h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink { visibility: visible; } - </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.10</span><hr><div class="refentry"><a name="rebootmgrd.8"></a><div class="titlepage"></div><div class="refnamediv"><a name="name"></a><h2>Name</h2><p>rebootmgrd, rebootmgr.service, org.opensuse.RebootMgr.conf — Reboot the machine during a maintenance window.</p></div><div class="refsynopsisdiv"><a name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">/usr/sbin/rebootmgrd</code> [ --debug | --help | --version ]</p></div><p><code class="filename">/usr/lib/systemd/system/rebootmgr.service</code></p><p><code class="filename">/etc/dbus-1/system.d/org.opensuse.RebootMgr.conf</code></p></div><div class="refsect1"><a name="description"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>To avoid that a whole cluster or a set of machines with the same task + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.11</span><hr><div class="refentry"><a name="rebootmgrd.8"></a><div class="titlepage"></div><div class="refnamediv"><a name="name"></a><h2>Name</h2><p>rebootmgrd, rebootmgr.service, org.opensuse.RebootMgr.conf — Reboot the machine during a maintenance window.</p></div><div class="refsynopsisdiv"><a name="synopsis"></a><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">/usr/sbin/rebootmgrd</code> [ --debug | --help | --version ]</p></div><p><code class="filename">/usr/lib/systemd/system/rebootmgr.service</code></p><p><code class="filename">/etc/dbus-1/system.d/org.opensuse.RebootMgr.conf</code></p></div><div class="refsect1"><a name="description"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>To avoid that a whole cluster or a set of machines with the same task reboot at the same there, <span class="emphasis"><em>rebootmgrd</em></span> reboots the machine following configured policies.</p><div class="refsect2"><a name="reboot_strategy_options"></a><h3 id="Reboot Strategies">Reboot Strategies<a class="headerlink" title="Permalink to this headline" href="#Reboot%20Strategies">¶</a></h3><p> rebootmgr supports different strategies, when a reboot should be done: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/src/rebootmgrctl.c new/rebootmgr-0.12/src/rebootmgrctl.c --- old/rebootmgr-0.11/src/rebootmgrctl.c 2017-02-16 14:54:18.000000000 +0100 +++ new/rebootmgr-0.12/src/rebootmgrctl.c 2017-03-03 16:29:33.000000000 +0100 @@ -29,6 +29,7 @@ #include "util.h" #include "lock-etcd.h" #include "lock-json.h" +#include "parse-duration.h" static void usage (int exit_code) @@ -613,9 +614,22 @@ { if (argc > 3) { - const char* start = argv[2]; - const char* duration = argv[3]; - retval = set_window (connection, start, duration); + const char *start = argv[2]; + const char *duration = argv[3]; + CalendarSpec *tmp = NULL; + + if ((calendar_spec_from_string (start, &tmp)) < 0) + { + printf (_("Invalid time for maintenance window\n")); + retval = 1; + } + else if (parse_duration (duration) == BAD_TIME) + { + printf (_("Invalid duration format for maintenance window\n")); + retval = 1; + } + else + retval = set_window (connection, start, duration); } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/src/rebootmgrd.c new/rebootmgr-0.12/src/rebootmgrd.c --- old/rebootmgr-0.11/src/rebootmgrd.c 2017-02-21 16:49:38.000000000 +0100 +++ new/rebootmgr-0.12/src/rebootmgrd.c 2017-03-02 17:28:47.000000000 +0100 @@ -113,6 +113,33 @@ } } +/* Getting the lock from etcd can take a long time. Run this + in an extra thread, so that we don't block dbus communication. */ +static gpointer +reboot_with_lock (gpointer user_data) +{ + RM_CTX *ctx = user_data; + + if (debug_flag) + log_msg (LOG_DEBUG, "reboot with lock called"); + + ctx->reboot_status = RM_REBOOTSTATUS_WAITING_ETCD; + if (etcd_get_lock (ctx->lock_group, NULL) != 0) + { + log_msg (LOG_ERR, "ERROR: etcd_get_lock failed, abort reboot"); + ctx->reboot_status = RM_REBOOTSTATUS_NOT_REQUESTED; + return NULL; + } + reboot_now (ctx); + /* if we end here, reboot was canceld */ + if (etcd_release_lock (ctx->lock_group, NULL) != 0) + { + log_msg (LOG_ERR, "ERROR: cannot remove old reboot lock from etcd!"); + } + return NULL; +} + + /* Called by g_timeout_add when maintenance window starts */ static gboolean reboot_timer (gpointer user_data) @@ -123,19 +150,7 @@ etcd_is_running()) || ctx->reboot_strategy == RM_REBOOTSTRATEGY_ETCD_LOCK)) { - ctx->reboot_status = RM_REBOOTSTATUS_WAITING_ETCD; - if (etcd_get_lock (ctx->lock_group, NULL) != 0) - { - log_msg (LOG_ERR, "ERROR: etcd_get_lock failed, abort reboot"); - ctx->reboot_status = RM_REBOOTSTATUS_NOT_REQUESTED; - return FALSE; - } - reboot_now (ctx); - /* if we end here, reboot was canceld */ - if (etcd_release_lock (ctx->lock_group, NULL) != 0) - { - log_msg (LOG_ERR, "ERROR: cannot remove old reboot lock from etcd!"); - } + g_thread_new ("do reboot lock thread", &reboot_with_lock, ctx); } else reboot_now (ctx); @@ -192,15 +207,17 @@ g_timeout_add ((next-curr)/USEC_PER_MSEC, reboot_timer, ctx); } -static gpointer -do_reboot (gpointer user_data) +static void +do_reboot (RM_CTX *ctx) { - RM_CTX *ctx = user_data; - ctx->reboot_status = RM_REBOOTSTATUS_REQUESTED; if (ctx->reboot_order == RM_REBOOTORDER_FORCED) - reboot_now (ctx); + { + if (debug_flag) + log_msg (LOG_DEBUG, "Forced reboot requested"); + reboot_now (ctx); + } switch (ctx->reboot_strategy) { @@ -213,16 +230,9 @@ { if (ctx->reboot_strategy == RM_REBOOTSTRATEGY_ETCD_LOCK || etcd_is_running()) - { - ctx->reboot_status = RM_REBOOTSTATUS_WAITING_ETCD; - if (etcd_get_lock (ctx->lock_group, NULL) != 0) - { - log_msg (LOG_ERR, "ERROR: etcd_get_lock failed, abort reboot"); - ctx->reboot_status = RM_REBOOTSTATUS_NOT_REQUESTED; - return NULL; - } - } - reboot_now (ctx); + g_thread_new ("do reboot lock thread", &reboot_with_lock, ctx); + else + reboot_now (ctx); } break; case RM_REBOOTSTRATEGY_INSTANTLY: @@ -244,7 +254,6 @@ ctx->reboot_strategy); break; } - return NULL; } static DBusMessage * @@ -290,7 +299,7 @@ if (ctx->reboot_status > 0) log_msg (LOG_INFO, "Reboot already in progress, ignored"); else - g_thread_new ("do reboot thread", do_reboot, ctx); + do_reboot (ctx); } else if (dbus_message_is_method_call (message, RM_DBUS_INTERFACE, RM_DBUS_METHOD_CANCEL)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.11/systemd/rebootmgr.service new/rebootmgr-0.12/systemd/rebootmgr.service --- old/rebootmgr-0.11/systemd/rebootmgr.service 2017-01-12 21:16:01.000000000 +0100 +++ new/rebootmgr-0.12/systemd/rebootmgr.service 2017-03-03 10:23:01.000000000 +0100 @@ -1,5 +1,9 @@ [Unit] Description=Reboot Manager +After=etcd.service +After=network.target +After=network-online.target +Wants=network-online.target Documentation=man:rebootmgrd(8) man:rebootmgrctl(1) [Service]