Version 1.0.40 – Confirm that Duplicate WWPNs Are Caught

In VirtualWisdom4 release 4.0.2, it was noticed that the JSON Validation before import does not trap duplicate WWPNs. Unfortunately, this was exasperated by one customer who had multiple duplicate entries in their CSV WWPN/alias maps that were previously routinely imported into VW3.

VirtualWisdom4 may still be vulnerable, so the NicknameParser now independently discards duplicate WWPNs; otter parsers currently may not.

This release confirms that the fibrechannel-parsers inbuilt to the vitools-1.0.40 jar file include this fix.

Version 1.0.39 – Confirm 4.0.2-based fcport Entities

in fibrechannel-parsers-0.3-121, the VW4 release 4.0.2 feature of fcport entity import was added. An FCPort acts as either HBA ports or Storage Ports when using Entity Creation Utility to create entities: the selection list for Host includes both HBA Port and fcports, for example.

In order to confirm that we always have a fcparsers version that includes this fix, a check case was added to confirm functionality, or fail if absent.

vitools-1.0.39 should always include this feature in the in-packed parser

Revision 677 – Additional Dupe WWPN Issue When Lacking fcalias

Another issue was discovered in that Cisco “show zones” command is giving results such as:

zone name z23_test44 vsan 300
    pwwn 10:00:00:00:c9:12:34:56 [realalias]
    pwwn 10:00:00:00:c9:12:34:57 [otheralias]

Lacking the fcalias, this confused the Show Zone parser (Revision 657 – Cisco Show Zone), in a way slightly different than in Revision 674 – Dupe Alias in Show Zone. There’s no ambiguity between two nicknames or aliases, but the parser wasn’t picking up all possible pawn lines (i.e. reporting 10:00:00:00:c9:12:34:56,realalias but not reporting 10:00:00:00:c9:12:34:57,otheralias.

This was resolved by creating an additional parser with more code paths in the ShowZone2Parser to collect all subparts of a zone into the zone after the section is complete, and to collect all parts into each fcalias as a new fcalias was found or the zone is completed.

There’s still a few caveats to chase down, as noted on that class’s description.

A test case was added to this project to confirm the problem is resolved going forward.

Revision 1.0 – ShowZoneParser with Postfixed Aliases

This is the first commit shared from the new build of the vitools project. Users should see no difference except the 1.0 version to mark the newer build method. The third digit of the version is still auto-incremented, and that’s the one that counts.

In this revision, fibrechannel-parsers improved ShowZoneParser ability to parse zone content lacking prefixed fcalias values but with postfixed aliases after WWPNs. To ensure we always pick up a repaired version, vitools adds a test to confirm every release continues to fix this issue.

Revision 674 – Dupe Alias in Cisco Show Zones

A problem was discovered in that Cisco “show zones” command is giving results such as:

zone name z23_test44 vsan 300
  fcalias name testhost vsan 300
    pwwn 10:00:00:00:c9:12:34:56 [realalias]

This confused the Show Zone parser (Revision 657 – Cisco Show Zone), plus it was ambiguous which name (“testhost” or “real alias”) should be used.

This was resolved in ShowZoneParser to use “realhost” silently; a test case was added to this project to confirm the problem is resolved going forward.

Revision 672 – OnCommand and DCNM Clients Migrated

In this revision, minor changes were done to move the OnCommand and DCNM client code outside of the non-public source base and into the public source base at OSMURLConnection.java and DCNMURLConnection.java. This allows for external audit of the code and may improve trust and reduce concern. This is very similar to the work done in Revision 670 – BNA Client Migrated

As with Revision 670, the project retains all the test cases involving this and other parsers, so functionality is verified retained, there should be very little change in behavior. The DCNM backend-database client remains beta-quality and requires further testing if a user is willing; the OnCommand client has been heavily tested.

The OSM or OCI backend-database client was added 14 months ago (Revision 516 – Added parsing of OnCommand Data for Nicknames); DCNM backend-database client was added 13 months ago Revision 541 – Added parsing of DCNM Data for Nicknames). The OnCommand client was altered to append a fabric name for a specific environment 11 months ago (Revision 578 – NetApp msosmsql Pseudo-Protocol Adds Fabric Suffix) but can be used to show how easily the output can be transformed.

Revision 670 – BNA Client Migrated

In this revision, minor changes were done to move the BNA client code outside of the non-public source base and into the public source base at BNAPURLConenction.java. This allows for external audit of the code and may improve trust and reduce concern. Also, if I’m doing something very wrong, others may notice.

The project retains all the test cases involving this and other parsers, so functionality is verified retained, there should be very little change in behavior.

The BNA backend-database client was added 21 months ago (Revision 345 – How to Read Nicknames from a BNA Server) and was improved 3 months later (Revision 450 – bnapsql Improvements).

Revision 665 – Handle Brocade Hanging F-ports

The underlying fibrechannel-parsers project added the ability to properly handle H{xxx} markup, which seems to be Brocade marking out Hanging fabric members (disappeared, never rejoined). In vitools, a testcase confirms functionality absorbed into vict.jar “-N” behavior.

In short, the ability to ignore hard-zoning was improved to get the WWPN from a hanging member as well.

Revision 657 – Cisco Show Zone

Added the ability to parse nicknames from a Cisco Show Zone. In short: blindly parse a “show zone” output, and if the text stream isn’t overly butchered, nicknames will be detected and imported to the VICT space for writing using -n file.csv or --nicknameout=file.csv

in fibrechannel-parsers version 0.3.39, a parser was added for the result of a cisco show zone:

zone name SANASVR001_FabA vsan 100
  fcalias name Oracle_123466 vsan 100
    pwwn 10:00:00:00:c9:12:34:66

  fcalias name HDS0123457_CL7F vsan 100
    pwwn 50:06:0e:80:12:34:56:78

This differs from a show device-alias database or a show fcalias in that the zone entries are present, and may contain vsan verbs. Implemented as a stream, it should be a bit more robust and accepting than a pure-scripted variant, so that content provided by (oh, my favorite!) a user cutting a session out to log and submitting that (because it’s just as good… nah, with the ANSI markers and color formatting, it’s better!). This isn’t a substitution for ignoring the very detail when (not) reading directions, but it should give us a fighting chance.

The addition is available in the same array of parsers, so it works without any new user-config. For example, list like the parsing of cisco device-alias database as a simple text stream (from FTP, HTTP, or FILE:// URLs), a simple --nickname= or -N will work:

java -jar vict.jar --nickname=file:///file/name.txt

(or the convenience fallback)
java -jar vict.jar --nickname=/file/name.txt

(or in short-form options)
java -jar vict.jar -N name.txt

(or in Windows)
VICT.BAT -N name.txt

The matching actions in the main toolkit using the fibrechannel-parsers project involves a test case to ensure the code is resident and functioning; by that method, whatever version of fibrechannel-parsers is found during the build will offer at minimum a functioning version of this extension.