Forum Discussion

BaltoStar_12467's avatar
Feb 17, 2015

BIG-IP : iControl API failure to retrieve system configuration file

BIG-IP 11.4.1 Build 635.0 Hotfix HF2

We have a C service that on a schedule performs a "health ping" of our BIG-IP devices by calling iControl API to retrieve the system configuration file :

SystemConfigSync.download_file("/config/bigip.conf", ... )

If exception is thrown (or blank config retrieved), the service will trigger an alert. Once a subsequent retrieve sys config succeeds, the alert is cancelled.

This service has been operational in production for over one year -- with no alerts.

However, over the past 4 days we've seen alerts firing frequently. Day 1 was the peak of a period of extraordinary site traffic that placed record load on our devices, however the peak dropped off drastically near end of day 1 and days 2,3,4 were normal traffic.

Logs reveal three distinct types of errors :

ERROR : SystemConfigSync.download_file() threw exception [Client found response content type of 'text/html; charset=iso-8859-1', but expected 'text/xml'.]

ERROR : SystemConfigSync.download_file() threw exception [The underlying connection was closed: An unexpected error occurred on a receive.]

ERROR : SystemConfigSync.download_file() threw exception [The request failed with HTTP status 401: F5 Authorization Required.]

The text/html errors are by far the most common, followed by connection-closed : both of these types of errors are ongoing. The auth errors occurred infrequently over the initial two days and then stopped completely.

What are some possible BIG-IP factors that could be contributing to iControl API failures to retrieve sys config file ? Could it be load related ( even though that doesn't match-up with day 2,3,4 ) ? Are there any config settings that could be contributing ?

Also, what determines the text format returned by

SystemConfigSync.download_file()
?

1 Reply

  • iControl is a fickle beast. Honestly, put a retry in your check. That's what I do with our metric collection system which pulls statistics every 5 minutes.