[racktables-users] Re: Port Label Search Patch

  • From: Denis Ovsienko <pilot@xxxxxxxxxx>
  • To: racktables-users@xxxxxxxxxxxxx
  • Date: Mon, 28 Jul 2008 12:58:04 +0400

Heya.

> We've got a few special requirements that we're making mods to
> RackTables directly to facilitate them. The first is a Port label
> search. This is essentially an ability for us to search port labels
> of switches for hostnames (something we put in the desc on our
> Cisco's). I've attached a patch which includes port label searching
> in the default search.

Ok, let me explain something perhaps not told elsewhere. A label of a
port is something, that distinguishes it from other ports from the
operator's point of view. This is usually "1X", "2X", "3" or "slot 10
port 20". IOW, it is the numbering, that OEM permanently attaches to
the outer side of the hardware. When one wants to show, that the port is
occupied by something, there are two ways to do this:

1. Having all the necessary objects created (all switches, all
servers), just link the ports. This is the right way in many cases, and
hostname search would work without any additional efforts. A linked
port cannot be mistakenly linked again, and the relation can be easily
followed in both directions (from switch to server and from server to
switch).

2. If the remote side is beyond of local administrative scope
(customer server, peering network, etc), "reserve" the port. This is
done by filling in the input field in "(Un)link or (un)reserve" port
manager column. Reserved ports cannot be "linked" until they are freed
up. Extending the search function to cover contents of this column is a
good idea though.

A useful feature for people, that use patterns like yours (having
something put into port description for all busy ports) would be an
ability to import those descriptions from the switch and to convert
them into "reservations" selectively. I would suggest you considering
this.

> More patches will be forthcoming with the most notable one an 'auto
> populator' for Cisco switches that logs in, discovers all ports &
> discovers (via cdp) interlinked ports then inserts all the relevant
> details directly into the RackTables database.

There's already some code, which does some port mining via SNMP. If you
decide to do the CDP part, consider implementing it as another tab on
the "object" page, which would find the difference from the listed
connections and those discovered by CDP. The result would be presented
to the user to allow him picking for import connections guessed
correctly. This way the procedure could be repeated, when necessary.

A sample of this approach is the "Live PTR" tab for IP networks.

I hope it will help you to save some efforts and to fit the
result into codebase better. And another point, the indentation used to
be done with tabs (best width is 2), not spaces. Let me know, if you
want to know anything else.

-- 
    DO4-UANIC

Other related posts: