I blogged a while back about this issue in my post Fabric Manager and 3.3(5), but I wanted to post about it again because I am surprised I don’t hear more about this particular bug.
I don’t have all the details on this, but basically there is a bug in 3.x, which effects at least 3.3(3) and 3.3(5) (The two versions I spend most of my time working in), where Fabric Manager Service does not recognize the Grace License on the switch. MDS switches have a 120 day grace license on them, for all the different licenses. The clock on the license only runs while the switch is turned on and the feature is in use. If you disable the feature, the clock stops, a typical
show license usage output looks like this:
MDS1# show lic usage
Feature Ins Lic Status Expiry Date Comments
FM_SERVER_PKG Yes – Unused 18 Oct 2010 –
MAINFRAME_PKG No – In use Grace 102D 7H
ENTERPRISE_PKG No – In use Grace 91D 7H
DMM_FOR_SSM_PKG No 0 Unused –
SAN_EXTN_OVER_IP No 0 In use Grace 101D 17H
PORT_ACTIVATION_PKG No 0 Unused –
SME_FOR_IPS_184_PKG No 0 Unused –
STORAGE_SERVICES_184 No 0 Unused –
SAN_EXTN_OVER_IP_18_4 No 0 Unused –
SAN_EXTN_OVER_IP_IPS2 No 0 Unused –
SAN_EXTN_OVER_IP_IPS4 No 0 Unused –
STORAGE_SERVICES_SSN16 No 0 Unused –
10G_PORT_ACTIVATION_PKG No 0 Unused –
STORAGE_SERVICES_ENABLER_PKG No 0 Unused –
In studying for the CCIE Storage lab, Fabric Manager Server is a handy tool to have available. Potentially there are things on the lab that may require FMS, for example performance monitor. Its important to note that you can run stand alone (non-server based) Fabric Manager and do almost anything you would want to, but there are a few features you get with the FMS feature license, notably:
- Historical reporting and performance monitoring (Performance Monitor)
Multiple Fabric Support
FC Statistics Performance Monitoring
In any case, a bug exists in some versions of 3.x in which case the MDS gives incorrect information to FMS when FMS SNMP queries the MDS. FMS is not aware that there is a valid grace license and so it does not work. I thought I could combat this by installing a temp license from Cisco TAC. But it turns out that 3.x versions of FMS have a bug in them, where as the temp license is not recognized properly! I am not sure if this effects permanent licenses. So the fix was to upgrade FMS to 4.2(5). FMS is downward compatible so its ok to use 4.2(5) FMS with SAN-OS 3.3(5). So this combination, plus the temp license did the trick. Only one switch in the fabric needs a FMS license (in 3.x).
The Cisco bug ID for this weirdness is CSCsr44223, but I believe its marked as an internal only bug.
I racked my brain on this for sometime. I even tried to SNMP set the OID so that when FMS polled the MDS it would get a correct value. Unfortunately you cannot SNMP set the license OID’s, which makes sense :).
Actually this made me think of a really cool idea. You could use an application firewall type device to re-write things like simple SNMP polls, so that your equipment appears licensed. Many vendors just do a simple SNMP poll, and an application firewall could do an inspect/re-write of the SNMP data to say whatever you like. For example, here is a poll of an MDS licenses:
snmpwalk -v 2c -c public -M /usr/share/snmp/mds-mibs/ -m CISCO-LICENSE-MGR-MIB 172.16.3.151 .220.127.116.11.18.104.22.168.322.214.171.124.1.2
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”FM_SERVER_PKG” = BITS: 00
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”MAINFRAME_PKG” = BITS: 18 unlicensed(3) inGracePeriod(4)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”ENTERPRISE_PKG” = BITS: 18 unlicensed(3) inGracePeriod(4)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”DMM_FOR_SSM_PKG” = BITS: 10 unlicensed(3)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”SAN_EXTN_OVER_IP” = BITS: 18 unlicensed(3) inGracePeriod(4)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”PORT_ACTIVATION_PKG” = BITS: 10 unlicensed(3)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”SME_FOR_IPS_184_PKG” = BITS: 10 unlicensed(3)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”STORAGE_SERVICES_184″ = BITS: 10 unlicensed(3)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”SAN_EXTN_OVER_IP_18_4″ = BITS: 10 unlicensed(3)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”SAN_EXTN_OVER_IP_IPS2″ = BITS: 10 unlicensed(3)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”SAN_EXTN_OVER_IP_IPS4″ = BITS: 10 unlicensed(3)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”STORAGE_SERVICES_SSN16″ = BITS: 10 unlicensed(3)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”10G_PORT_ACTIVATION_PKG” = BITS: 10 unlicensed(3)
CISCO-LICENSE-MGR-MIB::clmLicenseFlag.”STORAGE_SERVICES_ENABLER_PKG” = BITS: 10 unlicensed(3)
The FMS license above shows 00, which is very odd, I don’t think that’s valid actually but that’s what it shows with my temp license installed. Normally it should look like the Mainframe package does, showing that its unlicensed and in grace. When the FMS polls the MDS, the MDS returns essentially the information above, which could be re-written with an application firewall…….opens up all kinds of possibilities. I would not consider this for production of course, but I am saying in a lab environment, like I have where you are just trying to get things to work, it would be a clever experiment.
If your using FMS Server with 3.x code I would be interested in knowing what versions you are using and if your using a grace license. Obviously this would only apply to someone using the licensed features such as Performance Monitor.