Jump to: navigation, search

Nova VM Diagnostics

Revision as of 11:34, 16 December 2013 by Garyk (talk | contribs) (Created page with "== Overview == The 'nova diagnostics' command provides diagnostics information for the specific VM. The purpose of the command is to provide the administrator with the informa...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Overview

The 'nova diagnostics' command provides diagnostics information for the specific VM. The purpose of the command is to provide the administrator with the information that will enable them to troubleshoot issues with a VM. Each driver has its own diagnostics capabilities and information that can be exposed. Currently get_diagnostics returns a dictionary of data specific to the driver.

Proposal

  • V2 - no changes. This will ensure that the code is backward compatible and users that have applications written against the V2 API will continue to work
  • V3 - namespace the statistics returned by the driver. That is, the dictionary returned by the driver will have the following format:

{'driver_type': {'key1': 'data1', 'key2': 'data2', ...}}

For example: The libvirt driver will return: {"libvirt" : {"cpu0_time": 17300000000, "memory": 524288, "vda_errors": -1, "vda_read": 262144, ...}}

The VMware driver will return: {"vmware" : {"annotation": None, "balloonedMemory": 0, "bootTime": 2013-12-16T03:20:28.040652, ...}}

Implementation Details

An additional parameter will be added to the method get_diagnostics. This will be "use_namespace". By default this will be False (this will be used by the V2 api). When the V3 API invokes the call it will be set as True, instructing the driver to namespace the dictionary data.