#!/bin/bash dummy_name=test2 eval $(ucr shell) ## initial cleanup ucr unset connector/s4/mapping/dns/srv_record/_$dummy_name._tcp.$(dnsdomainname)/location /etc/init.d/univention-s4-connector restart create_srv_record_in_s4_only() { ## create a SRC record in UCs and let it sync to S4 # udm dns/srv_record create --superordinate "zoneName=$(dnsdomainname),cn=dns,$ldap_base" \ # --position "zoneName=$(dnsdomainname),cn=dns,$ldap_base" \ # --set name="$dummy_name tcp" --set location="0 100 88 x.$(dnsdomainname)." /usr/share/univention-admin-tools/univention-dnsedit $@ --ignore-exists $domainname add srv $dummy_name tcp 0 100 88 x.$(dnsdomainname). sleep 5 host -t SRV _$dummy_name._tcp.$(dnsdomainname) ## remove the SRC record in UCS /etc/init.d/univention-s4-connector stop udm dns/srv_record delete --superordinate "zoneName=$(dnsdomainname),cn=dns,$ldap_base" --dn "relativeDomainName=_$dummy_name._tcp,zoneName=$(dnsdomainname),cn=dns,$ldap_base" sleep 3 ## remove the S4 Connector ucs_to_s4 pickle object grep -l relativeDomainName=_$dummy_name._tcp /var/lib/univention-connector/s4/*.* | while read filename; do rm "$filename" done echo "UCS Object should now be removed:" echo ===== univention-ldapsearch -x relativeDomainName=_$dummy_name._tcp sRVRecord | grep -E '^dn$|^sRVRecord$' echo ===== } host -t SRV _$dummy_name._tcp.$(dnsdomainname) echo "## create a SRV record in UDM, let it synd to S4 and the remove in in UDM again without sync to S4" create_srv_record_in_s4_only ## pause to check script results # read -p "hit return: " RELPLY ## activate the Mapping echo "## now activate the Mapping" ucr set connector/s4/mapping/dns/srv_record/_$dummy_name._tcp.$(dnsdomainname)/location="100 0 88 server1.$(dnsdomainname). 100 0 88 server2.$(dnsdomainname)." ## touch the S4 record echo "## now check what happens if we touch the S4 object:" echo -e "dn: DC=_$dummy_name._tcp,DC=$(dnsdomainname),CN=MicrosoftDNS,CN=System,$samba4_ldap_base\nchangetype: modify\nadd: description\ndescription: test1\n" | ldbmodify -H /var/lib/samba/private/sam.ldb ## and start the sync /etc/init.d/univention-s4-connector start sleep 5 echo "S4 Object:" echo ===== host -t SRV _$dummy_name._tcp.$(dnsdomainname) echo ===== echo "UCS Object:" echo ===== univention-ldapsearch -x relativeDomainName=_$dummy_name._tcp sRVRecord echo ===== ## now check what happens if we touch the S4 object again: echo "## now check what happens if we touch the S4 object again:" echo -e "dn: DC=_$dummy_name._tcp,DC=$(dnsdomainname),CN=MicrosoftDNS,CN=System,$samba4_ldap_base\nchangetype: modify\nadd: description\ndescription: test2\n" | ldbmodify -H /var/lib/samba/private/sam.ldb sleep 5 echo "S4 Object:" echo ===== host -t SRV _$dummy_name._tcp.$(dnsdomainname) echo ===== echo "UCS Object:" echo ===== univention-ldapsearch -x relativeDomainName=_$dummy_name._tcp sRVRecord echo =====