Hello community,

here is the log from the commit of package rebootmgr for openSUSE:Factory 
checked in at 2018-03-30 12:01:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rebootmgr (Old)
 and      /work/SRC/openSUSE:Factory/.rebootmgr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rebootmgr"

Fri Mar 30 12:01:30 2018 rev:9 rq:592031 version:0.17

Changes:
--------
--- /work/SRC/openSUSE:Factory/rebootmgr/rebootmgr.changes      2018-03-26 
11:56:30.109019395 +0200
+++ /work/SRC/openSUSE:Factory/.rebootmgr.new/rebootmgr.changes 2018-03-30 
12:01:36.106362719 +0200
@@ -1,0 +2,6 @@
+Wed Mar 28 13:35:47 CEST 2018 - ku...@suse.de
+
+- Update to version 0.17
+  - fix some bugs around etcd locks and reboot fast path
+
+-------------------------------------------------------------------

Old:
----
  rebootmgr-0.16.tar.bz2

New:
----
  rebootmgr-0.17.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rebootmgr.spec ++++++
--- /var/tmp/diff_new_pack.npEaJD/_old  2018-03-30 12:01:37.034329163 +0200
+++ /var/tmp/diff_new_pack.npEaJD/_new  2018-03-30 12:01:37.038329019 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           rebootmgr
-Version:        0.16
+Version:        0.17
 Release:        0
 Summary:        Automatic controlled reboot during a maintenance window
 License:        GPL-2.0-only AND LGPL-2.1-or-later

++++++ rebootmgr-0.16.tar.bz2 -> rebootmgr-0.17.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rebootmgr-0.16/NEWS new/rebootmgr-0.17/NEWS
--- old/rebootmgr-0.16/NEWS     2018-01-10 10:05:26.000000000 +0100
+++ new/rebootmgr-0.17/NEWS     2018-03-28 13:32:52.000000000 +0200
@@ -2,6 +2,10 @@
 
 Copyright (C) 2016, 2017, 2018 Thorsten Kukuk
 
+Version 0.17
+* Fix fast reboot with etcd lock [issues/4]
+* Release etcd lock if reboot got canceled
+
 Version 0.16
 * Remove -Werror
 * Use unsigned integers for json-c loops
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rebootmgr-0.16/configure new/rebootmgr-0.17/configure
--- old/rebootmgr-0.16/configure        2018-01-10 10:05:32.000000000 +0100
+++ new/rebootmgr-0.17/configure        2018-03-28 13:32:58.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for rebootmgr 0.16.
+# Generated by GNU Autoconf 2.69 for rebootmgr 0.17.
 #
 #
 # 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.16'
-PACKAGE_STRING='rebootmgr 0.16'
+PACKAGE_VERSION='0.17'
+PACKAGE_STRING='rebootmgr 0.17'
 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.16 to adapt to many kinds of systems.
+\`configure' configures rebootmgr 0.17 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.16:";;
+     short | recursive ) echo "Configuration of rebootmgr 0.17:";;
    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.16
+rebootmgr configure 0.17
 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.16, which was
+It was created by rebootmgr $as_me 0.17, 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.16'
+ VERSION='0.17'
 
 
 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.16, which was
+This file was extended by rebootmgr $as_me 0.17, 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.16
+rebootmgr config.status 0.17
 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.16/configure.ac 
new/rebootmgr-0.17/configure.ac
--- old/rebootmgr-0.16/configure.ac     2018-01-10 10:04:38.000000000 +0100
+++ new/rebootmgr-0.17/configure.ac     2018-03-28 13:15:40.000000000 +0200
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(rebootmgr, 0.16)
+AC_INIT(rebootmgr, 0.17)
 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.16/src/rebootmgrd.c 
new/rebootmgr-0.17/src/rebootmgrd.c
--- old/rebootmgr-0.16/src/rebootmgrd.c 2017-09-13 15:33:18.000000000 +0200
+++ new/rebootmgr-0.17/src/rebootmgrd.c 2018-03-28 12:53:48.000000000 +0200
@@ -1,5 +1,5 @@
 
-/* Copyright (c) 2016, 2017 Thorsten Kukuk
+/* Copyright (c) 2016, 2017, 2018 Thorsten Kukuk
    Author: Thorsten Kukuk <ku...@suse.com>
 
    This program is free software; you can redistribute it and/or modify
@@ -131,9 +131,10 @@
       return NULL;
     }
 
-  /* check, if we are still inside the maintenance window. Else
-     cancel reboot */
-  if (ctx->maint_window_start != NULL)
+  /* Check, if we are still inside the maintenance window. Else
+     cancel reboot. But only if we are not in fast mode. */
+  if (ctx->reboot_order != RM_REBOOTORDER_FAST &&
+      ctx->maint_window_start != NULL)
     {
       int r;
       usec_t curr = now(CLOCK_REALTIME);
@@ -148,7 +149,7 @@
          log_msg (LOG_ERR, "ERROR: Internal error converting the timer: %s",
                   g_strerror (-r));
          ctx->reboot_status = RM_REBOOTSTATUS_NOT_REQUESTED;
-         return NULL;
+         goto reboot_canceld;
        }
 
       if (curr < next || curr > next + duration)
@@ -157,12 +158,14 @@
          log_msg (LOG_ERR,
                   "ERROR: getting etcd lock took too long, reboot canceld");
          ctx->reboot_status = RM_REBOOTSTATUS_NOT_REQUESTED;
-         return NULL;
+         goto reboot_canceld;
        }
     }
 
   reboot_now (ctx);
-  /* if we end here, reboot was canceld */
+
+ reboot_canceld:
+  /* If we end here, reboot was canceld. Free Lock */
   if (etcd_release_lock (ctx->lock_group, NULL) != 0)
     {
       log_msg (LOG_ERR, "ERROR: cannot remove old reboot lock from etcd!");
Binary files old/rebootmgr-0.16/tests/test-calendarspec and 
new/rebootmgr-0.17/tests/test-calendarspec differ
Binary files old/rebootmgr-0.16/tests/test-etcd and 
new/rebootmgr-0.17/tests/test-etcd differ
Binary files old/rebootmgr-0.16/tests/test-json and 
new/rebootmgr-0.17/tests/test-json differ
Binary files old/rebootmgr-0.16/tests/test-parse-duration and 
new/rebootmgr-0.17/tests/test-parse-duration differ


Reply via email to