Tested on pacemaker 1.1.14-2ubuntu1.5 from xenial-proposed. Tried
reproducing according to test case from description, and confirmed that
pacemaker is fixed:

# apt list pacemaker
pacemaker/xenial-proposed,now 1.1.14-2ubuntu1.5 amd64 [installed]

# echo "PCMK_logfile=/tmp/pacemaker.log" >> /etc/default/pacemaker

# systemctl restart pacemaker.service

# ls -l /tmp/pacemaker.log
-rw-rw---- 1 hacluster haclient 13695 Mar 18 14:45 /tmp/pacemaker.log

# head /tmp/pacemaker.log
Set r/w permissions for uid=112, gid=116 on /tmp/pacemaker.log
Mar 18 14:45:22 [7342] pacemaker pacemakerd:     info: crm_log_init:    Changed 
active directory to /var/lib/pacemaker/cores/root
Mar 18 14:45:22 [7342] pacemaker pacemakerd:     info: get_cluster_type:        
Detected an active 'corosync' cluster
[...]


** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done verification-done-xenial

-- 
You received this bug notification because you are a member of Ubuntu
High Availability Team, which is subscribed to pacemaker in Ubuntu.
https://bugs.launchpad.net/bugs/1819046

Title:
  Systemd unit file reads settings from wrong path

Status in pacemaker package in Ubuntu:
  Fix Released
Status in pacemaker source package in Xenial:
  Fix Committed

Bug description:
  [Impact]
  Systemd Unit file doesn't read any settings by default

  [Description]
  The unit file shipped with the Xenial pacemaker package tries to read 
environment settings from /etc/sysconfig/ instead of /etc/default/. The result 
is that settings defined in /etc/default/pacemaker are not effective.
  Since the /etc/default/pacemaker file is created with default values when the 
pacemaker package is installed, we should source that in the systemd unit file.

  [Test Case]
  1) Deploy a Xenial container:
      $ lxc launch ubuntu:xenial pacemaker
  2) Update container and install pacemaker:
      root@pacemaker:~# apt update && apt install pacemaker -y
  3) Change default pacemaker log location:
      root@pacemaker:~# echo "PCMK_logfile=/tmp/pacemaker.log" >> 
/etc/default/pacemaker
  4) Restart pacemaker service and verify that log file exists:
      root@pacemaker:~# systemctl restart pacemaker.service
      root@pacemaker:~# ls -l /tmp/pacemaker.log
      ls: cannot access '/tmp/pacemaker.log': No such file or directory

  After fixing the systemd unit, changes to /etc/default/pacemaker get picked 
up correctly:
      root@pacemaker:~# ls -l /tmp/pacemaker.log
      -rw-rw---- 1 hacluster haclient 27335 Mar  7 20:46 /tmp/pacemaker.log

  
  [Regression Potential]
  The regression potential for this should be very low, since the configuration 
file is already being created by default and other systemd unit files are using 
the /etc/default config. In case the file doesn't exist or the user removed it, 
the "-" prefix will gracefully ignore the missing file according to the 
systemd.exec manual [0].
  Nonetheless, the new package will be tested with autopkgtests and the fix 
will be validated in a reproduction environment.

  [0] https://www.freedesktop.org/software/systemd/man/systemd.exec.html

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

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-ha
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~ubuntu-ha
More help   : https://help.launchpad.net/ListHelp

Reply via email to