Bug#1055438: kea: init-scripts not working

2024-03-07 Thread Stefan Klein

Hello Paride,

thank you for looking at the patch again and rating it as good enough. I 
fully understand your point about the problems with init-script QA...


The merge request you prepared contains all the changes I made. So this 
mail is my final green light, that MR contains the code that worked for me!


Sorry for doing that via mail only. I am currently on vacation and don't 
have access to my Salsa account :(


Stefan



Bug#1055438: kea-dhcp4-server: Also create /run/kea/

2023-12-12 Thread Stefan Klein

Hi Paride!

Regarding the first error you encountered:

  Unable to use interprocess sync lockfile (No such file or directory): 
/var/run/kea/logger_lockfile


As you can see in my attached patch, I exported KEA_LOCKFILE_DIR. Found 
that
in the service file and checked against Kea's source: If this env is not 
set,

the lockdir defaults to /var/run/kea/. I found no other way to set this,
because logging code runs before parsing the config.

The other error:

  unable to open database: unable to open '/var/lib/kea/kea-leases4.csv'

showed up as well. I didn't see it as part of an init script to create the
data directories. Thus I put 'mkdir /var/lib/kea && chown _kea: 
/var/lib/kea'

in my virtual machine setup script to make Kea happy. As some people might
use Kea without a lease file that directory is not a strict requirement for
all users. Made more or less sense to me...

Stefan



Bug#1055438: kea: init-scripts not working

2023-11-05 Thread Stefan Klein
Package: kea-dhcp4-server
Version: 2.2.0-6
Severity: normal
File: kea
Tags: patch

Dear Maintainers,

thank you for your work to make Kea available on Debian.

I appreciate that you include init scripts and support init diversity.

Unfortunately those script don't work as expected. I fixed them and made
them mimic the behaviour of the Systemd service files as closely as
possible.

It would be nice if you could apply the attached patch to:

- set PIDFILE to the path used by Kea
- create the pid-directory if doesn't exist
- make the lock-directory match the one used in the Systemd service
- remove KEA_LOGGER_DESTINATION as it has no effect without an export
  and is not set in the service file either
- use start-stop-stop-daemon's exec parameter instead of name (as they
  exceed the 15 chars limit)
- run the daemons as non-root (default is _kea)
- make that user owner of the pid and lock directories
- give Kea access to raw sockets and privileged ports via setcap (this
  is not as nice as AmbientCapabilities in Systemd, but at least is
  what Kea's docs suggest)

Thank you in advance,
Stefan

-- System Information:
Debian Release: 12.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-12-cloud-amd64 (SMP w/1 CPU thread; PREEMPT)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages kea-dhcp4-server depends on:
ii  init-system-helpers  1.65.2
ii  kea-common   2.2.0-6
ii  libc62.36-9+deb12u1
ii  libgcc-s112.2.0-14
ii  libstdc++6   12.2.0-14

kea-dhcp4-server recommends no packages.

Versions of packages kea-dhcp4-server suggests:
pn  kea-doc  

-- Configuration Files:
/etc/init.d/kea-dhcp4-server changed [not included]
/etc/kea/kea-dhcp4.conf changed [not included]

-- no debconf information
diff --git a/debian/kea-ctrl-agent.init b/debian/kea-ctrl-agent.init
index 0dc99dd..3d1d5fa 100644
--- a/debian/kea-ctrl-agent.init
+++ b/debian/kea-ctrl-agent.init
@@ -6,9 +6,9 @@
 # Default-Start: 2 3 4 5
 # Default-Stop:  0 1 6
 # Short-Description: Kea DHCP Control Agent for REST Service
-# Description:   
-#<...>
-#<...>
+# Description:   Kea is an IPv4 and IPv6 DHCP server developed by Internet
+#Systems Consortium providing a very high-performance with
+#PostgreSQL, MySQL and memfile backends.
 ### END INIT INFO
 # Author: Jason Guy 
 # Do NOT "set -e"
@@ -19,11 +19,11 @@ DESC=kea-ctrl-agent
 NAME=kea-ctrl-agent
 DAEMON=/usr/sbin/kea-ctrl-agent
 DAEMON_ARGS="-c /etc/kea/kea-ctrl-agent.conf"
-PIDFILE=/run/$NAME.pid
+DAEMONUSER=_kea
+PIDFILE=/run/kea/kea-ctrl-agent.kea-ctrl-agent.pid
 SCRIPTNAME=/etc/init.d/$NAME
-KEA_PIDFILE_DIR=/run/
-KEA_LOCKFILE_DIR=/run/lock/kea/
-KEA_LOGGER_DESTINATION=/var/log/kea/
+KEA_PIDFILE_DIR=/run/kea
+KEA_LOCKFILE_DIR=/run/lock/kea
 
 # Exit if the package is not installed
 [ -x "$DAEMON" ] || exit 0
@@ -43,6 +43,15 @@ create_lockfile_dir()
 {
if [ ! -d "$KEA_LOCKFILE_DIR" ]; then
mkdir -m 0750 -p "$KEA_LOCKFILE_DIR"
+   chown "$DAEMONUSER:" "$KEA_LOCKFILE_DIR"
+   fi
+}
+
+create_pidfile_dir()
+{
+   if [ ! -d "$KEA_PIDFILE_DIR" ]; then
+   mkdir -m 0750 -p "$KEA_PIDFILE_DIR"
+   chown "$DAEMONUSER:" "$KEA_PIDFILE_DIR"
fi
 }
 
@@ -52,13 +61,15 @@ create_lockfile_dir()
 do_start()
 {
create_lockfile_dir
+   create_pidfile_dir
+   export KEA_LOCKFILE_DIR
# Return
#   0 if daemon has been started
#   1 if daemon was already running
#   2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON 
--test > /dev/null \
|| return 1
-   start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -b 
-- \
+   start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -b 
-c $DAEMONUSER -- \
$DAEMON_ARGS \
|| return 2
 }
@@ -73,7 +84,7 @@ do_stop()
#   1 if daemon was already stopped
#   2 if daemon could not be stopped
#   other if a failure occurred
-   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
$PIDFILE --name $NAME
+   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
$PIDFILE --exec $DAEMON --user $DAEMONUSER
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
@@ -82,7 +93,7 @@ do_stop()
# that waits for the process to drop all resources that could be
# needed by services started subsequently.  A last resort is to
# sleep for some time.
-   start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
$DAEMON
+  

Bug#769799: lvm2: boot fails if /usr is on a lvm-cached LV

2014-11-16 Thread Stefan Klein
Package: lvm2
Version: 2.02.111-2
Severity: important

Dear package maintainer(s),

I recently added a SSD to my system and set up lvmcache to cache /usr (which is
a logical volume) after rebooting LVM fails to activate the cached volume.
To activate the volume /usr/sbin/cache_check from thin-provisioning-tools is
required, which o/c is not available if /usr is not yet activated.

I was able to workaround the problem by manually uncompressing the contents of
the thin-provisioning-tools (and libstdc++6) package to /usr of the root LV, so
cache_check is available at activation time of the /usr LV.

Might help:
# lvs -a
  LVVG   Attr   LSize  Pool  Origin  Data%
Meta%  Move Log Cpy%Sync Convert
  cachepool-usr hdd  Cwi---C---  2,00g
  [cachepool-usr_cdata] hdd  Cwi-ao  2,00g
  [cachepool-usr_cmeta] hdd  ewi-ao  8,00m
  home  hdd  -wi-ao 50,00g
  root  hdd  -wi-ao 45,00g
  usr   hdd  Cwi-aoC---  7,00g cachepool-usr [usr_corig]
  [usr_corig]   hdd  owi-aoC---  7,00g

The volume group hdd despite the name contains a partition of the HDD and a
partition of the SSD.

regards,
Stefan



-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.14-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8) (ignored:
LC_ALL set to de_DE.utf8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lvm2 depends on:
ii  dmeventd  2:1.02.90-2
ii  dmsetup   2:1.02.90-2
ii  init-system-helpers   1.21
ii  initscripts   2.88dsf-57
ii  libc6 2.19-13
ii  libdevmapper-event1.02.1  2:1.02.90-2
ii  libdevmapper1.02.12:1.02.90-2
ii  libreadline5  5.2+dfsg-2
ii  libudev1  215-5+b1
ii  lsb-base  4.1+Debian13+nmu1

lvm2 recommends no packages.

Versions of packages lvm2 suggests:
ii  thin-provisioning-tools  0.3.2-1


-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org