Hello community, here is the log from the commit of package rebootmgr for openSUSE:Factory checked in at 2017-03-16 09:43:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rebootmgr (Old) and /work/SRC/openSUSE:Factory/.rebootmgr.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rebootmgr" Thu Mar 16 09:43:18 2017 rev:4 rq:479606 version:0.13 Changes: -------- --- /work/SRC/openSUSE:Factory/rebootmgr/rebootmgr.changes 2017-03-04 16:40:21.437088149 +0100 +++ /work/SRC/openSUSE:Factory/.rebootmgr.new/rebootmgr.changes 2017-03-16 09:51:55.282509086 +0100 @@ -1,0 +2,7 @@ +Wed Mar 15 13:13:14 CET 2017 - ku...@suse.de + +- Update to version 0.13 + - Don't reboot outside maintenance window if getting the etcd + lock takes too long [bsc#1028060] + +------------------------------------------------------------------- Old: ---- rebootmgr-0.12.tar.bz2 New: ---- rebootmgr-0.13.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rebootmgr.spec ++++++ --- /var/tmp/diff_new_pack.LIhetR/_old 2017-03-16 09:51:55.770439986 +0100 +++ /var/tmp/diff_new_pack.LIhetR/_new 2017-03-16 09:51:55.774439419 +0100 @@ -17,7 +17,7 @@ Name: rebootmgr -Version: 0.12 +Version: 0.13 Release: 0 Summary: Automatic controlled reboot during a maintenance window License: GPL-2.0 and LGPL-2.1+ ++++++ rebootmgr-0.12.tar.bz2 -> rebootmgr-0.13.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.12/NEWS new/rebootmgr-0.13/NEWS --- old/rebootmgr-0.12/NEWS 2017-03-03 16:40:10.000000000 +0100 +++ new/rebootmgr-0.13/NEWS 2017-03-15 13:11:58.000000000 +0100 @@ -2,6 +2,10 @@ Copyright (C) 2016, 2017 Thorsten Kukuk +Version 0.13 +* Cancel reboot if we run out of the maintenance window with etcd-lock + [bsc#1028060] + Version 0.12 * Rewrote reboot code to not block dbus if we wait for etcd locks [bsc#1026298] * Fix rebootmgr.service dependencies diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.12/configure new/rebootmgr-0.13/configure --- old/rebootmgr-0.12/configure 2017-03-03 16:40:19.000000000 +0100 +++ new/rebootmgr-0.13/configure 2017-03-15 13:12:08.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.12. +# Generated by GNU Autoconf 2.69 for rebootmgr 0.13. # # # 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.12' -PACKAGE_STRING='rebootmgr 0.12' +PACKAGE_VERSION='0.13' +PACKAGE_STRING='rebootmgr 0.13' 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.12 to adapt to many kinds of systems. +\`configure' configures rebootmgr 0.13 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.12:";; + short | recursive ) echo "Configuration of rebootmgr 0.13:";; 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.12 +rebootmgr configure 0.13 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.12, which was +It was created by rebootmgr $as_me 0.13, 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.12' + VERSION='0.13' 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.12, which was +This file was extended by rebootmgr $as_me 0.13, 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.12 +rebootmgr config.status 0.13 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.12/configure.ac new/rebootmgr-0.13/configure.ac --- old/rebootmgr-0.12/configure.ac 2017-03-03 16:37:38.000000000 +0100 +++ new/rebootmgr-0.13/configure.ac 2017-03-15 13:10:38.000000000 +0100 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(rebootmgr, 0.12) +AC_INIT(rebootmgr, 0.13) 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.12/man/org.opensuse.RebootMgr.conf.8.html new/rebootmgr-0.13/man/org.opensuse.RebootMgr.conf.8.html --- old/rebootmgr-0.12/man/org.opensuse.RebootMgr.conf.8.html 2017-03-01 11:10:41.000000000 +0100 +++ new/rebootmgr-0.13/man/org.opensuse.RebootMgr.conf.8.html 2017-03-15 13:09:22.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.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 + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.12</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: @@ -29,7 +29,9 @@ </p></dd><dt id="etcd-lock"><span class="term">etcd-lock</span><a class="headerlink" title="Permalink to this term" href="#etcd-lock">¶</a></dt><dd><p> Acquire a lock at etcd for the specified lock-group before reboot. If a maintenance window is specified, acquire the lock - only during this window. + only during this window. If taking the lock takes longer than the + duration of the maitnenance window, the reboot is canceld and an + error logged. </p></dd><dt id="best-effort"><span class="term">best-effort</span><a class="headerlink" title="Permalink to this term" href="#best-effort">¶</a></dt><dd><p> This is the default. If etcd is running, use etcd-lock. If no etcd is running, but a maintenance window is specified, use diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.12/man/rebootmgr.conf.5 new/rebootmgr-0.13/man/rebootmgr.conf.5 --- old/rebootmgr-0.12/man/rebootmgr.conf.5 2017-03-01 11:10:41.000000000 +0100 +++ new/rebootmgr-0.13/man/rebootmgr.conf.5 2017-03-03 16:41:44.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: 03/01/2017 +.\" Date: 03/03/2017 .\" Manual: resolved.conf .\" Source: rebootmgr .\" Language: English .\" -.TH "REBOOTMGR\&.CONF" "5" "03/01/2017" "rebootmgr" "resolved.conf" +.TH "REBOOTMGR\&.CONF" "5" "03/03/2017" "rebootmgr" "resolved.conf" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.12/man/rebootmgr.conf.5.html new/rebootmgr-0.13/man/rebootmgr.conf.5.html --- old/rebootmgr-0.12/man/rebootmgr.conf.5.html 2017-03-01 11:10:41.000000000 +0100 +++ new/rebootmgr-0.13/man/rebootmgr.conf.5.html 2017-03-03 16:41:45.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.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 + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.12</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.12/man/rebootmgr.index.html new/rebootmgr-0.13/man/rebootmgr.index.html --- old/rebootmgr-0.12/man/rebootmgr.index.html 2017-03-01 11:10:42.000000000 +0100 +++ new/rebootmgr-0.13/man/rebootmgr.index.html 2017-03-15 13:09:22.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.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> + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.12</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.12/man/rebootmgr.service.8.html new/rebootmgr-0.13/man/rebootmgr.service.8.html --- old/rebootmgr-0.12/man/rebootmgr.service.8.html 2017-03-01 11:10:41.000000000 +0100 +++ new/rebootmgr-0.13/man/rebootmgr.service.8.html 2017-03-15 13:09:22.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.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 + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.12</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: @@ -29,7 +29,9 @@ </p></dd><dt id="etcd-lock"><span class="term">etcd-lock</span><a class="headerlink" title="Permalink to this term" href="#etcd-lock">¶</a></dt><dd><p> Acquire a lock at etcd for the specified lock-group before reboot. If a maintenance window is specified, acquire the lock - only during this window. + only during this window. If taking the lock takes longer than the + duration of the maitnenance window, the reboot is canceld and an + error logged. </p></dd><dt id="best-effort"><span class="term">best-effort</span><a class="headerlink" title="Permalink to this term" href="#best-effort">¶</a></dt><dd><p> This is the default. If etcd is running, use etcd-lock. If no etcd is running, but a maintenance window is specified, use diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.12/man/rebootmgrctl.1 new/rebootmgr-0.13/man/rebootmgrctl.1 --- old/rebootmgr-0.12/man/rebootmgrctl.1 2017-03-01 11:10:41.000000000 +0100 +++ new/rebootmgr-0.13/man/rebootmgrctl.1 2017-03-03 16:41:44.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: 03/01/2017 +.\" Date: 03/03/2017 .\" Manual: rebootmgrctl .\" Source: rebootmgr .\" Language: English .\" -.TH "REBOOTMGRCTL" "1" "03/01/2017" "rebootmgr" "rebootmgrctl" +.TH "REBOOTMGRCTL" "1" "03/03/2017" "rebootmgr" "rebootmgrctl" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.12/man/rebootmgrctl.1.html new/rebootmgr-0.13/man/rebootmgrctl.1.html --- old/rebootmgr-0.12/man/rebootmgrctl.1.html 2017-03-01 11:10:41.000000000 +0100 +++ new/rebootmgr-0.13/man/rebootmgrctl.1.html 2017-03-03 16:41:45.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.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 + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.12</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.12/man/rebootmgrd.8 new/rebootmgr-0.13/man/rebootmgrd.8 --- old/rebootmgr-0.12/man/rebootmgrd.8 2017-03-01 11:10:40.000000000 +0100 +++ new/rebootmgr-0.13/man/rebootmgrd.8 2017-03-15 13:09:22.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: 03/01/2017 +.\" Date: 03/15/2017 .\" Manual: rebootmgrd .\" Source: rebootmgr .\" Language: English .\" -.TH "REBOOTMGRD" "8" "03/01/2017" "rebootmgr" "rebootmgrd" +.TH "REBOOTMGRD" "8" "03/15/2017" "rebootmgr" "rebootmgrd" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -57,7 +57,7 @@ .PP etcd\-lock .RS 4 -Acquire a lock at etcd for the specified lock\-group before reboot\&. If a maintenance window is specified, acquire the lock only during this window\&. +Acquire a lock at etcd for the specified lock\-group before reboot\&. If a maintenance window is specified, acquire the lock only during this window\&. If taking the lock takes longer than the duration of the maitnenance window, the reboot is canceld and an error logged\&. .RE .PP best\-effort diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.12/man/rebootmgrd.8.html new/rebootmgr-0.13/man/rebootmgrd.8.html --- old/rebootmgr-0.12/man/rebootmgrd.8.html 2017-03-01 11:10:41.000000000 +0100 +++ new/rebootmgr-0.13/man/rebootmgrd.8.html 2017-03-15 13:09:22.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.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 + </style><a href="rebootmgr.index.html">Index </a><span style="float:right">rebootmgr 0.12</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: @@ -29,7 +29,9 @@ </p></dd><dt id="etcd-lock"><span class="term">etcd-lock</span><a class="headerlink" title="Permalink to this term" href="#etcd-lock">¶</a></dt><dd><p> Acquire a lock at etcd for the specified lock-group before reboot. If a maintenance window is specified, acquire the lock - only during this window. + only during this window. If taking the lock takes longer than the + duration of the maitnenance window, the reboot is canceld and an + error logged. </p></dd><dt id="best-effort"><span class="term">best-effort</span><a class="headerlink" title="Permalink to this term" href="#best-effort">¶</a></dt><dd><p> This is the default. If etcd is running, use etcd-lock. If no etcd is running, but a maintenance window is specified, use diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.12/man/rebootmgrd.8.xml new/rebootmgr-0.13/man/rebootmgrd.8.xml --- old/rebootmgr-0.12/man/rebootmgrd.8.xml 2017-02-16 12:39:35.000000000 +0100 +++ new/rebootmgr-0.13/man/rebootmgrd.8.xml 2017-03-15 13:05:08.000000000 +0100 @@ -95,7 +95,9 @@ <para> Acquire a lock at etcd for the specified lock-group before reboot. If a maintenance window is specified, acquire the lock - only during this window. + only during this window. If taking the lock takes longer than the + duration of the maitnenance window, the reboot is canceld and an + error logged. </para> </listitem> </varlistentry> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rebootmgr-0.12/src/rebootmgrd.c new/rebootmgr-0.13/src/rebootmgrd.c --- old/rebootmgr-0.12/src/rebootmgrd.c 2017-03-02 17:28:47.000000000 +0100 +++ new/rebootmgr-0.13/src/rebootmgrd.c 2017-03-15 12:45:04.000000000 +0100 @@ -130,6 +130,37 @@ ctx->reboot_status = RM_REBOOTSTATUS_NOT_REQUESTED; return NULL; } + + /* check, if we are still inside the maintenance window. Else + cancel reboot */ + if (ctx->maint_window_start != NULL) + { + int r; + usec_t curr = now(CLOCK_REALTIME); + usec_t next; + usec_t duration = ctx->maint_window_duration * USEC_PER_SEC; + + /* Check, if we are inside the maintenance window. If yes, reboot now */ + r = calendar_spec_next_usec (ctx->maint_window_start, + curr - duration, &next); + if (r < 0) + { + log_msg (LOG_ERR, "ERROR: Internal error converting the timer: %s", + g_strerror (-r)); + ctx->reboot_status = RM_REBOOTSTATUS_NOT_REQUESTED; + return NULL; + } + + if (curr < next || curr > next + duration) + { + /* we are outside the maintenance window, cancel */ + log_msg (LOG_ERR, + "ERROR: getting etcd lock took too long, reboot canceld"); + 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)