Univention Bugzilla – Attachment 2259 Details for
Bug 16098
univention-directory-listener cache scheint auf Master nicht aktualisiert zu werden
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Test-Skript
16098_listener.test (text/plain), 5.18 KB, created by
Philipp Hahn
on 2010-02-02 11:35:32 CET
(
hide
)
Description:
Test-Skript
Filename:
MIME Type:
Creator:
Philipp Hahn
Created:
2010-02-02 11:35:32 CET
Size:
5.18 KB
patch
obsolete
>#! /bin/bash ># ># Bug #16098: univention-directory-listener cache scheint auf Master nicht aktualisiert zu werden ># > ># Debug Listener Modul installieren: >cat >/usr/lib/univention-directory-listener/system/debug.py <<EOF >from univention.debug import * > >name='debug' >description='Debug Listener' >filter='(&(objectClass=*)(uid=User*))' >attributes=[] > >def initialize(): > pass > >def handler(dn, new, old): > if old: > if new: change='modify' > else: change='delete' > else: > if new: change='new' > else: change='error' > debug(LISTENER, ERROR, 'DEBUG(%s): old: %s %s' % (change, old.get('entryDN',''), old.get('description',''))) > debug(LISTENER, ERROR, 'DEBUG(%s): new: %s %s' % (change, new.get('entryDN',''), new.get('description',''))) >EOF > >eval $(ucr shell ldap/base) > >MSG() { > case "$1" in > ERR) tput setaf 1 2>/dev/null ;; > OK) tput setaf 2 2>/dev/null ;; > *) tput setaf 4 2>/dev/null ;; > esac > echo "$@" > tput op 2>/dev/null >} > >settleChange() { > sleep 10 # ldap -> notifier -> listener delay >} > >countDN() { # regex count > local c > c=$( univention-directory-listener-dump | grep -ci ^"dn: $1" || true) > if [ $c -ne $2 ] > then > MSG ERR countDN "$@" "<>" $c > exit 1 > else > MSG OK countDN "$@" > fi >} > >grepLog() { > if grep DEBUG /var/log/univention/listener.log | tail -n 2 | grep -q "$@" > then > MSG OK grepLog "$@" > else > MSG ERR grepLog "$@" > exit 1 > fi >} > >startListener() { > /etc/init.d/univention-directory-listener start > sleep 3 >} > >stopListener() { > local i > /etc/init.d/univention-directory-listener stop & # hangs after SEGV > for ((i=0;i<10;i=i+1)) > do > sleep 1 > pidof univention-directory-listener &>/dev/null || return 0 > done > fuser -k /usr/sbin/univention-directory-listener &>/dev/null || true >} > >cleanup() { > set +e > read > udm users/user remove --dn "uid=User1,cn=users,$ldap_base" > udm users/user remove --dn "uid=User2,cn=users,$ldap_base" > udm users/user remove --dn "uid=User3,cn=users,$ldap_base" > if grep -q User[123] /var/lib/univention-directory-listener/cache.db > then > /usr/sbin/univention-directory-listener -F -b "$ldap_base" -m /usr/lib/univention-directory-listener/system -c /var/lib/univention-directory-listener -d 2 -x -ZZ -D cn=admin,$ldap_base -y /etc/ldap.secret -g & > local pid=$! > sleep 45 > kill $pid > else > univention-directory-listener-ctrl resync debug > fi >} >cleanup || true >trap cleanup EXIT > >#set -x >set -e > >MSG listener aus UCS 2.2-0 installieren: >stopListener >apt-get -y --force-yes install univention-directory-listener=3.0.2-2.48.200902190935 >startListener > >MSG Test User[123] anlegen >udm users/user create --position "cn=users,$ldap_base" --set username=User1 --set description=Test0 --set password=univention --set lastname=Univention >udm users/user create --position "cn=users,$ldap_base" --set username=User2 --set description=Test0 --set password=univention --set lastname=Univention >udm users/user create --position "cn=users,$ldap_base" --set username=User3 --set description=Test0 --set password=univention --set lastname=Univention >settleChange > ># Cache-Check >stopListener >countDN uid=User1 1 >countDN uid=User2 1 >countDN uid=User3 1 > > >MSG listener aus UCS 2.3-0 installieren: >apt-get -y --force-yes install univention-directory-listener=4.0.2-1.60.200911241641 >startListener > > >MSG Description am User1 ändern >udm users/user modify --dn "uid=User1,cn=users,$ldap_base" --set description=Test1 >settleChange > ># Cache-Check: zwei Einträge >stopListener >countDN uid=User1 2 >startListener > >MSG Erneut Description am User1 ändern >udm users/user modify --dn "uid=User1,cn=users,$ldap_base" --set description=Test2 >settleChange ># Check /var/log/univention/listener.log: ># - Die Ãnderung sollte in 'old' als description 'Test1' und nicht 'Test0' zeigen >grepLog 'old:.*User1.*Test0' > > >MSG listener aus UCS 2.3-1 installieren: >stopListener >apt-get -y --force-yes install univention-directory-listener >startListener > >MSG Erneut Description am User1 ändern >udm users/user modify --dn "uid=User1,cn=users,$ldap_base" --set description=Test3 >settleChange ># Check /var/log/univention/listener.log: ># - Die Ãnderung sollte nun in 'old' als description 'Test2' und nicht 'Test0' zeigen >grepLog 'old:.*User1.*Test2' > >MSG User[123] löschen >udm users/user remove --dn "uid=User1,cn=users,$ldap_base" >udm users/user remove --dn "uid=User2,cn=users,$ldap_base" >udm users/user modify --dn "uid=User3,cn=users,$ldap_base" --set description=Test3 >udm users/user remove --dn "uid=User3,cn=users,$ldap_base" >settleChange > ># Cache-Check: ein Eintrag >stopListener >countDN uid=User1 1 # FIXME 0 >countDN uid=User2 0 >countDN uid=User3 1 # FIXME 0 > >MSG User[23] nochmal anlegen >startListener >udm users/user create --position "cn=users,$ldap_base" --set username=User2 --set description=Test2 --set password=univention --set lastname=Univention >udm users/user create --position "cn=users,$ldap_base" --set username=User3 --set description=Test3 --set password=univention --set lastname=Univention >settleChange >stopListener >countDN uid=User2 1 >countDN uid=User3 2 # FIXME 1 > >MSG User[23] endgültig löschen >startListener >udm users/user remove --dn "uid=User2,cn=users,$ldap_base" >udm users/user remove --dn "uid=User3,cn=users,$ldap_base" >settleChange >stopListener >countDN uid=User1 0 >countDN uid=User2 0 >countDN uid=User3 0 > >MSG Ende >startListener > >exit 0 ># vim:set ft=sh:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 16098
:
2206
| 2259