1. Overview of Sun OpenDS Standard Edition
2. Overview of the Directory Server
3. Overview of the Proxy Server
4. Building Blocks of the Proxy Server
5. Example Deployments Using the Directory Server
6. Example Deployments Using the Proxy Server
7. Simple Proxy Deployments Using the Command Line Interface
Use the following script to set up a failover deployment between two data centers, as presented in Configuration 5: Distribution with Failover Between Data Centers.
#Create the first failover route #Create a proxy LDAP extension for each back-end LDAP server dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-extension \ --type ldap-server \ --extension-name proxy-extension-1a \ --set enabled:true \ --set remote-ldap-server-address:DS1a_hostname \ --set remote-ldap-server-port:3189 dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-extension \ --type ldap-server \ --extension-name proxy-extension-2a \ --set enabled:true \ --set remote-ldap-server-address:DS2a_hostname \ --set remote-ldap-server-port:3289 dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-extension \ --type ldap-server \ --extension-name proxy-extension-1b \ --set enabled:true \ --set remote-ldap-server-address:DS1b_hostname \ --set remote-ldap-server-port:3389 dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-extension \ --type ldap-server \ --extension-name proxy-extension-2b \ --set enabled:true \ --set remote-ldap-server-address:DS2b_hostname \ --set remote-ldap-server-port:3489 #Create a proxy workflow element for each LDAP server extension dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name proxy-we-1a \ --type proxy-ldap \ --set enabled:true \ --set client-cred-mode:use-client-identity \ --set ldap-server-extension:proxy-extension-1a dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name proxy-we-2a \ --type proxy-ldap \ --set enabled:true \ --set client-cred-mode:use-client-identity \ --set ldap-server-extension:proxy-extension-2a dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name proxy-we-1b \ --type proxy-ldap \ --set enabled:true \ --set client-cred-mode:use-client-identity \ --set ldap-server-extension:proxy-extension-1b dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name proxy-we-2b \ --type proxy-ldap \ --set enabled:true \ --set client-cred-mode:use-client-identity \ --set ldap-server-extension:proxy-extension-2b # Create a load balancing workflow element for each data center dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name LB-we-1a \ --type load-balancing \ --set enabled:true dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name LB-we-1b \ --type load-balancing \ --set enabled:true # Define the load balancing algorithm for each data center dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-algorithm \ --element-name LB-we-1a \ --type proportional dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-algorithm \ --element-name LB-we-1b \ --type proportional # Define the load balancing routes for each proxy dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name LB-we-1a \ --route-name LB-route-1a \ --type proportional \ --set workflow-element:proxy-we-1a dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name LB-we-1a \ --route-name LB-route-2a \ --type proportional \ --set workflow-element:proxy-we-2a dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name LB-we-1b \ --route-name LB-route-1b \ --type proportional \ --set workflow-element:proxy-we-1b dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name LB-we-1b \ --route-name LB-route-2b \ --type proportional \ --set workflow-element:proxy-we-2b # Set failover between the two data centers dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name FO-we1 \ --type load-balancing \ --set enabled:true dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-algorithm \ --element-name FO-we1 \ --type failover dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name FO-we1 \ --route-name FO-route-1a \ --type failover \ --set workflow-element:LB-we-1a \ --set priority:1 dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name FO-we1 \ --route-name FO-route-1b \ --type failover \ --set workflow-element:LB-we-1b \ --set priority:2 #Create the second failover route #Create a proxy LDAP extension for each back-end LDAP server dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-extension \ --type ldap-server \ --extension-name proxy-extension-3a \ --set enabled:true \ --set remote-ldap-server-address:DS3a_hostname \ --set remote-ldap-server-port:3189 dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-extension \ --type ldap-server \ --extension-name proxy-extension-4a \ --set enabled:true \ --set remote-ldap-server-address:DS4a_hostname \ --set remote-ldap-server-port:3289 dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-extension \ --type ldap-server \ --extension-name proxy-extension-3b \ --set enabled:true \ --set remote-ldap-server-address:DS3b_hostname \ --set remote-ldap-server-port:3389 dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-extension \ --type ldap-server \ --extension-name proxy-extension-4b \ --set enabled:true \ --set remote-ldap-server-address:DS4b_hostname \ --set remote-ldap-server-port:3489 #Create a proxy workflow element for each LDAP server extension dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name proxy-we-3a \ --type proxy-ldap \ --set enabled:true \ --set client-cred-mode:use-client-identity \ --set ldap-server-extension:proxy-extension-3a dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name proxy-we-4a \ --type proxy-ldap \ --set enabled:true \ --set client-cred-mode:use-client-identity \ --set ldap-server-extension:proxy-extension-4a dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name proxy-we-3b \ --type proxy-ldap \ --set enabled:true \ --set client-cred-mode:use-client-identity \ --set ldap-server-extension:proxy-extension-3b dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name proxy-we-4b \ --type proxy-ldap \ --set enabled:true \ --set client-cred-mode:use-client-identity \ --set ldap-server-extension:proxy-extension-4b # Create a load balancing workflow element for each data center dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name LB-we-2a \ --type load-balancing \ --set enabled:true dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name LB-we-2b \ --type load-balancing \ --set enabled:true # Define the load balancing algorithm for each data center dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-algorithm \ --element-name LB-we-2a \ --type proportional dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-algorithm \ --element-name LB-we-2b \ --type proportional # Define the load balancing routes for each proxy dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name LB-we-2a \ --route-name LB-route-3a \ --type proportional \ --set workflow-element:proxy-we-3a dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name LB-we-2a \ --route-name LB-route-4a \ --type proportional \ --set workflow-element:proxy-we-4a dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name LB-we-2b \ --route-name LB-route-3b \ --type proportional \ --set workflow-element:proxy-we-3b dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name LB-we-2b \ --route-name LB-route-4b \ --type proportional \ --set workflow-element:proxy-we-4b # Set failover between the two data centers dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name FO-we2 \ --type load-balancing \ --set enabled:true dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-algorithm \ --element-name FO-we2 \ --type failover dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name FO-we2 \ --route-name FO-route-2a \ --type failover \ --set workflow-element:LB-we-2a \ --set priority:1 dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-load-balancing-route \ --element-name FO-we2 \ --route-name FO-route-2b \ --type failover \ --set workflow-element:LB-we-2b \ --set priority:2 # Create distribution to the two failover routes dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow-element \ --element-name distrib-we \ --type distribution \ --set base-dn:dc=example,dc=com \ --set enabled:true dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-distribution-algorithm \ --element-name distrib-we \ --type numeric \ --set distribution-attribute:uid dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-distribution-partition \ --element-name distrib-we \ --partition-name distrib-part1\ --type numeric \ --set lower-bound:0 \ --set upper-bound:1000 \ --set partition-id:1 \ --set workflow-element:FO-we1 dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-distribution-partition \ --element-name distrib-we \ --partition-name distrib-part2\ --type numeric \ --set lower-bound:1000 \ --set upper-bound:2000 \ --set partition-id:2 \ --set workflow-element:FO-we2 # Create workflow dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-workflow \ --workflow-name Distrib-workflow \ --set enabled:true \ --set base-dn:dc=example,dc=com \ --set workflow-element:distrib-we # Create network group dsconfig -p 4444 -h localhost -D"cn=Directory Manager" -w password -X -n \ create-network-group \ --group-name network-group1 \ --set enabled:true \ --set workflow:Distrib-workflow \ --set priority:1