summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/FT_Naming/FaultTolerant/README
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/FT_Naming/FaultTolerant/README')
-rw-r--r--TAO/orbsvcs/tests/FT_Naming/FaultTolerant/README234
1 files changed, 234 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/FT_Naming/FaultTolerant/README b/TAO/orbsvcs/tests/FT_Naming/FaultTolerant/README
new file mode 100644
index 00000000000..ba1c835824b
--- /dev/null
+++ b/TAO/orbsvcs/tests/FT_Naming/FaultTolerant/README
@@ -0,0 +1,234 @@
+$Id$
+
+This program tests the following fault tolerant naming service implementation
+use cases:
+
+1) Failover: Validate that a client can seamlessly connect to the alternate
+ server of a server naming server pair after the other server has been
+ terminated.
+
+2) Persistence: Validate that repository data written by the naming service is
+ available upon startup.
+
+3) Equivalence: Validate that a client can seamlessly invoke naming operations
+ on either server instance.
+
+
+================================================================================
+Failover Test
+================================================================================
+
+<hostname> = <local_host>
+<port1> = <first unused port>
+<port2> = <second unused port>
+
+1) Create empty NameService and GroupService directories
+
+ cd $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant
+ mkdir NameService
+ mkdir GroupService
+
+2) Start primary tao_ft_naming process
+ $TAO_ROOT/orbsvcs/Naming_Service/tao_ft_naming --primary \
+ -ORBListenEndPoints iiop://<hostname>:<port1> \
+ -m 0 \
+ -r NameService \
+ -v GroupService &
+
+3) Start backup tao_ft_naming process
+
+ $TAO_ROOT/orbsvcs/Naming_Service/tao_ft_naming --backup \
+ -ORBListenEndPoints iiop://<hostname>:<port2> \
+ -m 0 \
+ -c $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/ns.ior \
+ -g $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/nm.ior \
+ -r NameService \
+ -v GroupService &
+
+4) Terminate primary tao_ft_naming process
+
+5) Run client with failover argument
+
+ client --failover \
+ -p file:///$TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/ns.ior \
+ -r file://$TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/nm.ior \
+ -b 4 -d 4
+
+ ==============================================================================
+ Example Output:
+ ==============================================================================
+ INFO: Failover Name Test OK
+ INFO: nm1ref: file:///tmp/ramdisk/tmp/nm.ior
+ INFO: Object Group Found In Repository
+ INFO: Failover ObjectGroup Test OK
+
+6) Cleanup
+
+ rm -rf NameService
+ rm -rf GroupService
+
+================================================================================
+Persistence Test
+================================================================================
+
+<hostname> = <local_host>
+<port1> = <unused port>
+
+1) Create empty NameService and GroupService directories
+
+ cd $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant
+ mkdir NameService
+ mkdir GroupService
+
+2) Start tao_ft_naming
+
+ $TAO_ROOT/orbsvcs/Naming_Service/tao_ft_naming \
+ -ORBListenEndPoints iiop://<hostname>:<port1> \
+ -g $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/nm.ior \
+ -o $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/ns.ior \
+ -v GroupService \
+ -u NameService &
+
+3) Start test object server
+
+ server -ORBDefaultInitRef corbaloc:iiop:<hostname>:<port1> \
+ -o $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/srv.ior &
+
+4) Run the test client with the persistence and create arguments
+
+ client --persistence --create \
+ -p corbaloc:iiop:<hostname>:<port1>/NameService \
+ -r corbaloc:iiop:<hostname>:<port1>/NamingManager \
+ -b 4 -d 4
+
+ ==============================================================================
+ Example Output:
+ ==============================================================================
+ INFO: Persistence Creation Name Test OK
+ INFO: Object Group BasicGroup Found In Repository
+ INFO: validating group member location1
+ INFO: object group member at location1 reports location1
+ INFO: validating group member location2
+ INFO: object group member at location2 reports location2
+ INFO: validating group member location3
+ INFO: object group member at location3 reports location3
+ INFO: validating group member location4
+ INFO: object group member at location4 reports location4
+ INFO: validating group member location5
+ INFO: object group member at location5 reports location5
+ INFO: validating group member location6
+ INFO: object group member at location6 reports location6
+ INFO: Persistence Creation ObjectGroup Test OK
+
+
+5) Terminate tao_ft_naming and then restart it with the original arguments
+
+ kill `pidof $TAO_ROOT/orbsvcs/Naming_Service/tao_ft_naming`
+
+ $TAO_ROOT/orbsvcs/Naming_Service/tao_ft_naming \
+ -ORBListenEndPoints iiop://<hostname>:<port1> \
+ -g $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/nm.ior \
+ -o $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/ns.ior \
+ -v GroupService \
+ -u NameService &
+
+6) Now run the test client with the persistence and valdiate arguments
+
+ client --persistence --validate \
+ -p corbaloc:iiop:<hostname>:<port1>/NameService \
+ -r corbaloc:iiop:<hostname>:<port1>/NamingManager \
+ -b 4 -d 4
+
+ ==============================================================================
+ Example Output:
+ ==============================================================================
+ INFO: Persistence Validation Name Test OK
+ INFO: Object Group BasicGroup Found In Repository
+ INFO: validating group member location1
+ INFO: object group member at location1 reports location1
+ INFO: validating group member location2
+ INFO: object group member at location2 reports location2
+ INFO: validating group member location3
+ INFO: object group member at location3 reports location3
+ INFO: validating group member location4
+ INFO: object group member at location4 reports location4
+ INFO: validating group member location5
+ INFO: object group member at location5 reports location5
+ INFO: validating group member location6
+ INFO: object group member at location6 reports location6
+ INFO: Persistence Validation ObjectGroup Test OK
+
+7) Cleanup
+
+ rm -rf NameService
+ rm -rf GroupService
+
+
+================================================================================
+Redundant Equivalancy Test
+================================================================================
+
+<hostname> = <local_host>
+<port1> = <first unused port>
+<port2> = <second unused port>
+
+1) Create empty NameService and GroupService directories
+
+ cd $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant
+ mkdir NameService
+ mkdir GroupService
+
+2) Start primary tao_ft_naming process
+
+ $TAO_ROOT/orbsvcs/Naming_Service/tao_ft_naming \
+ --primary \
+ -ORBListenEndPoints iiop://<hostname>:<port1> \
+ -o /tmp/ns_primary.ior \
+ -h /tmp/nm_primary.ior \
+ -r NameService \
+ -v GroupService &
+
+3) Start backup tao_ft_naming process
+
+ $TAO_ROOT/orbsvcs/Naming_Service/tao_ft_naming \
+ --backup \
+ -ORBListenEndPoints iiop://<hostname>:<port2> \
+ -o /tmp/ns_backup.ior \
+ -h /tmp/nm_backup.ior \
+ -c /tmp/ns_multi_profile.ior \
+ -g /tmp/nm_multi_profile.ior \
+ -r NameService \
+ -v GroupService &
+
+4) Now run the test client with the equivalence argument
+
+ client --equivalence \
+ -p file:///tmp/ns_primary.ior \
+ -q file:///tmp/ns_backup.ior \
+ -r file:///tmp/nm_primary.ior \
+ -s file:///tmp/nm_backup.ior \
+ -b 4 -d 4
+
+ ==============================================================================
+ Example Output:
+ ==============================================================================
+ INFO: ns1ref is not equivalent to ns2ref
+ INFO: ns1ref profile count: 1
+ INFO: ns2ref profile count: 1
+ INFO: Equivalence Name Test OK
+ INFO: nm1ref: file:///tmp/nm_primary.ior
+ INFO: nm2ref: file:///tmp/nm_backup.ior
+ INFO: nm1ref is not equivalent to nm2ref
+ INFO: nm1ref profile count: 1
+ INFO: nm2ref profile count: 1
+ INFO: Primary Found Object Group test_group_1 Created By Primary In Repository
+ INFO: Backup Found Object Group test_group_2 Created By Backup In Repository
+ INFO: Primary Found Object Group test_group_2 Created By Backup In Repository
+ INFO: Backup Found Object Group test_group_1 Created By Primary In Repository
+ INFO: Equivalence ObjectGroup Test OK
+
+5) Cleanup
+
+ rm -rf NameService
+ rm -rf GroupService
+