Revision 615 – RemoveNicknames Allows Nickname-Diff Creation

There has been a strange issue with diminishing efficiency of nickname import as the number of nicknames increases and the number of other threads competing for a database lock increases. Apparently it’s too difficult check nicknames before setting, and I’ve seen roughly 3 nicknames every 2 seconds on some portals.

Considering this, and that we have ways of getting nicknames from files (including basic 2-column format), I’ve added a method of taking a parsed list of nicknames and removing it from the nickname base.

The “–removenicknames=” option (“-R”) parses a nickname input (BNA, file://, OCI, HTTP, FTP, same logic as adding) and removes them from the internal nickname base rather than adding.

This would let us:

  1. collect new nicknames from all the current sources
  2. remove a list of assumed-current nicknames
  3. write out the remainder for import

Additionally, collecting the current assumed-current plus the new nicknames gives us the new assumed-current.

Revision 602 – Split and Build with external Parsers, Solved a Parse issue

In this revision, the parsing code is now external; it has been split out to “fcparsers.jar” from fcparsers-java rpm visible at github.com/chickenandpork/fibrechannel-parsers/ … this was done to improve code visibility and to allow bug reports to be created more closely to the specific piece of code involved.

In doing so, I also chased down a parsing issue in that the following block would produce a nickname short:

alias: NASMany_654321
                10:00:00:00:c9:44:44:10; 10:00:00:00:c9:44:44:11
                10:00:00:00:c9:44:44:20; 10:00:00:00:c9:44:44:21
                10:00:00:00:c9:44:44:30; 10:00:00:00:c9:44:44:31

Results:

10:00:00:00:c9:44:44:11,"NASMany_654321"
10:00:00:00:c9:44:44:20,"NASMany_654321"
10:00:00:00:c9:44:44:21,"NASMany_654321"
10:00:00:00:c9:44:44:30,"NASMany_654321"
10:00:00:00:c9:44:44:31,"NASMany_654321"

… clearly missing “10:00:00:00:c9:44:44:10” (and yes, per the weak consuming parser to which we send this result, no space can be between the WWN and the alias).

That was resolved by fixing the byacc parser code. All six members now show up.

Revision 600 – (weak) Suggested Nicknames for Apparent NetApp WWN Patterns

Expanded the option “-w” from Suggested Nicknames for Known WWN Patterns to vict.jar such that vict.jar -w 500a098300004060 shows “NetApp-4060-iGrp0-0N” giving suggested nicknames to NetApp Devices.

Just like Apparent VPLEX Patterns, this WWN Descriptor is empirically-based. Additional WWPN samples would help guide a better, more precise solution.

Revision 599 – (weak) Suggested Nicknames for Apparent VPLEX WWN Patterns

Expanded the option “-w” from Suggested Nicknames for Known WWN Patterns to vict.jar such that vict.jar -w 50001442607a3b00 shows “VPlex-07a3b-A0-FC00” giving suggested nicknames to EMC VPLEX devices similar to the output of the CLI command ls -l /engine/**/ports.

This WWN Descriptor is not very precise, but is empirically-based. Additional WWPN samples would help guide a better, more precise solution.

Revision 597 – Zone-Voting Accepts Dupes by Default

Based on some work I was doing with JP “Skwerl” C, I found/remembered/was-embarassed-by Zone-voting ignoring possibilities of duplicate aliases as a default behavior.

This might have been cool before, but it’s out of fashion now. In fact, I find so many customers duping their nicknames, I wonder if there’s some advice on the ‘net suggesting it’s a good practice. Understandably, these are labels being extracted from zone names, so I cannot claim to be the ivory tower of accuracy or best-practice.

Inspection-worthy units have a more difficult time passing combat.

In this revision, I converted ZoneVote to default to allowing dupes; highlights some mismatched assumptions in test cases. see also “Zone Vote is only an approximation” 🙂

Revision 587 – Abbreviate the Suggested Nicknames (SNICKs) in PHC

Provided a way to generate abbreviated “Suggested Nicknames” (which I call “Estimates” in code, and “SNICK” or “Suggested NICKnames” in PHC).

A customer found that our generated nicknames for missing nicknames was entirely sufficient for his needs, but the names are very long; to make it a bit easier, the VICT will now allow –briefestimate to set for brief suggested nicknames, and –nobriefestimate to counter the setting back to verbose estimates. This is useful when using the -w or –wwn option.

The similar option in PHC is either –briefestimate or –briefsnicks when using the generated phc-Nicknames.csv file.

Revision 578 – NetApp msosmsql Pseudo-Protocol Adds Fabric Suffix as HBA A/B

For a specific customer, I added a basic cut-n-paste customization of a different bnapsql:// or osmsql:// query that that appends the final character of the fabric nickname to the hostname and the WWPN such that hosts in “XX_FAB_A” or “XX_FAB_1” or “XX_FAB_a” become appended with “_A”; “_B”, “_2”, or “_b” become appended with “_B”. Anything else gets a “_X”.

This is done using a protocol “msosmsql”, for example:

java -jar vict.jar --nickname=msosmsql://server/

or

vict.bat -N msosmsql://server/

or since the customer has non-standard password (and the -n to store the result)

vict.bat -N msosmsql://user:pass@server/ -n A:\VirtualWisdomData\DeviceNickname\bna.csv

This allows a single query to produce nicknames on a different schema; also highlights a non-portability in the code that can be improved… but this is in production today. The customer’s response was “oh, that’s it? I thought that would be more difficult. How anti-climatic…” How can “easier than expected” be bad?

Revision 564 – (weak) Suggested Nicknames for Dot Hill Systems Modular Storage Array

Expanded the option “-w” from Suggested Nicknames for Known WWN Patterns to vict.jar such that vict.jar -w 217000c0ff012345 shows “P2000-012345-A2” giving suggested nicknames to (HP -rebadged) Dot Hill Systems Modular Storage Array P2000. This WWN Descriptor is not very precise, but is empirically-based. Additional WWPN samples would help guide a better, more precise solution.

Revision 562 – Suggested Nicknames for Pillar SLM WWN Patterns

Expanded the option “-w” from Suggested Nicknames for Known WWN Patterns to vict.jar such that vict.jar -w 2100000b08123450 shows “Axiom-12345-c0p0” giving suggested nicknames to (Oracle) Pillar Axiom (SLM). This WWN Descriptor is not very precise, but is empirically-based. Additional WWPN samples would help guide a better, more precise solution.

Revision 560 – move FixNicknameHistory to VIFT

Per the conversation at SKO, the “–fixnicknamehistory” is the only art of VIClientTool (vict) that is a writeable action; otherwise, vict is read-only. In order to be sure that vict cannot hurt the database, the writeable portion of vict is moved back into the VIFieldTool (vift). vift is never left with a customer.