
This commit adds two upgrade scripts for different stages: start: backs up data to /opt/platform/config/21.12/ldap/ldap.db activate: imports data from /opt/platform/config/21.12/ldap/ldap.db From centos to debian there are many changes to the directory structure and configuration for slapd. The above steps are necessary to ensure data is properly restored in the new version. Story: 2009303 Task: 47241 Test Plan: PASS: Run AIO-DX upgrade from a Centos system to a Debian system and verify ldap commands such as ldapfinger and ldapsearch are returning proper data PASS: Create new openldap user in Centos system, do the upgrade to Debian system and verify that such user is kept and usable after the upgrade. PASS: After upgrade do ldapfinger and 'getent passwd <user>' for the default ldap users of operator and admin and verify proper data is returned Change-Id: Ibb12d6f639115d4a31d6f4c49399525d5148481a Signed-off-by: Rei Oliveira <Reinildes.JoseMateusOliveira@windriver.com>
60 lines
1.6 KiB
Bash
60 lines
1.6 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Copyright (c) 2023 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
#
|
|
# This start script is used to back up ldap data from 21.12
|
|
# so that it can be used later for importing after a platform upgrade.
|
|
|
|
# The scripts are passed these parameters:
|
|
NAME=$(basename $0)
|
|
FROM_RELEASE=$1
|
|
TO_RELEASE=$2
|
|
ACTION=$3
|
|
|
|
# This will log to /var/log/platform.log
|
|
function log {
|
|
logger -p local1.info $1
|
|
}
|
|
|
|
# Logs using the 'log' function and exits with error
|
|
function exit_with_error {
|
|
log "$NAME: $1 (RETURNED: $?)"
|
|
exit 1
|
|
}
|
|
|
|
# Script start
|
|
log "$NAME: Saving backup of openldap schema files from release $FROM_RELEASE to $TO_RELEASE with action $ACTION"
|
|
|
|
if [[ "${ACTION}" == "start" ]] && [[ "${FROM_RELEASE}" == "21.12" ]] && [[ "${TO_RELEASE}" == "22.12" ]]; then
|
|
|
|
BACKUP_DIR="/opt/platform/config/$FROM_RELEASE/ldap"
|
|
|
|
rm -rf $BACKUP_DIR \
|
|
|| exit_with_error "ERROR - Failed to remove directory $BACKUP_DIR"
|
|
|
|
mkdir $BACKUP_DIR \
|
|
|| exit_with_error "ERROR - Failed to create directory $BACKUP_DIR"
|
|
|
|
log "$NAME: Successfully created directory $BACKUP_DIR"
|
|
|
|
/usr/sbin/slapcat -F /etc/openldap/schema -l $BACKUP_DIR/ldap.db \
|
|
|| exit_with_error "ERROR - Failed to export ldap data to $BACKUP_DIR/ldap.db"
|
|
|
|
log "$NAME: Successfully exported $BACKUP_DIR/ldap.db"
|
|
|
|
chmod -R go= $BACKUP_DIR \
|
|
|| exit_with_error "ERROR - Failed to set permissions to $BACKUP_DIR/ldap.db"
|
|
|
|
log "$NAME: Successfully set permissions for $BACKUP_DIR/ldap.db"
|
|
|
|
log "$NAME: Script finished successfully."
|
|
else
|
|
log "$NAME: No actions required for from release $FROM_RELEASE to $TO_RELEASE with action $ACTION"
|
|
fi
|
|
|
|
exit 0
|
|
|