Skip to content

Commit

Permalink
Merge pull request #584 from Kegeruneku/bug_5965/int/6105_stop_indexi…
Browse files Browse the repository at this point in the history
…ng_in_our_openldap_setup

Fixes #6105: Remove old unwanted indexes from LDAP if necessary
  • Loading branch information
peckpeck committed Jan 9, 2015
2 parents 851faa4 + b720793 commit 65563d0
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 28 deletions.
28 changes: 14 additions & 14 deletions rudder-inventory-ldap/SPECS/rudder-inventory-ldap.spec
Expand Up @@ -242,21 +242,21 @@ if [ -n "${BACKUP_LDIF}" ]; then
fi
fi

# Do we need to reindex the LDAP database? This can be necessary if the indexes were changed. Let's check.
SLAPD_DEFINED_INDEXES=$(mktemp)
SLAPD_ACTUAL_INDEXES=$(mktemp)
if [ -r /opt/rudder/etc/openldap/slapd.conf ] && [ -e /var/rudder/ldap/openldap-data/id2entry.bdb ]; then
grep ^index /opt/rudder/etc/openldap/slapd.conf | sed 's/\s\+/\t/g' | cut -f2 | sed 's/,/\n/g' | sort > ${SLAPD_DEFINED_INDEXES}
ls /var/rudder/ldap/openldap-data/*.bdb | xargs -n 1 -I{} basename {} .bdb | sort | egrep -v '^(dn2id|id2entry)' > ${SLAPD_ACTUAL_INDEXES}
if ! diff ${SLAPD_DEFINED_INDEXES} ${SLAPD_ACTUAL_INDEXES} > /dev/null; then
echo -n "INFO: OpenLDAP indexes are not up to date, reindexing..."
/sbin/service rudder-slapd stop >/dev/null 2>&1
/opt/rudder/sbin/slapindex >/dev/null 2>&1
echo " Done"
fi
# Remove unwanted indexes if necessary, and then reindex.
LDAP_REINDEX_NEEDED=0
for index in activeTechniqueId cn container directiveId isDynamic isEnabled isModified isSystem machineId nodeGroupId nodeId ruleId software softwareId softwareVersion techniqueCategoryId techniqueId uuid; do
if [ -e /var/rudder/ldap/openldap-data/${index}.bdb ]
rm -f /var/rudder/ldap/openldap-data/${index}.bdb
LDAP_REINDEX_NEEDED=1
fi
done

if [ ${LDAP_REINDEX_NEEDED} -ne 0 ]; then
echo -n "INFO: Unwanted OpenLDAP indexes have been detected and removed, reindexing..."
/sbin/service rudder-slapd stop >/dev/null 2>&1
/opt/rudder/sbin/slapindex >/dev/null 2>&1
echo " Done"
fi
# Remove temporary files about LDAP indexes
rm -f ${SLAPD_DEFINED_INDEXES} ${SLAPD_ACTUAL_INDEXES}

# Need to restart to take schema changes into account
echo -n "INFO: Restarting rudder-slapd..."
Expand Down
27 changes: 13 additions & 14 deletions rudder-inventory-ldap/debian/postinst
Expand Up @@ -82,22 +82,21 @@ case "$1" in
fi
fi

# Do we need to reindex the LDAP database? This can be necessary if the indexes were changed. Let's check.
SLAPD_DEFINED_INDEXES=$(mktemp)
SLAPD_ACTUAL_INDEXES=$(mktemp)
if [ -r /opt/rudder/etc/openldap/slapd.conf ] && [ -e /var/rudder/ldap/openldap-data/id2entry.bdb ]; then
grep ^index /opt/rudder/etc/openldap/slapd.conf | sed 's/\s\+/\t/g' | cut -f2 | sed 's/,/\n/g' | sort > ${SLAPD_DEFINED_INDEXES}
ls /var/rudder/ldap/openldap-data/*.bdb | xargs -n 1 -I{} basename {} .bdb | sort | egrep -v '^(dn2id|id2entry)' > ${SLAPD_ACTUAL_INDEXES}
if ! diff ${SLAPD_DEFINED_INDEXES} ${SLAPD_ACTUAL_INDEXES} > /dev/null; then
echo -n "INFO: OpenLDAP indexes are not up to date, reindexing..."
invoke-rc.d rudder-slapd stop >/dev/null 2>&1
/opt/rudder/sbin/slapindex >/dev/null 2>&1
invoke-rc.d rudder-slapd start >/dev/null 2>&1
echo " Done."
# Remove unwanted indexes if necessary, and then reindex.
LDAP_REINDEX_NEEDED=0
for index in activeTechniqueId cn container directiveId isDynamic isEnabled isModified isSystem machineId nodeGroupId nodeId ruleId software softwareId softwareVersion techniqueCategoryId techniqueId uuid; do
if [ -e /var/rudder/ldap/openldap-data/${index}.bdb ]
rm -f /var/rudder/ldap/openldap-data/${index}.bdb
LDAP_REINDEX_NEEDED=1
fi
done

if [ ${LDAP_REINDEX_NEEDED} -ne 0 ]; then
echo -n "INFO: Unwanted OpenLDAP indexes have been detected and removed, reindexing..."
/sbin/service rudder-slapd stop >/dev/null 2>&1
/opt/rudder/sbin/slapindex >/dev/null 2>&1
echo " Done"
fi
# Remove temporary files about LDAP indexes
rm -f ${SLAPD_DEFINED_INDEXES} ${SLAPD_ACTUAL_INDEXES}

# Restart rudder-slapd to take schema changes into account
echo -n "INFO: Restarting rudder-slapd..."
Expand Down

0 comments on commit 65563d0

Please sign in to comment.