- Worked more on detecting and report invalid ASCII characters in PQA databases
- Working with IBM Rational Support regarding rgy_switchover
Code Page
Managed to get the non ASCII characters in the databases down to a handful of cases and implement a "fix_char" routine. The basic mapping turns out to be:
# Translate from special char -> ASCII
my %char_mapping = (
"ffffff85" => "_",
"ffffff91" => "\'",
"ffffff92" => "\'",
"ffffff93" => "\"",
"ffffff94" => "\"",
"ffffff96" => "-",
# "ffffffa2" =>
# "ffffffae" =>
"ffffffb7" => "\."
# "ffffffbd" => "1/2",
# "ffffffe7" => ???
);
The commented out lines represent characters I have not be able to determine the ASCII equivalents, except the 1/2 which is a 1/2 in one character. In order to translate the one character 1/2 to the 3 character 1/2 I would need to expand the array. I have not done this yet.
PMR#59845,999,000 backup rgy switchover not working on Windows clients
Steven Chaves wrote:
Andrew,
During the tech session, other TSEs did say that rgy_switchover does not always work. For DNS resolution, running: ipconfig /release and then afterwards ipconfig /renew usually works, but this would have to be done on each client. Can you give the servers fixed IP addresses.
There still seems to be some confusion here. I will attempt to be explicit here.
I realize that rgy_switchover will not always work 100%. Client machines may be down, etc. However what I'm seeing is that rgy_switchover never works - or at least never works with any of the Windows client machines who has their IP address assigned via DHCP and who's Windows machine name (WINS name) != Unix DNS CNAME.
Here's the situation. There are two Unix Solaris boxes: ccase-sj1-3 (10.16.191.241) and ccase-sj1-4 (10.16.191.243). Both are servers and have statically assigned IP addresses.
There are just a few Windows clients in this test scenario, mostly laptops. All fail. All have DHCP assigned IP addresses and Windows computer names that are not the same as DNS. Let's use my laptop as an example: ltsjca-adefaria (10.16.191.243) is it's name. It's a Windows XP box, is a laptop yet remains docked at my desk.
When the rgy_switchover command was run from ccase-sj1-3 to switch over to ccase-sj1-4 both ccase-sj1-3 and ccase-sj1-4 became aware of the change and switched over. None (i.e. 0) of the other clients (all DHCP assigned Windows boxes) failed, including my laptop (who's IP address, BTW, had not changed).
Investigating I find that I can nslookup and ping ccase-sj1-3 and ccase-sj1-4 from my laptop, ltsjca-adefaria
Local:nslookup ccase-sj1-3
Server: dns-sj1-1b.sj.broadcom.com
Address: 10.16.64.11
Name: ccase-sj1-3.sj.broadcom.com
Address: 10.16.191.241
Aliases: ccase-sj1-3.broadcom.com
Local:nslookup ccase-sj1-4
Server: dns-sj1-1b.sj.broadcom.com
Address: 10.16.64.11
Name: ccase-sj1-4.sj.broadcom.com
Address: 10.16.191.243
Aliases: ccase-sj1-4.broadcom.com
Local:ping ccase-sj1-3
Pinging ccase-sj1-3.sj.broadcom.com [10.16.191.241] with 32 bytes of data:
Reply from 10.16.191.241: bytes=32 time<1ms TTL=254
Reply from 10.16.191.241: bytes=32 time<1ms TTL=254
Reply from 10.16.191.241: bytes=32 time<1ms TTL=254
Reply from 10.16.191.241: bytes=32 time<1ms TTL=254
Ping statistics for 10.16.191.241:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Local:ping ccase-sj1-4
Pinging ccase-sj1-4.sj.broadcom.com [10.16.191.243] with 32 bytes of data:
Reply from 10.16.191.243: bytes=32 time<1ms TTL=254
Reply from 10.16.191.243: bytes=32 time<1ms TTL=254
Reply from 10.16.191.243: bytes=32 time<1ms TTL=254
Reply from 10.16.191.243: bytes=32 time<1ms TTL=254
Ping statistics for 10.16.191.243:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
I can ping my laptop by name but I cannot nslookup it:
Local:ping ltsjca-adefaria
Pinging LTSJCA-ADEFARIA.corp.ad.broadcom.com [10.16.65.94] with 32 bytes of data:
Reply from 10.16.65.94: bytes=32 time<1ms TTL=64
Reply from 10.16.65.94: bytes=32 time<1ms TTL=64
Reply from 10.16.65.94: bytes=32 time<1ms TTL=64
Reply from 10.16.65.94: bytes=32 time<1ms TTL=64
Ping statistics for 10.16.65.94:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Local:nslookup ltsjca-adefaria
*** dns-sj1-1b.sj.broadcom.com can't find ltsjca-adefaria: Non-existent domain
Server: dns-sj1-1b.sj.broadcom.com
Address: 10.16.64.11
From the Solaris boxes (either ccase-sj1-3 or ccase-sj1-4) I cannot nslookup nor ping ltsjca-adefaria by name:
ccase-sj1-3:nslookup ltsjca-adefaria
Server: dns-sj1-1c.sj.broadcom.com
Address: 10.16.128.11
*** dns-sj1-1c.sj.broadcom.com can't find ltsjca-adefaria: Non-existent host/domain
ccase-sj1-3:ping ltsjca-adefaria
ping: unknown host ltsjca-adefaria
ccase-sj1-3:
I can ping by IP address:
ccase-sj1-3:ping 10.16.65.94
10.16.65.94 is alive
However the Solaris boxes (nor the laptop it seems) can resolve the name ltsjca-adefaria to an IP address:
ccase-sj1-3:nslookup ltsjca-adefaria
Server: dns-sj1-1c.sj.broadcom.com
Address: 10.16.128.11
*** dns-sj1-1c.sj.broadcom.com can't find ltsjca-adefaria: Non-existent host/domain
Finally a nslookup by IP address yields the following:
ccase-sj1-3:nslookup 10.16.65.94
Server: dns-sj1-1c.sj.broadcom.com
Address: 10.16.128.11
Name: dhcpe1-sj1-094.sj.broadcom.com
Address: 10.16.65.94
Thus showing that the DNS CNAME for 10.16.65.94 is dhcpe1-sj1-094.sj.broadcom.com not ltsjca-adefaria.
If I cannot translate ltsjca-adefaria to an IP address for ping then how is rgy_switchover gonna do it?
Now assuming that it's prevalent or common here at my client's site to have Windows clients with DHCP assigned addresses who's Windows machine names do not resolve in DNS and assuming that if the client name does not resolve in DNS then rgy_switchover fails, can it be said that rgy_switchover is relatively useless given this enviornment?