1.0.36 – Expand Entity Exclusion; ftp checksum improved

Parsing the error log from an Entity Validation now removes the MODIFY failures as well. Additionally, the FTP post-upload checker looks for a checksum file, and if so, checks the checksum against that file to more immediately informs of failed uploads.

The underlying library fibrechannel-parsers improved the ability to remove duplicate entities: entities that exist with a requirement to MODIFY are interpreted, and removed post-pattern-aggregation from the internal tree which generates the JSON result. This version confirms that behavior is present and remains functional.

This was partially done by removing duplicate code: the use of FCParser rather than the similar code which formed the basis of FCParser allowed those changes to overtake and offer the improved VW4InvalidAddedParser and the ShowZone2Parser.

Finally, slight modifications were done on the FTP upload checker: any detected .sum file is ignored in the short-term, but if a file is uploaded and a .sum file exists, the checksum is compared to the generated/detected checksum, and matches/mismatches are reported in the subject of the outgoing warning email:

Subject: Checksum:OK New File Upload 2014-07-27 21:10:00

This is intended to allow mailbox sorting to accelerate attention to the issue and fail-fast the upload.

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 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 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 666 – vw4tools.jar, vw4tool.bat, more parameters, and DeviceAliasParser

This revision was a rollup of a few updates, as follows:

vw4tools.jar and vw4tool.bat allow a basic windows user to locate and run their JRE against the vw4tools.jar file to non-interactively execute a function. This is very similar to the way vict.bat works, except that vw4tools.jar is rolled into vict.jar so both are available in the same package. vw4tool.bat does the right thing.

In order to allow more command line parameters, the convenience BAT files have swapped %# to %* for parameters. If you never ran into this, it’s no problem 🙂

DeviceAliasParser now ignores newlines; this was done in the FibreChannel-Parsers project externally, but testcases were corrected to confirm the behavior.

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.