Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #14006: Move rudder-slapd to a systemd unit #1743

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions rudder-inventory-ldap/SOURCES/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -73,23 +73,22 @@ build: openldap-source rudder-sources
# Install into DESTDIR
install: build
cd openldap-source && make install DESTDIR=$(DESTDIR)
mkdir -p $(DESTDIR)/etc/init.d
mkdir -p $(DESTDIR)/etc/default
mkdir -p $(DESTDIR)/etc/rsyslog.d
mkdir -p $(DESTDIR)/opt/rudder/etc/server-roles.d/
mkdir -p $(DESTDIR)/var/log/rudder/ldap
mkdir -p $(DESTDIR)/var/rudder/ldap/openldap-data
mkdir -p $(DESTDIR)/var/rudder/run
install -m 755 rudder-inventory-ldap.init $(DESTDIR)/etc/init.d/rudder-slapd
install -m 644 rudder-inventory-ldap.default $(DESTDIR)/etc/default/rudder-slapd
install -m 644 rudder-slapd.conf $(DESTDIR)/opt/rudder/etc/rudder-slapd.conf
mkdir -p $(DESTDIR)/usr/lib/systemd/system
mkdir -p $(DESTDIR)/opt/rudder/share/package-scripts/
install -m 644 slapd.conf $(DESTDIR)/opt/rudder/etc/openldap/slapd.conf
install -m 644 rudder-sources/ldap-inventory/inventory-repository/src/main/resources/ldap/inventory.schema $(DESTDIR)/opt/rudder/etc/openldap/schema/
install -m 644 rudder-sources/rudder/rudder-core/src/main/resources/ldap/rudder.schema $(DESTDIR)/opt/rudder/etc/openldap/schema/
install -m 644 rudder-inventory-ldap $(DESTDIR)/opt/rudder/etc/server-roles.d/
install -m 644 rudder-ldap $(DESTDIR)/opt/rudder/etc/server-roles.d/
install -m 755 rudder-slapd-configure $(DESTDIR)/opt/rudder/bin/rudder-slapd-configure
install -m 644 rsyslog/rudder-slapd.conf $(DESTDIR)/etc/rsyslog.d/rudder-slapd.conf
install -m 644 rudder-slapd.service $(DESTDIR)/usr/lib/systemd/system/rudder-slapd.service
install -m 755 rudder-inventory-ldap-postinst $(DESTDIR)/opt/rudder/share/package-scripts/

clean: localclean
localclean:
Expand Down
66 changes: 66 additions & 0 deletions rudder-inventory-ldap/SOURCES/rudder-inventory-ldap-postinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/bin/sh
set -e

PACKAGE_NAME="rudder-inventory-ldap"
LOG_FILE="/var/log/rudder/install/${PACKAGE_NAME}.log"
LDAP_CONF="/opt/rudder/etc/openldap/slapd.conf"

CFRUDDER_FIRST_INSTALL="$1"
if [ -z "$1" ]
then
echo "Usage: $0 <CFRUDDER_FIRST_INSTALL>"
echo " This should only be called from a package postinstall command"
exit 1
fi

echo "`date` - Starting ${PACKAGE_NAME} post installation script" >> ${LOG_FILE}

# Remove pidfile and argsfile
sed -i '/^[ \t]*pidfile/d' "${LDAP_CONF}"
sed -i '/^[ \t]*argsfile/d' "${LDAP_CONF}"

# Migration from pre-5.1, moving settings to slapd.conf
if [ -f /var/rudder/tmp/default-rudder-slapd ]; then
echo "Starting migration of /etc/default/rudder-slapd" >> ${LOG_FILE}
. /var/rudder/tmp/default-rudder-slapd

if [ ! -z "${RUDDER_MDBSIZE}" ] && [ "${RUDDER_MDBSIZE}" != "auto" ] || [ "${RUDDER_MDBSIZE}" != "noauto" ]; then
echo "Importing value of RUDDER_MDBSIZE: ${RUDDER_MDBSIZE}" >> ${LOG_FILE}
sed -i '/^[ \t]*maxsize/d' "${LDAP_CONF}"
sed -i 's/^\([ \t]*suffix[ \t]\+"cn=rudder-configuration".*\)/\1\nmaxsize '${RUDDER_MDBSIZE}'/' "${LDAP_CONF}"
fi
if [ ! -z "${RUDDER_MAX_INCOMING_AUTH}" ]; then
echo "Importing value of RUDDER_MAX_INCOMING_AUTH: ${RUDDER_MAX_INCOMING_AUTH}" >> ${LOG_FILE}
sed -i '/^[ \t]*sockbuf_max_incoming_auth/d' "${LDAP_CONF}"
sed -i 's/^\([ \t]*argsfile[ \t]\+\/.*\)/\1\nsockbuf_max_incoming_auth '${RUDDER_MAX_INCOMING_AUTH}'/' "${LDAP_CONF}"
fi

rm -f /etc/default/rudder-slapd /var/rudder/tmp/default-rudder-slapd
fi

# Create the package user
if ! getent passwd rudder-slapd >/dev/null; then
echo -n "INFO: Creating the rudder-slapd user..."
useradd -r -s /bin/false -d /var/rudder/ldap -c "Rudder LDAP server,,," rudder-slapd >/dev/null 2>&1
chown rudder-slapd "${LDAP_CONF}"
chmod 660 "${LDAP_CONF}"
chown -R rudder-slapd /var/rudder/ldap/
echo " Done"
fi

if [ ${CFRUDDER_FIRST_INSTALL} -eq 1 ]
echo -n "INFO: Setting rudder-slapd as a boot service..."
systemctl daemon-reload
systemctl enable rudder-slapd
systemctl start rudder-slapd
echo " Done"
fi

# Need to restart to take schema changes into account
echo -n "INFO: Restarting rudder-slapd..."
systemctl restart rudder-slapd >/dev/null
echo " Done"

echo "`date` - Ending ${PACKAGE_NAME} post installation script" >> ${LOG_FILE}


25 changes: 0 additions & 25 deletions rudder-inventory-ldap/SOURCES/rudder-inventory-ldap.default

This file was deleted.

Loading