1 This program tests the following fault tolerant naming service implementation
4 1) Failover: Validate that a client can seamlessly connect to the alternate
5 server of a server naming server pair after the other server has been
8 2) Persistence: Validate that repository data written by the naming service is
9 available upon startup.
11 3) Equivalence: Validate that a client can seamlessly invoke naming operations
12 on either server instance.
14 ================================================================================
16 ================================================================================
18 <hostname> = <local_host>
19 <port1> = <first unused port>
20 <port2> = <second unused port>
22 1) Create empty NameService and GroupService directories
24 cd $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant
28 2) Start primary tao_ft_naming process
29 $TAO_ROOT/orbsvcs/FT_Naming_Service/tao_ft_naming --primary \
30 -ORBListenEndPoints iiop://<hostname>:<port1> \
35 3) Start backup tao_ft_naming process
37 $TAO_ROOT/orbsvcs/FT_Naming_Service/tao_ft_naming --backup \
38 -ORBListenEndPoints iiop://<hostname>:<port2> \
40 -c $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/ns.ior \
41 -g $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/nm.ior \
45 4) Terminate primary tao_ft_naming process
47 5) Run client with failover argument
50 -p file:///$TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/ns.ior \
51 -r file://$TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/nm.ior \
54 ==============================================================================
56 ==============================================================================
57 INFO: Failover Name Test OK
58 INFO: nm1ref: file:///tmp/ramdisk/tmp/nm.ior
59 INFO: Object Group Found In Repository
60 INFO: Failover ObjectGroup Test OK
67 ================================================================================
69 ================================================================================
71 <hostname> = <local_host>
72 <port1> = <unused port>
74 1) Create empty NameService and GroupService directories
76 cd $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant
80 2) Start tao_ft_naming
82 $TAO_ROOT/orbsvcs/FT_Naming_Service/tao_ft_naming \
83 -ORBListenEndPoints iiop://<hostname>:<port1> \
84 -g $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/nm.ior \
85 -o $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/ns.ior \
89 3) Start test object server
91 server -ORBDefaultInitRef corbaloc:iiop:<hostname>:<port1> \
92 -o $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/srv.ior &
94 4) Run the test client with the persistence and create arguments
96 client --persistence --create \
97 -p corbaloc:iiop:<hostname>:<port1>/NameService \
98 -r corbaloc:iiop:<hostname>:<port1>/NamingManager \
101 ==============================================================================
103 ==============================================================================
104 INFO: Persistence Creation Name Test OK
105 INFO: Object Group BasicGroup Found In Repository
106 INFO: validating group member location1
107 INFO: object group member at location1 reports location1
108 INFO: validating group member location2
109 INFO: object group member at location2 reports location2
110 INFO: validating group member location3
111 INFO: object group member at location3 reports location3
112 INFO: validating group member location4
113 INFO: object group member at location4 reports location4
114 INFO: validating group member location5
115 INFO: object group member at location5 reports location5
116 INFO: validating group member location6
117 INFO: object group member at location6 reports location6
118 INFO: Persistence Creation ObjectGroup Test OK
120 5) Terminate tao_ft_naming and then restart it with the original arguments
122 kill `pidof $TAO_ROOT/orbsvcs/FT_Naming_Service/tao_ft_naming`
124 $TAO_ROOT/orbsvcs/FT_Naming_Service/tao_ft_naming \
125 -ORBListenEndPoints iiop://<hostname>:<port1> \
126 -g $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/nm.ior \
127 -o $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant/ns.ior \
131 6) Now run the test client with the persistence and valdiate arguments
133 client --persistence --validate \
134 -p corbaloc:iiop:<hostname>:<port1>/NameService \
135 -r corbaloc:iiop:<hostname>:<port1>/NamingManager \
138 ==============================================================================
140 ==============================================================================
141 INFO: Persistence Validation Name Test OK
142 INFO: Object Group BasicGroup Found In Repository
143 INFO: validating group member location1
144 INFO: object group member at location1 reports location1
145 INFO: validating group member location2
146 INFO: object group member at location2 reports location2
147 INFO: validating group member location3
148 INFO: object group member at location3 reports location3
149 INFO: validating group member location4
150 INFO: object group member at location4 reports location4
151 INFO: validating group member location5
152 INFO: object group member at location5 reports location5
153 INFO: validating group member location6
154 INFO: object group member at location6 reports location6
155 INFO: Persistence Validation ObjectGroup Test OK
162 ================================================================================
163 Redundant Equivalancy Test
164 ================================================================================
166 <hostname> = <local_host>
167 <port1> = <first unused port>
168 <port2> = <second unused port>
170 1) Create empty NameService and GroupService directories
172 cd $TAO_ROOT/orbsvcs/tests/FT_Naming/FaultTolerant
176 2) Start primary tao_ft_naming process
178 $TAO_ROOT/orbsvcs/FT_Naming_Service/tao_ft_naming \
180 -ORBListenEndPoints iiop://<hostname>:<port1> \
181 -o /tmp/ns_primary.ior \
182 -h /tmp/nm_primary.ior \
186 3) Start backup tao_ft_naming process
188 $TAO_ROOT/orbsvcs/FT_Naming_Service/tao_ft_naming \
190 -ORBListenEndPoints iiop://<hostname>:<port2> \
191 -o /tmp/ns_backup.ior \
192 -h /tmp/nm_backup.ior \
193 -c /tmp/ns_multi_profile.ior \
194 -g /tmp/nm_multi_profile.ior \
198 4) Now run the test client with the equivalence argument
200 client --equivalence \
201 -p file:///tmp/ns_primary.ior \
202 -q file:///tmp/ns_backup.ior \
203 -r file:///tmp/nm_primary.ior \
204 -s file:///tmp/nm_backup.ior \
207 ==============================================================================
209 ==============================================================================
210 INFO: ns1ref is not equivalent to ns2ref
211 INFO: ns1ref profile count: 1
212 INFO: ns2ref profile count: 1
213 INFO: Equivalence Name Test OK
214 INFO: nm1ref: file:///tmp/nm_primary.ior
215 INFO: nm2ref: file:///tmp/nm_backup.ior
216 INFO: nm1ref is not equivalent to nm2ref
217 INFO: nm1ref profile count: 1
218 INFO: nm2ref profile count: 1
219 INFO: Primary Found Object Group test_group_1 Created By Primary In Repository
220 INFO: Backup Found Object Group test_group_2 Created By Backup In Repository
221 INFO: Primary Found Object Group test_group_2 Created By Backup In Repository
222 INFO: Backup Found Object Group test_group_1 Created By Primary In Repository
223 INFO: Equivalence ObjectGroup Test OK