Fibre Channel (SAN)

Reply
Occasional Contributor
Posts: 11
Registered: ‎01-10-2008

Brocade API - Not Supported; Now not working?

We're just completed the upgrade of all the switches in our two major SAN fabrics to FOS 5.3.0d (from 5.2.x) and discovered that the API appears to have been broken or at least stopped working properly. Things were fine when we had a mixed fabric (i.e. some were on 5.3.0d and some on 5.2.x) but not now the last one has been upgraded.

Each fabric contains 19x3900,6x4100, 2x5000 and 2x48000.

The XML used/output from enquiries to the fabrics is as follows (tried changing the target switch, with no effect) -

One fails to list the fabric/switches and so prevents the 'establish session' from being run:

<?xml version="1.0" encoding="utf-16"?>
<SALRequest>
<MsgType>FabAPI_DiscoverFabrics</MsgType>
</SALRequest>

<?xml version='1.0' encoding='utf-8'?>
<SALResponse>
<Date>Fri Apr 4 13:44:38 2008</Date>
<EchoMsgType>FabAPI_DiscoverFabrics</EchoMsgType>
<structFabIdentities>
</structFabIdentities>
<structUnreachableEntries>
<FabAPI_ProxyEntry pcHostName="xx.xx.xx.xx" pcUser="admin" pcPassword="" />
</structUnreachableEntries>
<structUnstableEntries>
</structUnstableEntries>
</SALResponse>

The other lists the fabrics, but refuses to establish a session despite having the correct OID details:

<?xml version="1.0" encoding="utf-16"?>
<SALRequest>
<MsgType>FabAPI_DiscoverFabrics</MsgType>
</SALRequest>

<?xml version='1.0' encoding='utf-8'?>
<SALResponse>
<Date>Fri Apr 4 14:1:28 2008</Date>
<EchoMsgType>FabAPI_DiscoverFabrics</EchoMsgType>
<structFabIdentities>
<FabAPI_FabricIdentity>
<structFabSig structFabricOID="0009100000051e037419" >
<structSwitchOIDs>0002100000051e037419</structSwitchOIDs>
<snip>
</structFabSig>
<FabAPI_ProxyEntry pcHostName="xx.xx.xx.xx" pcUser="xxxxxxxx" pcPassword="" />
</FabAPI_FabricIdentity>
</structFabIdentities>
<structUnreachableEntries>
</structUnreachableEntries>
<structUnstableEntries>
</structUnstableEntries>
</SALResponse>

<?xml version="1.0" encoding="utf-16"?>
<SALRequest>
<MsgType>FabAPI_EstablishSession</MsgType>
<FabAPI_FabricIdentity fabricOID="0009100000051e037419" />
</SALRequest>

<?xml version='1.0' encoding='utf-8'?>
<SALResponse>
<Date>Fri Apr 4 14:1:29 2008</Date>
<EchoMsgType>FabAPI_EstablishSession</EchoMsgType>
<Fault>
<DetailString>ERR_ACCESS_ERROR</DetailString>
<SALErrorCode>-56</SALErrorCode>
</Fault>
</SALResponse>

A third - smaller - fabric which is completely on 5.3.0c still works OK:

<?xml version="1.0" encoding="utf-16"?>
<SALRequest>
<MsgType>FabAPI_AppendProxyEntry</MsgType>
<FabAPI_ProxyEntry pcHostName="xx.xx.xx.xx" pcUser="xxxxxxxx" pcPassword="xxxxxxxx" />
</SALRequest>
<?xml version='1.0' encoding='utf-8'?>
<SALResponse>
<Date>Fri Apr 4 13:46:9 2008</Date>
<EchoMsgType>FabAPI_AppendProxyEntry</EchoMsgType>
</SALResponse>
<?xml version="1.0" encoding="utf-16"?>
<SALRequest>
<MsgType>FabAPI_DiscoverFabrics</MsgType>
</SALRequest>
<?xml version='1.0' encoding='utf-8'?>
<SALResponse>
<Date>Fri Apr 4 13:46:9 2008</Date>
<EchoMsgType>FabAPI_DiscoverFabrics</EchoMsgType>
<structFabIdentities>
<FabAPI_FabricIdentity>
<structFabSig structFabricOID="0009100000051e02e8ba" >
<structSwitchOIDs>0002100000051e02e8ba</structSwitchOIDs>
<snip>
</structFabSig>
<FabAPI_ProxyEntry pcHostName="xx.xx.xx.xx" pcUser="xxxxxxxx" pcPassword="" />
</FabAPI_FabricIdentity>
</structFabIdentities>
<structUnreachableEntries>
</structUnreachableEntries>
<structUnstableEntries>
</structUnstableEntries>
</SALResponse>
<?xml version="1.0" encoding="utf-16"?>
<SALRequest>
<MsgType>FabAPI_EstablishSession</MsgType>
<FabAPI_FabricIdentity fabricOID="0009100000051e02e8ba" />
</SALRequest>
<?xml version='1.0' encoding='utf-8'?>
<SALResponse>
<Date>Fri Apr 4 13:46:9 2008</Date>
<EchoMsgType>FabAPI_EstablishSession</EchoMsgType>
<Session OID="0044100000051e02e8ba" SessionID="0x10000" />
</SALResponse>

The code has been running happily for a few years now with no problems.

Any ideas anywhere? Is this finally the end of the API - with all the handy 'home rolled' scripts that it allowed?.

Cheers,

Alastair

P.S. To anyone considering responding that I should be using the SMI-S agent. If you can supply (or point me to) some simple sample code in VB or a scripting language that doesn't involve purchasing a third part product or installing a special framework (other than the SMI-S agent itself) then I would be only too glad to change! ...

Occasional Contributor
Posts: 11
Registered: ‎01-10-2008

Re: Brocade API - Not Supported; Now not working?

No response, so I guess no one else has any problems with the API at the moment. Maybe it's just our fabrics ...

Now decided to bite the bullet and start 'playing with' SMI-S again and all the headaches that entails. Although initial results are not as bad as feared.

- Alastair

Occasional Contributor
Posts: 6
Registered: ‎05-06-2011

Re: Brocade API - Not Supported; Now not working?

Hi Alastair,

I am completely new to Brocade's environment. I was intrigued by posts as I wanted my self to devlop some kind of tool that would interact with Brocade's Fabric in order to automate some zoning and similar operations on the SAN.

I have tried for quite a bit to fin dthe official API but I couldn't ! I don't unerstand why everybody is talking about SMI agent whereas there is not API anywhere to work with.

Do you have any tips for a newbie  ?

Thank you

A.

Valued Contributor
Posts: 931
Registered: ‎12-30-2009

Re: Brocade API - Not Supported; Now not working?

Next time please open your own thread as you can rate the answers given and closed ti when you got an answer.

Everbody is talking about SMI-S because the Brocade API is not available anymore, thats why you could not find it.

Your alternative is the SMI-S agent found here >> http://www.brocade.com/services-support/drivers-downloads/smi-agent/index.page

I don't know the inner workings thus am unable to get you started with your scripts, but did find some documents in  >> http://community.brocade.com/message/17098#17098

If your fabric/SAN is small enough you could consider using DCFM which is free (but limited) in the Professional edition

Check out the details @ http://www.brocade.com/products/all/management-software/product-details/dcfm-professional/index.page

Occasional Contributor
Posts: 6
Registered: ‎05-06-2011

Re: Brocade API - Not Supported; Now not working?

Hi,

I opened a thread that stayed unanswered for some time now.

http://community.brocade.com/message/17265#17265

Concerning SMI agent. I don't really get the real usage of it ? is it a monitoring tool? can it process commands ?

The goal is not to use DCFM but to have scripts that do the zoning in a semi-automatic way.

Any ideas ?

thank you for your help

External Moderator
Posts: 4,907
Registered: ‎02-23-2004

Re: Brocade API - Not Supported; Now not working?

I've answered at several time, API is not longer Supported with NEW FOS release, and as be discontunued by Brocade as fair as i remeber since FOS 5.x.

You have to switch to SMI.

At this point not make sense that you Opne a NEW Threads, the answer will be the same.

TechHelp24
Occasional Contributor
Posts: 6
Registered: ‎05-06-2011

Re: Brocade API - Not Supported; Now not working?

Dear TechHelp24,

you never anyswered any of my posts, so far this is the first time. Thanks

Concerning SMI, I don't know if it answers my needs:

I would like to snd commands to the Fabric such a zoning and configuration change, but fromo another software (i.e using the interface of SMI)

Is SMI meant for such a thing ?

I would like some real answer not a redirection to the documentation...

Best regards.

External Moderator
Posts: 4,907
Registered: ‎02-23-2004

Re: Brocade API - Not Supported; Now not working?

--->>>you never anyswered any of my posts,...

I wrote in my aswer in preview post:

"I've answered at several time, API is not longer Supported with NEW FOS release,"

and not

I've answered "YOUR POST" at several time.

that a bit difference.

--->>I would like some real answer.....

All that is descripted as well in the Documentation.

TechHelp24
Valued Contributor
Posts: 931
Registered: ‎12-30-2009

Re: Brocade API - Not Supported; Now not working?

Yes SMI-S can be used to send command to the fabric.

To which extend I do not know, but I do know that EMC Ionix tools use SMI-s to load new zonesets into the fabric.

TechHelp24 pointed out that how to documents are existing so try to locate those.

Join the Community

Get quick and easy access to valuable resource designed to help you manage your Brocade Network.