The Apparent Story Behind OpenStack Component Log File Names

AWS used to have a separate API package from their CLI package; now the two are the same.  OpenStack components' command line interface activity is captured in a log when proper thresholds are set (e.g., nova.conf, glance.conf etc.) and later met.  CLI activity (which bypasses Horizon) as well as GUI API activity (e.g., mouse clicks on buttons in Horizon) is written to a file named api.log.  The location of this api.log file follows this convention: /var/log/OpenStackComponentName/api.log (where "OpenStackComponentName" is nova, neutron, glance, or swift, etc.).

The maker of the preeminent F5 load balancer has a corresponding technical cyber community named DevCentral.  One of the cofounders of this community, Jeff Browning, believes there is a salient difference between the CLI and API technologies.  (You can read his article here.)   Taking Glance as an example, it seems that he would disagree with OpenStack naming the Glance log api.log when it captures Glance CLI activity. 

On the other hand, enterprise, TCP/IP networking author Ivan Pepelnjak views APIs and CLIs as very similar concepts.   (See this link for Pepelnjak's opinions on similarities between APIs and CLIs.)  It appears that he may agree with the design of OpenStack and naming the log api.log when it captures CLI activity as well as API activity for a given OpenStack component.  So maybe the short name api.log is better than a compound word like api-cli.log.  Logging to one file can allow for greater centralization of logs which can aid troubleshooting for often unruly technologies like components of OpenStack.

Apparently there is a reason that the OpenStack foundation has file with the name api.log capture CLI and API activity.  According to OpenStack Operations Guide, written by Fifield, Fleming, Gentle, Hochstein, Proulx, Towes, and Topjian and published in May of 2014, there are plans to eliminate CLIs from bypassing the APIs.  Command line tools will eventually invoke API-based tools (along with Horizon).  Right now, the CLI commands can bypass API endpoints.  Knowing that API-based commands will be used for all OpenStack operations should eliminate the confusion about the name of the log files.

Leave a comment

Your email address will not be published. Required fields are marked *