← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1830033] Re: Connection synchronization daemon fails at start due to a bug in launch script

 

I verified the proposed change (which is in the opposite diff direction
in the initial report) works in VMs and the PPA fixes the issue.

The fix seems easy enough, so I added MPs for Xenial and Bionic and a
PPA with the builds at [1]

[1]: https://launchpad.net/~paelzer/+archive/ubuntu/bug-1830033-ipvsadm-
start

** Changed in: ipvsadm (Ubuntu)
       Status: Triaged => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1830033

Title:
  Connection synchronization daemon fails at start due to a bug in
  launch script

Status in ipvsadm package in Ubuntu:
  Fix Released
Status in ipvsadm source package in Xenial:
  Triaged
Status in ipvsadm source package in Bionic:
  Triaged
Status in ipvsadm source package in Cosmic:
  Fix Released
Status in ipvsadm package in Debian:
  Fix Released

Bug description:
  [Impact]

   * the init script has an argument twice, which makes the service fail to 
     start 

   * Without the fix the service is rather unusable as it can't be
  started

  [Test Case]

   * Needs a VM (no container)
     $ sudo apt install ipvsadm
     $ echo 'AUTO="true"' | sudo tee -a /etc/default/ipvsadm
     $ echo 'DAEMON="master"' | sudo tee -a /etc/default/ipvsadm
     $ sudo systemctl restart ipvsadm
     $ systemctl status ipvsadm

     With the bug this will show the sevrice failing
     [...]
     Try `/sbin/ipvsadm -h' or '/sbin/ipvsadm --help' for more information.
     ...fail!

  
  [Regression Potential] 

   * Even in the default config (just enabling it to run) this doesn't work.
     Hence the risk should be next to none.
     I can think of setups that "are meant to work" , but so far "didn't 
     start" now properly would start. For example if someone 
     configured the service but ignored that it failed to start.
     I hope and expect that this is a rather unimportant risk, it actually 
     is the fix we are intending to make.

  [Other Info]
   
   * TBH it is in main for a dependency from keepalive but I wonder how much 
     that could be a sugegsts instead. But that is for the future.

  ---

  
  The launch script for ipvsadm has a bug that prevents LVS from start in synchronization mode.

  How to reproduce.
  1. Install ipvsadm on ubuntu server 16.04 and modify /etc/default/ipvsadm to lauch LVS in master mode (or backup):
  AUTO="true"
  DAEMON="master"
  IFACE="eno1"
  SYNCID="0"

  2. Start "ipvsadm" service and check systemd unit log:
  # systemctl start ipvsadm
  # journalctl -u ipvsadm
  What you expected to happen
  The log output without error:
  May 22 12:41:46 xxxxxxxxxxx systemd[1]: Starting LSB: ipvsadm daemon...
  May 22 12:41:46 xxxxxxxxxxx ipvsadm[4619]:  * Clearing the current IPVS table...
  May 22 12:41:46 xxxxxxxxxxx ipvsadm[4619]:    ...done.
  May 22 12:41:46 xxxxxxxxxxx ipvsadm[4619]:  * Loading IPVS configuration...
  May 22 12:41:46 xxxxxxxxxxx ipvsadm[4619]:    ...done.
  May 22 12:41:46 xxxxxxxxxxx ipvsadm[4619]:  * Starting IPVS Connection Synchronization Daemon master
  May 22 12:41:46 xxxxxxxxxxx ipvsadm[4619]:    ...done.
  May 22 12:41:46 xxxxxxxxxxx systemd[1]: Started LSB: ipvsadm daemon.

  What happened instead:
  May 22 12:32:59 xxxxxxx systemd[1]: Starting LSB: ipvsadm daemon...
  May 22 12:32:59 xxxxxxx ipvsadm[15743]:  * Clearing the current IPVS table...
  May 22 12:32:59 xxxxxxx ipvsadm[15743]:    ...done.
  May 22 12:32:59 xxxxxxx ipvsadm[15743]:  * Loading IPVS configuration...
  May 22 12:32:59 xxxxxxx ipvsadm[15743]:    ...done.
  May 22 12:32:59 xxxxxxx ipvsadm[15743]:  * Starting IPVS Connection Synchronization Daemon master
  May 22 12:32:59 xxxxxxx ipvsadm[15743]: Try `/sbin/ipvsadm -h' or '/sbin/ipvsadm --help' for more information.
  May 22 12:32:59 xxxxxxx ipvsadm[15743]:    ...fail!
  May 22 12:32:59 xxxxxxx ipvsadm[15743]:    ...done.
  May 22 12:32:59 xxxxxxx systemd[1]: Started LSB: ipvsadm daemon.

  As you can see in log output, there is an message: "Try `/sbin/ipvsadm
  -h' or '/sbin/ipvsadm --help' for more information". This message
  relates to bug in script /etc/init.d/ipvsadm.

  Here a difference how script should be updated to get it work:
  --- /etc/init.d/ipvsadm	2019-05-22 12:41:34.429916226 +0000
  +++ /root/ipvsadm	2019-05-22 11:18:04.307344255 +0000
  @@ -29,16 +29,16 @@
       case $DAEMON in
    master|backup)
        log_daemon_msg "Starting IPVS Connection Synchronization Daemon" "$DAEMON"
  -	    $IPVSADM --start-daemon $DAEMON --mcast-interface \
  +	    $IPVSADM --syncid $SYNCID --start-daemon $DAEMON --mcast-interface \
           $IFACE --syncid $SYNCID || log_end_msg 1
        log_end_msg 0
        ;;
    both)
        log_daemon_msg "Starting IPVS Connection Synchronization Daemon" "master"
  -	    $IPVSADM --start-daemon master --mcast-interface \
  +	    $IPVSADM --syncid $SYNCID --start-daemon master --mcast-interface \
           $IFACE --syncid $SYNCID  || FAILURE=1
        log_progress_msg "backup"
  -	    $IPVSADM --start-daemon backup --mcast-interface \
  +	    $IPVSADM --syncid $SYNCID --start-daemon backup --mcast-interface \
           $IFACE --syncid $SYNCID || FAILURE=1
        if [ "$FAILURE" -eq 1 ]
        then

  /root/ipvsadm - this is an original script from ipvsadm package

  # lsb_release -rd
  Description:	Ubuntu 16.04.6 LTS
  Release:	16.04
  # apt-cache policy ipvsadm
  ipvsadm:
    Installed: 1:1.28-3
    Candidate: 1:1.28-3
    Version table:
   *** 1:1.28-3 500
          500 http://nl.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
          100 /var/lib/dpkg/status

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ipvsadm/+bug/1830033/+subscriptions