blob: 4f8805c87cd03965e7c0c63c35f4026a352f318f [file] [log] [blame]
#!/bin/bash
#
# Copies of Repo data need to be added to "dats" dir for loading by push.sh
#
# Further, repo data has dates that are out of date and may have IDs not valid. We need to make
# sure the important data is consistent with Identities.
#
# This is expected to be run from a controlling Machine data "authz/auth/sample/cass_data" when a backup
# is created that is intended to be "Bootstrap Data"
#
# Date resets on key data load on the system at load time
#
DIR=$(pwd)
ID_FILE=../data/sample.identities.dat
if [ -e $ID_FILE ]; then
if [ "$(uname -s)" = "Darwin" ]; then
DATE=$(date -v "+6m" "+%Y-%m-%d %H:%M:%S.000+0000")
else
DATE=$(date "+%Y-%m-%d %H:%M:%S.000+0000" -d "+6 months")
fi
echo $DATE
#### CRED
# Enter for People
CRED="cred.dat"
rm cred.dat
echo "Create default Passwords for all Identities in $CRED"
for ID in $(grep '|a|' $ID_FILE | sed -e "s/|.*//"); do
if [ "$ID" = "aaf" ]; then
DOMAIN="aaf.osaaf.org";
else
DOMAIN="$ID.onap.org";
fi
unset FIRST
for D in ${DOMAIN//./ }; do
if [ -z "$FIRST" ]; then
NS="$D"
FIRST="N"
else
NS="$D.$NS"
fi
done
echo "$ID@$DOMAIN|2|${DATE}|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|$NS|53344|" >> $CRED
done
for ID in $(grep '|e|' $ID_FILE | sed -e "s/|.*//"); do
echo "$ID@people.osaaf.org|2|${DATE}|0xd993c5617486296f1b99d04de31633332b8ba1a550038e23860f9dbf0b2fcf95|Initial ID|org.osaaf.people|53344|" >> $CRED
done
##### USER_ROLE
echo "Scrubbing user_roles not in $ID_FILE"
## Covering for when scrubbing in cass_init versus a Backup
if [ -d "dats" ]; then
for D in ns ns_attrib perm role config artifact; do
if [ -e "dats/$D.dat" ]; then
cp dats/$D.dat .
fi
done
else
mkdir -p dats
cp user_role.dat dats
REMOVE_DATS=true
fi
> user_role.dat
for ID in $(grep -v "#" $ID_FILE | awk -F\| '{print $1}' | grep -v "^$"); do
grep "$ID@" dats/user_role.dat >> user_role.dat
done
UR="$(mktemp)"
DUR="$(mktemp)"
cat user_role.dat | awk -F\| '{print $1}' | sort -u > $UR
cat dats/user_role.dat | awk -F\| '{print $1}' | sort -u > $DUR
echo "Removed IDs from user_roles"
diff $UR $DUR | grep "^>" | sort -u
rm "$UR" "$DUR"
mv user_role.dat tmp
sed "s/\(^.*|\)\(.*|\)\(.*|\)\(.*\)/\1${DATE}|\3\4/" tmp > user_role.dat
rm tmp
if [ -n "$REMOVE_DATS" ]; then
rm -Rf dats
fi
else
echo $0 requires access to $ID_FILE
fi