-#***************************** Common Functions *******************************#
-# Check and add a test group.
-add_group() {
- local node=${1:-$(hostname)}
- local group_id=$2
- local group_name=$3
- local rc=0
-
- if ! (do_nodes $node "
- error() { set +x; echo Error: \\\$2: \\\$1; echo XXRETCODE:\\\$1; exit \\\$1; }
- gid=\\\$(getent group $group_name | cut -d: -f3);
- if [ \"x\\\$gid\" != \"x\" ]; then
- [ \\\$gid -eq $group_id ] || \\
- error 1 \\\"inconsistent group ID: new: $group_id, old: \\\$gid\\\";
- else
- groupadd -g $group_id $group_name
- fi;" 2>&1 | dshbak -c
- exit ${PIPESTATUS[0]})
- then
- rc=${PIPESTATUS[0]}
- fi
-
- return $rc
-}
-
-# Check and add a test user.
-add_user() {
- local node=${1:-$(hostname)}
- local user_id=$2
- local user_name=$3
- local group_name=$4
- local home_dir
- local rc=0
-
- if [[ "$user_name" = "vsx0" ]]; then
- home_dir=$INSTALL_DIR/test_sets
- else
- home_dir=$INSTALL_DIR
- fi
-
- if ! (do_nodes $node "
- error() { set +x; echo Error: \\\$2: \\\$1; echo XXRETCODE:\\\$1; exit \\\$1; }
- SUPP_GROUPS=$SUPP_GROUPS;
- uid=\\\$(getent passwd $user_name | cut -d: -f3);
- if [ \"x\\\$uid\" != \"x\" ]; then
- if [ \\\$uid -eq $user_id ]; then
- dir=\\\$(getent passwd $user_name | cut -d: -f6)
- if [ \"x\\\$dir\" != \"x$home_dir\" ]; then
- mkdir -p $home_dir
- usermod -d $home_dir $user_name
- fi
- else
- error 1 \\\"inconsistent user ID: new: $user_id, old: \\\$uid\\\"
- fi
- else
- mkdir -p $home_dir
- if [ \"x$user_name\" = \"xvsx0\" ]; then
- useradd -M -u $user_id -d $home_dir -g $group_name -G $SUPP_GROUPS $user_name
- else
- useradd -M -u $user_id -d $home_dir -g $group_name $user_name
- fi
- fi" 2>&1 | dshbak -c
- exit ${PIPESTATUS[0]})
- then
- rc=${PIPESTATUS[0]}
- fi
-
- return $rc
-}