46 lines
1.1 KiB
Bash
Executable File
46 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# This script creates 10 groups adding 20 users in each group
|
|
#
|
|
# This overlaps 10 users from the previous group to the next
|
|
# so that we can test at least 2 groups that is attached.
|
|
#
|
|
# However, this can be configurable by the variables interlave
|
|
# and user_per_group
|
|
#
|
|
|
|
add_group_file=/tmp/add_group.ldif
|
|
|
|
num_of_groups=10
|
|
user_per_group=20
|
|
interleave=10
|
|
|
|
rm -rf ${add_group_file}
|
|
|
|
for i in `seq 1 ${num_of_groups}`
|
|
do
|
|
cat >> ${add_group_file} << EOF
|
|
dn: cn=group${i},ou=groups,dc=test,dc=com
|
|
objectclass: top
|
|
objectclass: groupOfNames
|
|
cn: group${i}
|
|
description: group${i}
|
|
EOF
|
|
|
|
for j in `seq 1 ${user_per_group}`
|
|
do
|
|
echo "member: cn=user$(( $j + ($i - 1) * ${interleave})),ou=users,dc=test,dc=com" >> ${add_group_file}
|
|
done
|
|
|
|
echo "" >> ${add_group_file}
|
|
|
|
done
|
|
|
|
# grab the ldap unit
|
|
ldap_unit=$(juju status ldap-domain2 --format=json 2>/dev/null | jq '.["applications"][]["units"] | keys[0]' | sed s/\"//g)
|
|
|
|
# Configure slapd to give us some diags in syslog
|
|
juju scp ${add_group_file} ${ldap_unit}:/tmp/
|
|
juju ssh ${ldap_unit} "sudo ldapadd -x -D \"cn=admin,dc=test,dc=com\" -w crapper -H ldap:// -f ${add_group_file}"
|