« Clearquest Code Pages | Main | Clearcase Deliver problem »

Code Page/rgy_switchover

  • 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?