)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4912,"name":"Michael H Wilson","email":"geekinutah@gmail.com","username":"geekinutah"},"change_message_id":"ed512ba99a0c7df8818e007f691dfe12fd21dbb2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gary Kotton \u003cgkotton@vmware.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-04-30 08:50:52 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Proposed blueprint for better V3 diagnostics"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Part of blueprint v3-diagnostics."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"9ad9bd40_13e7c513","line":7,"updated":"2014-04-30 17:31:34.000000000","message":"Could you be a bit more descriptive in the commit? Just adding a few lines below to flush out the idea a bit more would be helpful for reviewers IMO.","commit_id":"aaaa89c111b8aa0e36a658776f658dc331b763d2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0e7e852b509a8442922855fd83c605c51ffadc61","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gary Kotton \u003cgkotton@vmware.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-04-30 08:50:52 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Proposed blueprint for better V3 diagnostics"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Part of blueprint v3-diagnostics."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"9ad9bd40_7d552e1c","line":7,"in_reply_to":"9ad9bd40_13e7c513","updated":"2014-05-01 12:25:29.000000000","message":"Done","commit_id":"aaaa89c111b8aa0e36a658776f658dc331b763d2"}],"specs/juno/v3-diagnostics.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7878ee434e1d2d483de309711b5b37ca341559b5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"None"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"This has already been implemented for the V3 API. In this case we will be calling the"},{"line_number":49,"context_line":"new API."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Security impact"},{"line_number":52,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F808%3D","line":49,"updated":"2014-04-09 10:14:42.000000000","message":"It totally changes the return values, unless I am missing something?\n\nIdeally, you would include the information from here:\nhttps://wiki.openstack.org/wiki/Nova_VM_Diagnostics#Proposal\n\nOne other key thing is talking about what values are *required* and what are *optional*","commit_id":"31c984befe621c278cbdbed6aad9c822b367aa16"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7878ee434e1d2d483de309711b5b37ca341559b5","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Testing"},{"line_number":110,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Once the API is approved we can add in the tempest tests."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Documentation Impact"},{"line_number":115,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F80E%3D","line":112,"updated":"2014-04-09 10:14:42.000000000","message":"discussion of optional vs required is probably important for these.","commit_id":"31c984befe621c278cbdbed6aad9c822b367aa16"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7878ee434e1d2d483de309711b5b37ca341559b5","unresolved":false,"context_lines":[{"line_number":115,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"We can now at least document the fields that are returned and their meaning."},{"line_number":118,"context_line":"The definition of the data returned can be seen at the wiki below."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"References"},{"line_number":121,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAW3%2F%2F8zw%3D","line":118,"updated":"2014-04-09 10:14:42.000000000","message":"should not rely on external sources, but referencing the discussion on the wiki is cool","commit_id":"31c984befe621c278cbdbed6aad9c822b367aa16"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"ee7e0e3e5bccf67150703dade2ed619f81d27286","unresolved":false,"context_lines":[{"line_number":230,"context_line":"Testing"},{"line_number":231,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"Once the API is approved we can add in the tempest tests."},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"Documentation Impact"},{"line_number":236,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAW3%2F%2F74Y%3D","line":233,"updated":"2014-04-09 11:37:53.000000000","message":"Can we be more specific about the tests that will be added? The point of the testing block was to be more specific about the testing up front so it wasn\u0027t just an after thought.","commit_id":"3f64d0d5258b99e6545ba35017bcb3d14132fa8f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"067555ae6e5f7c288b0ad551d31d93b8a1526250","unresolved":false,"context_lines":[{"line_number":230,"context_line":"Testing"},{"line_number":231,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"Once the API is approved we can add in the tempest tests."},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"Documentation Impact"},{"line_number":236,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAW3%2F%2F70U%3D","line":233,"in_reply_to":"AAAAW3%2F%2F74Y%3D","updated":"2014-04-09 11:47:09.000000000","message":"Done","commit_id":"3f64d0d5258b99e6545ba35017bcb3d14132fa8f"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"5ce29fba1e436c33e8081d58ad73e9d6acce011d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"| time                   | CPU Time in nano seconds (Integer)                       |"},{"line_number":78,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The network details will be an array of dictionaries per each virtual NIC."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":83,"context_line":"| Key                    | Description                                              |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAAW3%2F%2F0lg%3D","line":80,"updated":"2014-04-10 07:31:34.000000000","message":"I think it would be nice to put MAC address in here otherwise it\u0027s hard to know which NIC is which.","commit_id":"39fc32daef5940112706419f96ef7d0865f300bf"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0dd88b35c3f58aca7932c7457981128a9e59d16d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"| time                   | CPU Time in nano seconds (Integer)                       |"},{"line_number":78,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The network details will be an array of dictionaries per each virtual NIC."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":83,"context_line":"| Key                    | Description                                              |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAAW3%2F%2F0Dc%3D","line":80,"in_reply_to":"AAAAW3%2F%2F0lg%3D","updated":"2014-04-10 08:46:06.000000000","message":"i have added in an interface ID.","commit_id":"39fc32daef5940112706419f96ef7d0865f300bf"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"5ce29fba1e436c33e8081d58ad73e9d6acce011d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"| tx_packets             | Transmit packets (Integer)                               |"},{"line_number":100,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"The disk details will be an array of dictionaries per each virtual disk."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":105,"context_line":"| Key                    | Description                                              |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAAW3%2F%2F0lY%3D","line":102,"updated":"2014-04-10 07:31:34.000000000","message":"Similar to above - how to tell which disk is which?","commit_id":"39fc32daef5940112706419f96ef7d0865f300bf"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0dd88b35c3f58aca7932c7457981128a9e59d16d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"| tx_packets             | Transmit packets (Integer)                               |"},{"line_number":100,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"The disk details will be an array of dictionaries per each virtual disk."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":105,"context_line":"| Key                    | Description                                              |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAAW3%2F%2F0DY%3D","line":102,"in_reply_to":"AAAAW3%2F%2F0lY%3D","updated":"2014-04-10 08:46:06.000000000","message":"i have added in a disk ID","commit_id":"39fc32daef5940112706419f96ef7d0865f300bf"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"5ce29fba1e436c33e8081d58ad73e9d6acce011d","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            \u0027uptime\u0027: 7,"},{"line_number":133,"context_line":"            \u0027num_cpus\u0027: 1,"},{"line_number":134,"context_line":"            \u0027num_vnics\u0027: 1,"},{"line_number":135,"context_line":"            \u0027num_disks\u0027: 1,"},{"line_number":136,"context_line":"            \u0027cpu_details\u0027: [{\u0027time\u0027: 1024}]"},{"line_number":137,"context_line":"            \u0027network_details\u0027: [{\u0027rx_octets\u0027: 0,"},{"line_number":138,"context_line":"                                 \u0027rx_errors\u0027: 0,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAAW3%2F%2F0lA%3D","line":135,"updated":"2014-04-10 07:31:34.000000000","message":"Nit: These num_* counts are redundant as we can simply count the entries in the arrays below.  I can see that they might be useful - just thinking of \"D.R.Y\"","commit_id":"39fc32daef5940112706419f96ef7d0865f300bf"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0dd88b35c3f58aca7932c7457981128a9e59d16d","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            \u0027uptime\u0027: 7,"},{"line_number":133,"context_line":"            \u0027num_cpus\u0027: 1,"},{"line_number":134,"context_line":"            \u0027num_vnics\u0027: 1,"},{"line_number":135,"context_line":"            \u0027num_disks\u0027: 1,"},{"line_number":136,"context_line":"            \u0027cpu_details\u0027: [{\u0027time\u0027: 1024}]"},{"line_number":137,"context_line":"            \u0027network_details\u0027: [{\u0027rx_octets\u0027: 0,"},{"line_number":138,"context_line":"                                 \u0027rx_errors\u0027: 0,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAAW3%2F%2F0C0%3D","line":135,"in_reply_to":"AAAAW3%2F%2F0lA%3D","updated":"2014-04-10 08:46:06.000000000","message":"i think it is useful. to be honest i would find it pretty difficult to have to understand to count the number of entries in an array.","commit_id":"39fc32daef5940112706419f96ef7d0865f300bf"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In V2 the VM diagnostics are a \u0027blob\u0027 of data returned by each hypervisor. The goal"},{"line_number":23,"context_line":"here is to have a formal definition of what out should be returned, if possible, by"},{"line_number":24,"context_line":"the drivers supporting the API. In additition to this a driver will be able to return"},{"line_number":25,"context_line":"additional if they choose."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxQk%3D","line":23,"updated":"2014-04-10 14:36:01.000000000","message":"s/out/output/ ?","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In V2 the VM diagnostics are a \u0027blob\u0027 of data returned by each hypervisor. The goal"},{"line_number":23,"context_line":"here is to have a formal definition of what out should be returned, if possible, by"},{"line_number":24,"context_line":"the drivers supporting the API. In additition to this a driver will be able to return"},{"line_number":25,"context_line":"additional if they choose."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2Fvy4%3D","line":23,"in_reply_to":"AAAAW3%2F%2FxQk%3D","updated":"2014-04-10 18:01:49.000000000","message":"Done","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":22,"context_line":"In V2 the VM diagnostics are a \u0027blob\u0027 of data returned by each hypervisor. The goal"},{"line_number":23,"context_line":"here is to have a formal definition of what out should be returned, if possible, by"},{"line_number":24,"context_line":"the drivers supporting the API. In additition to this a driver will be able to return"},{"line_number":25,"context_line":"additional if they choose."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposed change"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxS4%3D","line":25,"updated":"2014-04-10 14:36:01.000000000","message":"Several lines need wrapping here and above. I\u0027ll assume you can find and fix the rest in this file :)","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":22,"context_line":"In V2 the VM diagnostics are a \u0027blob\u0027 of data returned by each hypervisor. The goal"},{"line_number":23,"context_line":"here is to have a formal definition of what out should be returned, if possible, by"},{"line_number":24,"context_line":"the drivers supporting the API. In additition to this a driver will be able to return"},{"line_number":25,"context_line":"additional if they choose."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposed change"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2Fvy0%3D","line":25,"in_reply_to":"AAAAW3%2F%2FxS4%3D","updated":"2014-04-10 18:01:49.000000000","message":"Done","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":38,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":39,"context_line":"| Key                    | Description                                              |"},{"line_number":40,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":41,"context_line":"| state                  | The current state of the VM. The possible values are:    |"},{"line_number":42,"context_line":"|                        | \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027, \u0027crashed\u0027,   |"},{"line_number":43,"context_line":"|                        | \u0027suspended\u0027 and \u0027building\u0027 (String)                      |"},{"line_number":44,"context_line":"+------------------------+----------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxM4%3D","line":41,"updated":"2014-04-10 14:36:01.000000000","message":"This is already available for the VM via the detail view, right? Is there a reason to have it here as well?","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":38,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":39,"context_line":"| Key                    | Description                                              |"},{"line_number":40,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":41,"context_line":"| state                  | The current state of the VM. The possible values are:    |"},{"line_number":42,"context_line":"|                        | \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027, \u0027crashed\u0027,   |"},{"line_number":43,"context_line":"|                        | \u0027suspended\u0027 and \u0027building\u0027 (String)                      |"},{"line_number":44,"context_line":"+------------------------+----------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2Fvyk%3D","line":41,"in_reply_to":"AAAAW3%2F%2FxM4%3D","updated":"2014-04-10 18:01:49.000000000","message":"my thinking here was it would be better to get the details in one query and not have to piece them together from all different commands.","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":40,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":41,"context_line":"| state                  | The current state of the VM. The possible values are:    |"},{"line_number":42,"context_line":"|                        | \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027, \u0027crashed\u0027,   |"},{"line_number":43,"context_line":"|                        | \u0027suspended\u0027 and \u0027building\u0027 (String)                      |"},{"line_number":44,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":45,"context_line":"| driver                 | A string denoting the driver on which the VM is running. |"},{"line_number":46,"context_line":"|                        | Examples may be: \u0027libvirt\u0027, \u0027xenserver\u0027, \u0027docker\u0027,       |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxTE%3D","line":43,"updated":"2014-04-10 14:36:01.000000000","message":"I\u0027m an rst newbie, so I didn\u0027t recognize this elaborate syntax as a proper table, but it sure looks nice in the HTML :)\n\nCan you wrap the contents of the description field so that this reads properly in text format?","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":40,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":41,"context_line":"| state                  | The current state of the VM. The possible values are:    |"},{"line_number":42,"context_line":"|                        | \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027, \u0027crashed\u0027,   |"},{"line_number":43,"context_line":"|                        | \u0027suspended\u0027 and \u0027building\u0027 (String)                      |"},{"line_number":44,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":45,"context_line":"| driver                 | A string denoting the driver on which the VM is running. |"},{"line_number":46,"context_line":"|                        | Examples may be: \u0027libvirt\u0027, \u0027xenserver\u0027, \u0027docker\u0027,       |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FvxY%3D","line":43,"in_reply_to":"AAAAW3%2F%2FxTE%3D","updated":"2014-04-10 18:01:49.000000000","message":"i am trying","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":44,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":45,"context_line":"| driver                 | A string denoting the driver on which the VM is running. |"},{"line_number":46,"context_line":"|                        | Examples may be: \u0027libvirt\u0027, \u0027xenserver\u0027, \u0027docker\u0027,       |"},{"line_number":47,"context_line":"|                        | \u0027hyper-v\u0027 and \u0027vmware\u0027 (String)                          |"},{"line_number":48,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":49,"context_line":"| uptime                 | The amount of time in seconds that the VM has been       |"},{"line_number":50,"context_line":"|                        | running (Integer)                                        |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxMo%3D","line":47,"updated":"2014-04-10 14:36:01.000000000","message":"What string is used? Seems like standardizing on the nova/virt/(.*)/ name would be good? That means:\n\n s/hyper-v/hyperv/\n s/vmware/vmwareapi/\n\nright?","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":44,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":45,"context_line":"| driver                 | A string denoting the driver on which the VM is running. |"},{"line_number":46,"context_line":"|                        | Examples may be: \u0027libvirt\u0027, \u0027xenserver\u0027, \u0027docker\u0027,       |"},{"line_number":47,"context_line":"|                        | \u0027hyper-v\u0027 and \u0027vmware\u0027 (String)                          |"},{"line_number":48,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":49,"context_line":"| uptime                 | The amount of time in seconds that the VM has been       |"},{"line_number":50,"context_line":"|                        | running (Integer)                                        |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FvuU%3D","line":47,"in_reply_to":"AAAAW3%2F%2FxMo%3D","updated":"2014-04-10 18:01:49.000000000","message":"Done","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":51,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":52,"context_line":"| num_cpus               | The number of vCPUs (Integer)                            |"},{"line_number":53,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":54,"context_line":"| num_vnics              | The number of vNICS (Integer)                            |"},{"line_number":55,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":56,"context_line":"| num_disks              | The number of disks (Integer)                            |"},{"line_number":57,"context_line":"+------------------------+----------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxLU%3D","line":54,"updated":"2014-04-10 14:36:01.000000000","message":"Can we standardize of prefixing with v or not? I think dropping the v from nics here would make them all consistent.","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":51,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":52,"context_line":"| num_cpus               | The number of vCPUs (Integer)                            |"},{"line_number":53,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":54,"context_line":"| num_vnics              | The number of vNICS (Integer)                            |"},{"line_number":55,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":56,"context_line":"| num_disks              | The number of disks (Integer)                            |"},{"line_number":57,"context_line":"+------------------------+----------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2Fvsk%3D","line":54,"in_reply_to":"AAAAW3%2F%2FxLU%3D","updated":"2014-04-10 18:01:49.000000000","message":"Done","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":57,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":58,"context_line":"| cpu_details            | An array of details (a dictionary) per vCPU (see below)  |"},{"line_number":59,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":60,"context_line":"| network_details        | An array of details (a dictionary) per vNIC (see below)  |"},{"line_number":61,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":62,"context_line":"| disk_details           | An array of details (a dictionary) per disk (see below)  |"},{"line_number":63,"context_line":"+------------------------+----------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxKw%3D","line":60,"updated":"2014-04-10 14:36:01.000000000","message":"Should this be nic_details to be consistent with num_nics?","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":57,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":58,"context_line":"| cpu_details            | An array of details (a dictionary) per vCPU (see below)  |"},{"line_number":59,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":60,"context_line":"| network_details        | An array of details (a dictionary) per vNIC (see below)  |"},{"line_number":61,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":62,"context_line":"| disk_details           | An array of details (a dictionary) per disk (see below)  |"},{"line_number":63,"context_line":"+------------------------+----------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FvlM%3D","line":60,"in_reply_to":"AAAAW3%2F%2FxKw%3D","updated":"2014-04-10 18:01:49.000000000","message":"Done","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":108,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":109,"context_line":"| id                     | Disk ID (String)                                         |"},{"line_number":110,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":111,"context_line":"| reads                  | Disk reads in bytes(Integer)                             |"},{"line_number":112,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":113,"context_line":"| read_requests          | Read request (Integer)                                   |"},{"line_number":114,"context_line":"+------------------------+----------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxG0%3D","line":111,"updated":"2014-04-10 14:36:01.000000000","message":"I would have thought \"reads\" would be \"read iops\". Maybe this should be read_bytes?","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":108,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":109,"context_line":"| id                     | Disk ID (String)                                         |"},{"line_number":110,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":111,"context_line":"| reads                  | Disk reads in bytes(Integer)                             |"},{"line_number":112,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":113,"context_line":"| read_requests          | Read request (Integer)                                   |"},{"line_number":114,"context_line":"+------------------------+----------------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FviA%3D","line":111,"in_reply_to":"AAAAW3%2F%2FxG0%3D","updated":"2014-04-10 18:01:49.000000000","message":"Done","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":126,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":127,"context_line":"| maximum                | Amount of memory provisioned for the VM in MB (Integer)  |"},{"line_number":128,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":129,"context_line":"| used                   | Amount of memory used by the VM in MB (Integer)          |"},{"line_number":130,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Below is an example of the dictionary data returned by the fake driver::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxGI%3D","line":129,"updated":"2014-04-10 14:36:01.000000000","message":"Is this the balloon level or something that is supposed to represent how much memory the guest has actually allocated of its maximum?","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":126,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":127,"context_line":"| maximum                | Amount of memory provisioned for the VM in MB (Integer)  |"},{"line_number":128,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":129,"context_line":"| used                   | Amount of memory used by the VM in MB (Integer)          |"},{"line_number":130,"context_line":"+------------------------+----------------------------------------------------------+"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Below is an example of the dictionary data returned by the fake driver::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2Fve4%3D","line":129,"in_reply_to":"AAAAW3%2F%2FxGI%3D","updated":"2014-04-10 18:01:49.000000000","message":"this is meant to be the current amount of memory that is used by the VM","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":239,"context_line":"not return NotImplemented (which may be the case if the driver does"},{"line_number":240,"context_line":"not support the method):"},{"line_number":241,"context_line":"1. Check that the returned driver is one of the supported ones in tree (at the"},{"line_number":242,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)"},{"line_number":243,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"},{"line_number":244,"context_line":"3. Check that the disk data matches the flavor"},{"line_number":245,"context_line":"4. Check that the memory matches the flavor"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxFQ%3D","line":242,"updated":"2014-04-10 14:36:01.000000000","message":"Do you have support for this from the tempest community? I expect they will not want to do this.\n\nHowever, I think that just checking that this is exposed, as well as checking the validity of the values below would be fine.","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":239,"context_line":"not return NotImplemented (which may be the case if the driver does"},{"line_number":240,"context_line":"not support the method):"},{"line_number":241,"context_line":"1. Check that the returned driver is one of the supported ones in tree (at the"},{"line_number":242,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)"},{"line_number":243,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"},{"line_number":244,"context_line":"3. Check that the disk data matches the flavor"},{"line_number":245,"context_line":"4. Check that the memory matches the flavor"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FvT0%3D","line":242,"in_reply_to":"AAAAW3%2F%2FxFQ%3D","updated":"2014-04-10 18:01:49.000000000","message":"at the moment there is bug 1240043\nthis will first and foremost address that and then be able to check additional details","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3ff7550f8c5683cf58bf92ed5ec34cb30fbbe8da","unresolved":false,"context_lines":[{"line_number":242,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)"},{"line_number":243,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"},{"line_number":244,"context_line":"3. Check that the disk data matches the flavor"},{"line_number":245,"context_line":"4. Check that the memory matches the flavor"},{"line_number":246,"context_line":"5. If A cinder volume has been attached then we check that there is the correct"},{"line_number":247,"context_line":"amount of disks attached"},{"line_number":248,"context_line":"6. Check that the number of vNics matches the instance running"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FxEs%3D","line":245,"updated":"2014-04-10 14:36:01.000000000","message":"What is the point of having these values in the output if they just have to match the flavor?","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2d2b7dc923f7983e9187e8c8e2420853602e9c02","unresolved":false,"context_lines":[{"line_number":242,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)"},{"line_number":243,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"},{"line_number":244,"context_line":"3. Check that the disk data matches the flavor"},{"line_number":245,"context_line":"4. Check that the memory matches the flavor"},{"line_number":246,"context_line":"5. If A cinder volume has been attached then we check that there is the correct"},{"line_number":247,"context_line":"amount of disks attached"},{"line_number":248,"context_line":"6. Check that the number of vNics matches the instance running"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAAW3%2F%2FvTY%3D","line":245,"in_reply_to":"AAAAW3%2F%2FxEs%3D","updated":"2014-04-10 18:01:49.000000000","message":"this is to actually check that the vm that is running matches the configured flavor.","commit_id":"441bc2ff47f9eba6753a3d79c7ed26fe5275ea4c"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"3c0ffa5c27943b330570d6fe4c6c8dd1c50854dd","unresolved":false,"context_lines":[{"line_number":15,"context_line":"format."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"**NOTE:** this cannot be used for V2 as there may be existing deployments that"},{"line_number":18,"context_line":"parse the current output of the V2 diagnostics."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAW3%2F%2FmG0%3D","line":18,"updated":"2014-04-11 21:55:04.000000000","message":"If https://review.openstack.org/#/c/84695/ is put in place, pretty much replacing v2 with v3, how is this blueprint affected?","commit_id":"237937ad9daf4438f9207e3121dbcb7fa78965c5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d70c3d27cec74c459c70b55d5af4bd4f479434d7","unresolved":false,"context_lines":[{"line_number":15,"context_line":"format."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"**NOTE:** this cannot be used for V2 as there may be existing deployments that"},{"line_number":18,"context_line":"parse the current output of the V2 diagnostics."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAW3%2F%2Fi6M%3D","line":18,"in_reply_to":"AAAAW3%2F%2FmG0%3D","updated":"2014-04-13 06:17:51.000000000","message":"Very good question. I do not think that anyone is actually parsing the current diagnostics outputs, but if they were it would break. They too would break if there was more than one backend virt driver. To be honest I would consider it a bug fix. It is cretianly worth more discussion","commit_id":"237937ad9daf4438f9207e3121dbcb7fa78965c5"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"3c0ffa5c27943b330570d6fe4c6c8dd1c50854dd","unresolved":false,"context_lines":[{"line_number":164,"context_line":"------------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Continue with the same format that the V2 has. This is problematic as"},{"line_number":167,"context_line":"we are able to build common user interface that can query VM states,"},{"line_number":168,"context_line":"for example in tempest."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAW3%2F%2FmGo%3D","line":167,"updated":"2014-04-11 21:55:04.000000000","message":"do you mean unable?","commit_id":"237937ad9daf4438f9207e3121dbcb7fa78965c5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d70c3d27cec74c459c70b55d5af4bd4f479434d7","unresolved":false,"context_lines":[{"line_number":164,"context_line":"------------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Continue with the same format that the V2 has. This is problematic as"},{"line_number":167,"context_line":"we are able to build common user interface that can query VM states,"},{"line_number":168,"context_line":"for example in tempest."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"AAAAW3%2F%2Fi6I%3D","line":167,"in_reply_to":"AAAAW3%2F%2FmGo%3D","updated":"2014-04-13 06:17:51.000000000","message":"Done","commit_id":"237937ad9daf4438f9207e3121dbcb7fa78965c5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"In V2 the VM diagnostics are a \u0027blob\u0027 of data returned by each hypervisor. The"},{"line_number":24,"context_line":"goal here is to have a formal definition of what output should be returned, if"},{"line_number":25,"context_line":"possible, by the drivers supporting the API. In additition to this a driver"},{"line_number":26,"context_line":"will be able to return additional if they choose."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed change"},{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiZ0%3D","line":26,"updated":"2014-04-13 12:43:02.000000000","message":"additional what? data?  i.e. driver_private_data?","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":23,"context_line":"In V2 the VM diagnostics are a \u0027blob\u0027 of data returned by each hypervisor. The"},{"line_number":24,"context_line":"goal here is to have a formal definition of what output should be returned, if"},{"line_number":25,"context_line":"possible, by the drivers supporting the API. In additition to this a driver"},{"line_number":26,"context_line":"will be able to return additional if they choose."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed change"},{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiXk%3D","line":26,"in_reply_to":"AAAAW3%2F%2FiZ0%3D","updated":"2014-04-13 13:36:30.000000000","message":"Done","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Introduce a new driver method that will return a predefined structure:"},{"line_number":32,"context_line":"get_instance_diagnostics(self, instance)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The proposal is to have the drivers return the following information in a"},{"line_number":35,"context_line":"dictionary. If the driver is unable to return the value or does not have"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiZs%3D","line":32,"updated":"2014-04-13 12:43:02.000000000","message":"Is context needed on the driver method at all or is it always assumed to be admin context calling this API?\n\nAlso, why is it a new driver method?  I probably missed that point along the way so maybe good to explain here why it\u0027s a new method rather than update the existing method?","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Introduce a new driver method that will return a predefined structure:"},{"line_number":32,"context_line":"get_instance_diagnostics(self, instance)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The proposal is to have the drivers return the following information in a"},{"line_number":35,"context_line":"dictionary. If the driver is unable to return the value or does not have"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiXc%3D","line":32,"in_reply_to":"AAAAW3%2F%2FiZs%3D","updated":"2014-04-13 13:36:30.000000000","message":"at the moment the context is not needed. in the existing API - there is a comment that indicates that a context may be added (not sure why though - in all of the drivers that we have implemented this code it is not required)\n\nit is a new driver method. the reason for this is that it is much cleaner to have a new method instead of having if\u0027s which indicate if it is new or legacy.","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"| memory_details         | A dictionary of memory details (see below)        |"},{"line_number":70,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":71,"context_line":"| driver_private_data    | A dictionary of private data from the driver.s    |"},{"line_number":72,"context_line":"|                        | This is driver specific and each driver can ion   |"},{"line_number":73,"context_line":"|                        | return information valuable for diagnosing VM     |"},{"line_number":74,"context_line":"|                        | issues. The raw data should be versioned.         |"},{"line_number":75,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiZ4%3D","line":72,"updated":"2014-04-13 12:43:02.000000000","message":"ion?","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":69,"context_line":"| memory_details         | A dictionary of memory details (see below)        |"},{"line_number":70,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":71,"context_line":"| driver_private_data    | A dictionary of private data from the driver.s    |"},{"line_number":72,"context_line":"|                        | This is driver specific and each driver can ion   |"},{"line_number":73,"context_line":"|                        | return information valuable for diagnosing VM     |"},{"line_number":74,"context_line":"|                        | issues. The raw data should be versioned.         |"},{"line_number":75,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiXM%3D","line":72,"in_reply_to":"AAAAW3%2F%2FiZ4%3D","updated":"2014-04-13 13:36:30.000000000","message":"Done","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                              \u0027write_requests\u0027: 0,"},{"line_number":159,"context_line":"                              \u0027errors\u0027: 0}],"},{"line_number":160,"context_line":"            \u0027memory_details\u0027: {\u0027maximum\u0027: 512, \u0027used\u0027: 256},"},{"line_number":161,"context_line":"            \u0027driver_private_data\u0027: output}"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Alternatives"},{"line_number":164,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiZM%3D","line":161,"updated":"2014-04-13 12:43:02.000000000","message":"Provide an example of versioned driver_private_data?  Would it just be a dict with a version key that maps to another dict with the actual data?  How would this look?","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                              \u0027write_requests\u0027: 0,"},{"line_number":159,"context_line":"                              \u0027errors\u0027: 0}],"},{"line_number":160,"context_line":"            \u0027memory_details\u0027: {\u0027maximum\u0027: 512, \u0027used\u0027: 256},"},{"line_number":161,"context_line":"            \u0027driver_private_data\u0027: output}"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Alternatives"},{"line_number":164,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiXI%3D","line":161,"in_reply_to":"AAAAW3%2F%2FiZM%3D","updated":"2014-04-13 13:36:30.000000000","message":"Done","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":203,"context_line":"Other deployer impact"},{"line_number":204,"context_line":"---------------------"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"It will make life easier - deployed will be able to get better insight into"},{"line_number":207,"context_line":"the state of VM and be able to troubleshoot."},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiaI%3D","line":206,"updated":"2014-04-13 12:43:02.000000000","message":"s/deployed/deployers/?","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":203,"context_line":"Other deployer impact"},{"line_number":204,"context_line":"---------------------"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"It will make life easier - deployed will be able to get better insight into"},{"line_number":207,"context_line":"the state of VM and be able to troubleshoot."},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiWk%3D","line":206,"in_reply_to":"AAAAW3%2F%2FiaI%3D","updated":"2014-04-13 13:36:30.000000000","message":"Done","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":209,"context_line":"Developer impact"},{"line_number":210,"context_line":"----------------"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"None"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiZ8%3D","line":212,"updated":"2014-04-13 12:43:02.000000000","message":"Well, wouldn\u0027t developer impact be if one virt driver needs to add new data they\u0027d have to update all drivers for the same key, unless it falls into \u0027driver_private_data\u0027?","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":209,"context_line":"Developer impact"},{"line_number":210,"context_line":"----------------"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"None"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiWg%3D","line":212,"in_reply_to":"AAAAW3%2F%2FiZ8%3D","updated":"2014-04-13 13:36:30.000000000","message":"No,\nif the virt driver is unable to provide the data then they do not need to provide the predefined key","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":244,"context_line":"Once the code is approved we will add tests to Tempest that will do the"},{"line_number":245,"context_line":"following for the V3 API (assuming that the underlying driver does"},{"line_number":246,"context_line":"not return NotImplemented (which may be the case if the driver does"},{"line_number":247,"context_line":"not support the method):"},{"line_number":248,"context_line":"1. Check that the returned driver is one of the supported ones in tree (at the"},{"line_number":249,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)"},{"line_number":250,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiZY%3D","line":247,"updated":"2014-04-13 12:43:02.000000000","message":"There are nested ( here but not closed with ), can we just remove the second nested ( and say instead \"(assuming that the underlying driver does not return NotImplemented, which may be the case if the driver does not support the API)\"?","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":244,"context_line":"Once the code is approved we will add tests to Tempest that will do the"},{"line_number":245,"context_line":"following for the V3 API (assuming that the underlying driver does"},{"line_number":246,"context_line":"not return NotImplemented (which may be the case if the driver does"},{"line_number":247,"context_line":"not support the method):"},{"line_number":248,"context_line":"1. Check that the returned driver is one of the supported ones in tree (at the"},{"line_number":249,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)"},{"line_number":250,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiWc%3D","line":247,"in_reply_to":"AAAAW3%2F%2FiZY%3D","updated":"2014-04-13 13:36:30.000000000","message":"Done","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":245,"context_line":"following for the V3 API (assuming that the underlying driver does"},{"line_number":246,"context_line":"not return NotImplemented (which may be the case if the driver does"},{"line_number":247,"context_line":"not support the method):"},{"line_number":248,"context_line":"1. Check that the returned driver is one of the supported ones in tree (at the"},{"line_number":249,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)"},{"line_number":250,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"},{"line_number":251,"context_line":"3. Check that the disk data matches the flavor"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiZU%3D","line":248,"updated":"2014-04-13 12:43:02.000000000","message":"nit: end these sentences in the list with periods.","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":245,"context_line":"following for the V3 API (assuming that the underlying driver does"},{"line_number":246,"context_line":"not return NotImplemented (which may be the case if the driver does"},{"line_number":247,"context_line":"not support the method):"},{"line_number":248,"context_line":"1. Check that the returned driver is one of the supported ones in tree (at the"},{"line_number":249,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)"},{"line_number":250,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"},{"line_number":251,"context_line":"3. Check that the disk data matches the flavor"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiWY%3D","line":248,"in_reply_to":"AAAAW3%2F%2FiZU%3D","updated":"2014-04-13 13:36:30.000000000","message":"Done","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":250,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"},{"line_number":251,"context_line":"3. Check that the disk data matches the flavor"},{"line_number":252,"context_line":"4. Check that the memory matches the flavor"},{"line_number":253,"context_line":"5. If A cinder volume has been attached then we check that there is the"},{"line_number":254,"context_line":"correct amount of disks attached"},{"line_number":255,"context_line":"6. Check that the number of vNics matches the instance running"},{"line_number":256,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiZQ%3D","line":253,"updated":"2014-04-13 12:43:02.000000000","message":"s/A/a/","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":250,"context_line":"2. Check that the number of CPU\u0027s matches the flavor"},{"line_number":251,"context_line":"3. Check that the disk data matches the flavor"},{"line_number":252,"context_line":"4. Check that the memory matches the flavor"},{"line_number":253,"context_line":"5. If A cinder volume has been attached then we check that there is the"},{"line_number":254,"context_line":"correct amount of disks attached"},{"line_number":255,"context_line":"6. Check that the number of vNics matches the instance running"},{"line_number":256,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiWU%3D","line":253,"in_reply_to":"AAAAW3%2F%2FiZQ%3D","updated":"2014-04-13 13:36:30.000000000","message":"Done","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"af8731413ea311a206ba12bd3a2a242caf1c0ff7","unresolved":false,"context_lines":[{"line_number":252,"context_line":"4. Check that the memory matches the flavor"},{"line_number":253,"context_line":"5. If A cinder volume has been attached then we check that there is the"},{"line_number":254,"context_line":"correct amount of disks attached"},{"line_number":255,"context_line":"6. Check that the number of vNics matches the instance running"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"In addition to this, if there are tests that fail then we can use the V3"},{"line_number":258,"context_line":"diagnostics to help debug. That is, we can get the diagnostics which may help"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiZI%3D","line":255,"updated":"2014-04-13 12:43:02.000000000","message":"Maybe 7. to just check that driver_private_data is a dict and not something else.  Could you also test that it\u0027s versioned?","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"252ae7cac153061b81439d5f7439ccff1c17f7b9","unresolved":false,"context_lines":[{"line_number":252,"context_line":"4. Check that the memory matches the flavor"},{"line_number":253,"context_line":"5. If A cinder volume has been attached then we check that there is the"},{"line_number":254,"context_line":"correct amount of disks attached"},{"line_number":255,"context_line":"6. Check that the number of vNics matches the instance running"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"In addition to this, if there are tests that fail then we can use the V3"},{"line_number":258,"context_line":"diagnostics to help debug. That is, we can get the diagnostics which may help"}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAAW3%2F%2FiWQ%3D","line":255,"in_reply_to":"AAAAW3%2F%2FiZI%3D","updated":"2014-04-13 13:36:30.000000000","message":"Done","commit_id":"8919978ea3ba5d9b03a333d375800bac1ec0c586"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"18c0ff7cf0e54427a01488cf1d3c5899466c5486","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Introduce a new driver method that will return a predefined structure:"},{"line_number":32,"context_line":"get_instance_diagnostics(self, instance)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The proposal is to have the drivers return the following information in a"},{"line_number":35,"context_line":"dictionary. If the driver is unable to return the value or does not have"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiQY%3D","line":32,"updated":"2014-04-13 14:58:41.000000000","message":"Please add a note in the spec with your comment from the previous patch set:\n\n\"it is a new driver method. the reason for this is that it is much cleaner to have a new method instead of having if\u0027s which indicate if it is new or legacy.\"\n\nMy main concern is the confusion between the methods, one is get_diagnostics(self, instance) and the other is get_instance_diagnostics(self, instance), that seems really confusing to me if I\u0027m coming at this new to the code base.","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Introduce a new driver method that will return a predefined structure:"},{"line_number":32,"context_line":"get_instance_diagnostics(self, instance)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The proposal is to have the drivers return the following information in a"},{"line_number":35,"context_line":"dictionary. If the driver is unable to return the value or does not have"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2Fgss%3D","line":32,"in_reply_to":"AAAAW3%2F%2FiQY%3D","updated":"2014-04-14 05:17:18.000000000","message":"Done\n\nFollowing some of the comments below I have added context - this will enable us to have admin only data depicted - for example the virt driver and the the hypervisor OS","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"8458ba66380fa249eaa9b6c1896d2224875978a2","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":41,"context_line":"| Key                    | Description                                       |"},{"line_number":42,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":43,"context_line":"| state                  | The current state of the VM. The possible values  |"},{"line_number":44,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":45,"context_line":"|                        | \u0027crached\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiMA%3D","line":42,"updated":"2014-04-13 15:39:54.000000000","message":"What about adding a boolean value to specify if the configdrive is present or not?\n\nOn the topic, having access to the metadata content here would be a great feature to have all the necessary troubleshooting info at a glance, although size might be a concern.","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":41,"context_line":"| Key                    | Description                                       |"},{"line_number":42,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":43,"context_line":"| state                  | The current state of the VM. The possible values  |"},{"line_number":44,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":45,"context_line":"|                        | \u0027crached\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FgsM%3D","line":42,"in_reply_to":"AAAAW3%2F%2FiMA%3D","updated":"2014-04-14 05:17:18.000000000","message":"Done\n\nThe metadata can be part of the private data.","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"8458ba66380fa249eaa9b6c1896d2224875978a2","unresolved":false,"context_lines":[{"line_number":44,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":45,"context_line":"|                        | \u0027crached\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":46,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":47,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":48,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"},{"line_number":49,"context_line":"|                        | \u0027hyperv\u0027 and \u0027vmwareapi\u0027 (String)                 |"},{"line_number":50,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiO0%3D","line":47,"updated":"2014-04-13 15:39:54.000000000","message":"Just for completeness, what about adding the host OS hypervisor version as well?\n\nA flag to know if hypervisor specific paravirtualization tools are running in the VM would be very helpful (e.g. VMWare Tools, Hyper-V LIS, etc)","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":44,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":45,"context_line":"|                        | \u0027crached\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":46,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":47,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":48,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"},{"line_number":49,"context_line":"|                        | \u0027hyperv\u0027 and \u0027vmwareapi\u0027 (String)                 |"},{"line_number":50,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2Fgrw%3D","line":47,"in_reply_to":"AAAAW3%2F%2FiO0%3D","updated":"2014-04-14 05:17:18.000000000","message":"The guest tools can be listed in the private_data","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"18c0ff7cf0e54427a01488cf1d3c5899466c5486","unresolved":false,"context_lines":[{"line_number":71,"context_line":"| driver_private_data    | A dictionary of private data from the driver.     |"},{"line_number":72,"context_line":"|                        | This is driver specific and each driver can       |"},{"line_number":73,"context_line":"|                        | return information valuable for diagnosing VM     |"},{"line_number":74,"context_line":"|                        | issues. The raw data can be versioned.            |"},{"line_number":75,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"The cpu details will be an array of dictionaries per each virtual CPU."}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiQM%3D","line":74,"updated":"2014-04-13 14:58:41.000000000","message":"You changed \u0027should\u0027 be versioned to \u0027can\u0027 be versioned - I think we should be consistent here.  What harm is it if we require it to be versioned?  I think we want to require it to be versioned for the same reasons we have versioned APIs and why we really really want the notifications to be versioned (but aren\u0027t today) - so we can change the API/output w/o breaking existing clients that are parsing versioned data.\n\nDoes making this versioned break the whole \u0027optional\u0027 theme here?","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":71,"context_line":"| driver_private_data    | A dictionary of private data from the driver.     |"},{"line_number":72,"context_line":"|                        | This is driver specific and each driver can       |"},{"line_number":73,"context_line":"|                        | return information valuable for diagnosing VM     |"},{"line_number":74,"context_line":"|                        | issues. The raw data can be versioned.            |"},{"line_number":75,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"The cpu details will be an array of dictionaries per each virtual CPU."}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2Fgrs%3D","line":74,"in_reply_to":"AAAAW3%2F%2FiQM%3D","updated":"2014-04-14 05:17:18.000000000","message":"Done.","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"8458ba66380fa249eaa9b6c1896d2224875978a2","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":80,"context_line":"| Key                    | Description                                       |"},{"line_number":81,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":82,"context_line":"| time                   | CPU Time in nano seconds (Integer)                |"},{"line_number":83,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiM4%3D","line":81,"updated":"2014-04-13 15:39:54.000000000","message":"These values are collected in the Hyper-V driver when metering support is enabled (the current use case is Ceilometer). \nBy default metering is disabled to avoid the overhead, but since all values are optional, this matches with the specs.","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":80,"context_line":"| Key                    | Description                                       |"},{"line_number":81,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":82,"context_line":"| time                   | CPU Time in nano seconds (Integer)                |"},{"line_number":83,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2Fgq0%3D","line":81,"in_reply_to":"AAAAW3%2F%2FiM4%3D","updated":"2014-04-14 05:17:18.000000000","message":"agreed, i guess the driver can select not to publish this if it is costly","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"8458ba66380fa249eaa9b6c1896d2224875978a2","unresolved":false,"context_lines":[{"line_number":82,"context_line":"| time                   | CPU Time in nano seconds (Integer)                |"},{"line_number":83,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The network details will be an array of dictionaries per each virtual NIC."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":88,"context_line":"| Key                    | Description                                       |"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiN0%3D","line":85,"updated":"2014-04-13 15:39:54.000000000","message":"Some drivers are able to retrieve the IP address(es) associated to a NIC using hypervisor specific host / guest communication features (e.g. Hyper-V KVP, VMWare tools, etc). A fairly common issue that arises during troubleshooting is that the guest is not receiving or assigning the proper IP address.\n\nAdding the actual IP address of a vNIC here would be a great feature to have.","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":82,"context_line":"| time                   | CPU Time in nano seconds (Integer)                |"},{"line_number":83,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The network details will be an array of dictionaries per each virtual NIC."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":88,"context_line":"| Key                    | Description                                       |"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FgqQ%3D","line":85,"in_reply_to":"AAAAW3%2F%2FiN0%3D","updated":"2014-04-14 05:17:18.000000000","message":"ip addresses are be tricky - they are part of the application layer and not really the \u0027physical\u0027. i guess we can change the id to be the mac address of the interface. i should have done this from the start but was trying to be more generic.\nin addition to this the ip addresses are not part of the instance","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"8458ba66380fa249eaa9b6c1896d2224875978a2","unresolved":false,"context_lines":[{"line_number":85,"context_line":"The network details will be an array of dictionaries per each virtual NIC."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":88,"context_line":"| Key                    | Description                                       |"},{"line_number":89,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":90,"context_line":"| id                     | Interface ID (String)                             |"},{"line_number":91,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiPY%3D","line":88,"updated":"2014-04-13 15:39:54.000000000","message":"See note on CPU time","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":85,"context_line":"The network details will be an array of dictionaries per each virtual NIC."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":88,"context_line":"| Key                    | Description                                       |"},{"line_number":89,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":90,"context_line":"| id                     | Interface ID (String)                             |"},{"line_number":91,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FgqM%3D","line":88,"in_reply_to":"AAAAW3%2F%2FiPY%3D","updated":"2014-04-14 05:17:18.000000000","message":"agreed","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"8458ba66380fa249eaa9b6c1896d2224875978a2","unresolved":false,"context_lines":[{"line_number":109,"context_line":"The disk details will be an array of dictionaries per each virtual disk."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":112,"context_line":"| Key                    | Description                                       |"},{"line_number":113,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":114,"context_line":"| id                     | Disk ID (String)                                  |"},{"line_number":115,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiPQ%3D","line":112,"updated":"2014-04-13 15:39:54.000000000","message":"Ditto","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"8458ba66380fa249eaa9b6c1896d2224875978a2","unresolved":false,"context_lines":[{"line_number":111,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":112,"context_line":"| Key                    | Description                                       |"},{"line_number":113,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":114,"context_line":"| id                     | Disk ID (String)                                  |"},{"line_number":115,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":116,"context_line":"| read_bytes             | Disk reads in bytes(Integer)                      |"},{"line_number":117,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiPA%3D","line":114,"updated":"2014-04-13 15:39:54.000000000","message":"How can we standardize the value and meaning of this ID?\nDo we consider local storage only or attached volumes as well?\n\nFurthermore, Nova block device config offers support of a fairly large number of device types (disk, cdrom, floppy, flash), buses (IDE, SCSI) etc. IMO we should add more info on the devices here. \n\nhttps://wiki.openstack.org/wiki/BlockDeviceConfig\n\nThis would be very useful to diagnose the device mappings w/o having to access the hypervisor.\n\nAlso, not all the drivers support the Nova block device config,\nso we could think about a custom driver field here as well.","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":111,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":112,"context_line":"| Key                    | Description                                       |"},{"line_number":113,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":114,"context_line":"| id                     | Disk ID (String)                                  |"},{"line_number":115,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":116,"context_line":"| read_bytes             | Disk reads in bytes(Integer)                      |"},{"line_number":117,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2Fgmw%3D","line":114,"in_reply_to":"AAAAW3%2F%2FiPA%3D","updated":"2014-04-14 05:17:18.000000000","message":"my thinking here was that it would be a disk id. additional devices are a good point. maybe we can add those in the private data (i think that the user/admin would expect some disk data)","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":3185,"name":"Alessandro Pilotti","email":"apilotti@cloudbasesolutions.com","username":"alexpilotti"},"change_message_id":"8458ba66380fa249eaa9b6c1896d2224875978a2","unresolved":false,"context_lines":[{"line_number":121,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":122,"context_line":"| write_requests         | Write requests (Integer)                          |"},{"line_number":123,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":124,"context_line":"| errors                 | Disk errors (Integer)                             |"},{"line_number":125,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"The memory details is a dictionary."}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiPE%3D","line":124,"updated":"2014-04-13 15:39:54.000000000","message":"If this is referring to the count of I/O errors, maybe the name could be changed to something like errors_count? Just my 2c.","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":121,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":122,"context_line":"| write_requests         | Write requests (Integer)                          |"},{"line_number":123,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":124,"context_line":"| errors                 | Disk errors (Integer)                             |"},{"line_number":125,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"The memory details is a dictionary."}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2Fgmk%3D","line":124,"in_reply_to":"AAAAW3%2F%2FiPE%3D","updated":"2014-04-14 05:17:18.000000000","message":"Done","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"18c0ff7cf0e54427a01488cf1d3c5899466c5486","unresolved":false,"context_lines":[{"line_number":256,"context_line":"correct amount of disks attached."},{"line_number":257,"context_line":"6. Check that the number of vNics matches the instance running."},{"line_number":258,"context_line":"7. If the private data is present then check that this is a dictionary and"},{"line_number":259,"context_line":"has a key \u0027version\u0027."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"In addition to this, if there are tests that fail then we can use the V3"},{"line_number":262,"context_line":"diagnostics to help debug. That is, we can get the diagnostics which may help"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FiQA%3D","line":259,"updated":"2014-04-13 14:58:41.000000000","message":"This would break if the version is optional.  I think the version should be required if driver_private_data is available.","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3022857e0dec0d59433ced8b22aac74ab925e1a9","unresolved":false,"context_lines":[{"line_number":256,"context_line":"correct amount of disks attached."},{"line_number":257,"context_line":"6. Check that the number of vNics matches the instance running."},{"line_number":258,"context_line":"7. If the private data is present then check that this is a dictionary and"},{"line_number":259,"context_line":"has a key \u0027version\u0027."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"In addition to this, if there are tests that fail then we can use the V3"},{"line_number":262,"context_line":"diagnostics to help debug. That is, we can get the diagnostics which may help"}],"source_content_type":"text/x-rst","patch_set":9,"id":"AAAAW3%2F%2FgmU%3D","line":259,"in_reply_to":"AAAAW3%2F%2FiQA%3D","updated":"2014-04-14 05:17:18.000000000","message":"Done","commit_id":"a8208f688a71d9c9038307a0f2e4c64226883d30"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"95f9c56350619d7b52330603f4dc50d812a612fb","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Introduce a new driver method that will return a predefined structure:"},{"line_number":32,"context_line":"get_instance_diagnostics(self, context, instance)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"This is a new driver method. the reason for this is that it is much cleaner"},{"line_number":35,"context_line":"to have a new method instead of having if\u0027s which indicate if it is new or"},{"line_number":36,"context_line":"legacy. We should also consider deprecating get_diagnostics. This should be"},{"line_number":37,"context_line":"documented in the virt driver API."}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAW3%2F%2FgTQ%3D","line":34,"updated":"2014-04-16 05:27:52.000000000","message":"s/the/The/","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"98a695105e81b3a29fd24448a3d2f12dc8b768d9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Introduce a new driver method that will return a predefined structure:"},{"line_number":32,"context_line":"get_instance_diagnostics(self, context, instance)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"This is a new driver method. the reason for this is that it is much cleaner"},{"line_number":35,"context_line":"to have a new method instead of having if\u0027s which indicate if it is new or"},{"line_number":36,"context_line":"legacy. We should also consider deprecating get_diagnostics. This should be"},{"line_number":37,"context_line":"documented in the virt driver API."}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAXH%2F%2F7ac%3D","line":34,"in_reply_to":"AAAAW3%2F%2FgTQ%3D","updated":"2014-04-16 13:05:20.000000000","message":"Done","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"95f9c56350619d7b52330603f4dc50d812a612fb","unresolved":false,"context_lines":[{"line_number":34,"context_line":"This is a new driver method. the reason for this is that it is much cleaner"},{"line_number":35,"context_line":"to have a new method instead of having if\u0027s which indicate if it is new or"},{"line_number":36,"context_line":"legacy. We should also consider deprecating get_diagnostics. This should be"},{"line_number":37,"context_line":"documented in the virt driver API."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The proposal is to have the drivers return the following information in a"},{"line_number":40,"context_line":"dictionary. If the driver is unable to return the value or does not have"}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAW3%2F%2FgS8%3D","line":37,"updated":"2014-04-16 05:27:52.000000000","message":"We can\u0027t remove get_diagnostics though until we kill the v2 API with fire though right?","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"98a695105e81b3a29fd24448a3d2f12dc8b768d9","unresolved":false,"context_lines":[{"line_number":34,"context_line":"This is a new driver method. the reason for this is that it is much cleaner"},{"line_number":35,"context_line":"to have a new method instead of having if\u0027s which indicate if it is new or"},{"line_number":36,"context_line":"legacy. We should also consider deprecating get_diagnostics. This should be"},{"line_number":37,"context_line":"documented in the virt driver API."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The proposal is to have the drivers return the following information in a"},{"line_number":40,"context_line":"dictionary. If the driver is unable to return the value or does not have"}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAXH%2F%2F7Z4%3D","line":37,"in_reply_to":"AAAAW3%2F%2FgS8%3D","updated":"2014-04-16 13:05:20.000000000","message":"Correct. This is why we are just adding this support for the v3 api. One thing worth considering is having a configuration flag that will enable the V2 api to support the new fornat","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"5ce0d0c81580185c75344033f75ded1d8cee1c87","unresolved":false,"context_lines":[{"line_number":47,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":48,"context_line":"| state                  | The current state of the VM. The possible values  |"},{"line_number":49,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":50,"context_line":"|                        | \u0027crached\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":52,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":53,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAW3%2F%2Ff7A%3D","line":50,"updated":"2014-04-14 08:12:50.000000000","message":"typo \"crashed\" (or \"cached\"?)","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"1618c7a12cebfeb06950e9b016e827ce2123ab2c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":48,"context_line":"| state                  | The current state of the VM. The possible values  |"},{"line_number":49,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":50,"context_line":"|                        | \u0027crached\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":52,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":53,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAW3%2F%2FfnM%3D","line":50,"in_reply_to":"AAAAW3%2F%2Ff7A%3D","updated":"2014-04-14 08:39:36.000000000","message":"Done","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"95f9c56350619d7b52330603f4dc50d812a612fb","unresolved":false,"context_lines":[{"line_number":84,"context_line":"|                        | return information valuable for diagnosing VM     |"},{"line_number":85,"context_line":"|                        | issues. The raw data should versioned.            |"},{"line_number":86,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"The cpu details will be an array of dictionaries per each virtual CPU."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAW3%2F%2FgSU%3D","line":87,"updated":"2014-04-16 05:27:52.000000000","message":"Many of these values are known to the core nova-compute code (driver, instance state, etc). Should these therefore be added to the dictionary by nova-compute instead of duplicating the lookup code in each driver?","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"98a695105e81b3a29fd24448a3d2f12dc8b768d9","unresolved":false,"context_lines":[{"line_number":84,"context_line":"|                        | return information valuable for diagnosing VM     |"},{"line_number":85,"context_line":"|                        | issues. The raw data should versioned.            |"},{"line_number":86,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"The cpu details will be an array of dictionaries per each virtual CPU."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAXH%2F%2F7Zs%3D","line":87,"in_reply_to":"AAAAW3%2F%2FgSU%3D","updated":"2014-04-16 13:05:20.000000000","message":"i think that is convenient that all of the information is returned in one API call. It saves the user invoking n calls to get information.","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"5ce0d0c81580185c75344033f75ded1d8cee1c87","unresolved":false,"context_lines":[{"line_number":140,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":141,"context_line":"| Key                    | Description                                       |"},{"line_number":142,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":143,"context_line":"| maximum                | Amount of memory provisioned for the VM in MB r)  |"},{"line_number":144,"context_line":"|                        | (Integer)                                         |"},{"line_number":145,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":146,"context_line":"| used                   | Amount of memory used by the VM in MB (Integer)   |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAW3%2F%2Ff1k%3D","line":143,"updated":"2014-04-14 08:12:50.000000000","message":"\"r)\" ?","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"1618c7a12cebfeb06950e9b016e827ce2123ab2c","unresolved":false,"context_lines":[{"line_number":140,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":141,"context_line":"| Key                    | Description                                       |"},{"line_number":142,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":143,"context_line":"| maximum                | Amount of memory provisioned for the VM in MB r)  |"},{"line_number":144,"context_line":"|                        | (Integer)                                         |"},{"line_number":145,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":146,"context_line":"| used                   | Amount of memory used by the VM in MB (Integer)   |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAAW3%2F%2FfmE%3D","line":143,"in_reply_to":"AAAAW3%2F%2Ff1k%3D","updated":"2014-04-14 08:39:36.000000000","message":"Done","commit_id":"d0b564b70cf924a531256f3aeef392987ef26d59"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5441c8d63e66a754ff83cbb7cef2e7589237bcc4","unresolved":false,"context_lines":[{"line_number":143,"context_line":"| maximum                | Amount of memory provisioned for the VM in MB     |"},{"line_number":144,"context_line":"|                        | (Integer)                                         |"},{"line_number":145,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":146,"context_line":"| used                   | Amount of memory used by the VM in MB (Integer)   |"},{"line_number":147,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Below is an example of the dictionary data returned by the fake driver::"}],"source_content_type":"text/x-rst","patch_set":11,"id":"AAAAW3%2F%2FRx0%3D","line":146,"updated":"2014-04-15 15:59:57.000000000","message":"I\u0027d still like clarification on this. In Xen and KVM at least, there is a notion of the max and current memory levels in the guest. The max is what the virtual hardware has exposed to the guest, and the current is the amount (under the max) that the guest currently has access to. In these hypervisors, you always start with the max, but a special driver in the guest can capture pages and tell the hypervisor that they are unused so as to allocate them to other guests.\n\nHowever, some hypervisors have agents that actually report the amount of memory used in the guest, which would be roughly in line with what /proc/meminfo would say.\n\nWhat I\u0027m trying to figure out is whether this \"used\" key is the former or the latter.","commit_id":"23403f7e8b16a6479b5c037c9a1e0c162f8be067"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5473eb45ce3b0eb6c01597adf4cf68bf93d73c83","unresolved":false,"context_lines":[{"line_number":143,"context_line":"| maximum                | Amount of memory provisioned for the VM in MB     |"},{"line_number":144,"context_line":"|                        | (Integer)                                         |"},{"line_number":145,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":146,"context_line":"| used                   | Amount of memory used by the VM in MB (Integer)   |"},{"line_number":147,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Below is an example of the dictionary data returned by the fake driver::"}],"source_content_type":"text/x-rst","patch_set":11,"id":"AAAAXH%2F%2F7YA%3D","line":146,"in_reply_to":"AAAAW3%2F%2FRx0%3D","updated":"2014-04-16 13:08:34.000000000","message":"The idea is that this is the former. For the latter this should be denoted in the private_data section.","commit_id":"23403f7e8b16a6479b5c037c9a1e0c162f8be067"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5441c8d63e66a754ff83cbb7cef2e7589237bcc4","unresolved":false,"context_lines":[{"line_number":217,"context_line":"---------------------"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"It will make life easier - deployers will be able to get better insight into"},{"line_number":220,"context_line":"the state of VM and be able to troubleshoot."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Developer impact"},{"line_number":223,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"AAAAW3%2F%2FRv0%3D","line":220,"updated":"2014-04-15 15:59:57.000000000","message":"Since diagnostics is unstructured and non-standard now, would it be reasonable to at least propose that we change the v2 API to this new standardized format? I think it\u0027s a question worth asking, personally.","commit_id":"23403f7e8b16a6479b5c037c9a1e0c162f8be067"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5473eb45ce3b0eb6c01597adf4cf68bf93d73c83","unresolved":false,"context_lines":[{"line_number":217,"context_line":"---------------------"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"It will make life easier - deployers will be able to get better insight into"},{"line_number":220,"context_line":"the state of VM and be able to troubleshoot."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Developer impact"},{"line_number":223,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"AAAAXH%2F%2F7fY%3D","line":220,"in_reply_to":"AAAAW3%2F%2FRv0%3D","updated":"2014-04-16 13:08:34.000000000","message":"I am really in favor of using this in the V2 api. There were some reservations from others - they were assuming that some admins may be parsing the output of the existing one. I do not think that that is the case.","commit_id":"23403f7e8b16a6479b5c037c9a1e0c162f8be067"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5441c8d63e66a754ff83cbb7cef2e7589237bcc4","unresolved":false,"context_lines":[{"line_number":259,"context_line":"not return NotImplemented, which may be the case if the driver does"},{"line_number":260,"context_line":"not support the method):"},{"line_number":261,"context_line":"1. Check that the returned driver is one of the supported ones in tree (at the"},{"line_number":262,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)."},{"line_number":263,"context_line":"2. Check that the number of CPU\u0027s matches the flavor."},{"line_number":264,"context_line":"3. Check that the disk data matches the flavor."},{"line_number":265,"context_line":"4. Check that the memory matches the flavor."}],"source_content_type":"text/x-rst","patch_set":11,"id":"AAAAW3%2F%2FRvg%3D","line":262,"updated":"2014-04-15 15:59:57.000000000","message":"This is a nit, but can you indent the second lines of these bullets for readability?","commit_id":"23403f7e8b16a6479b5c037c9a1e0c162f8be067"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5473eb45ce3b0eb6c01597adf4cf68bf93d73c83","unresolved":false,"context_lines":[{"line_number":259,"context_line":"not return NotImplemented, which may be the case if the driver does"},{"line_number":260,"context_line":"not support the method):"},{"line_number":261,"context_line":"1. Check that the returned driver is one of the supported ones in tree (at the"},{"line_number":262,"context_line":"moment only libvirt, vmware and xenapi support the v3 method)."},{"line_number":263,"context_line":"2. Check that the number of CPU\u0027s matches the flavor."},{"line_number":264,"context_line":"3. Check that the disk data matches the flavor."},{"line_number":265,"context_line":"4. Check that the memory matches the flavor."}],"source_content_type":"text/x-rst","patch_set":11,"id":"AAAAXH%2F%2F7ak%3D","line":262,"in_reply_to":"AAAAW3%2F%2FRvg%3D","updated":"2014-04-16 13:08:34.000000000","message":"Done","commit_id":"23403f7e8b16a6479b5c037c9a1e0c162f8be067"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c62c0e78b91676b6b564361f206c4fed3d3dbf9c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":48,"context_line":"| state                  | The current state of the VM. The possible values  |"},{"line_number":49,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":50,"context_line":"|                        | \u0027crashed\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":52,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":53,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"}],"source_content_type":"text/x-rst","patch_set":12,"id":"AAAAXH%2F%2FNhM%3D","line":50,"updated":"2014-04-23 11:01:34.000000000","message":"These represent the Nova power states. The purpose of having these here is that we can know what the Nova view is and the actual view is. Say for example Nova has it in crashed and we see that the VM has network activity, disk activity etc. Then it can indicate a Nova problem","commit_id":"98c378e4b3745ff83e8b18a46c574b87452b9416"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"175f59bf43b0655d420cb63adaf5c3ad1d816945","unresolved":false,"context_lines":[{"line_number":47,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":48,"context_line":"| state                  | The current state of the VM. The possible values  |"},{"line_number":49,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":50,"context_line":"|                        | \u0027crashed\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":52,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":53,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"}],"source_content_type":"text/x-rst","patch_set":12,"id":"AAAAXH%2F%2Fzis%3D","line":50,"updated":"2014-04-17 10:09:48.000000000","message":"what\u0027s the meaning of pending? snapshoting? \ncan\u0027t find crash state, maybe not easy to distinguish it between shutdown ...","commit_id":"98c378e4b3745ff83e8b18a46c574b87452b9416"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"175f59bf43b0655d420cb63adaf5c3ad1d816945","unresolved":false,"context_lines":[{"line_number":52,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":53,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"},{"line_number":54,"context_line":"|                        | \u0027hyperv\u0027 and \u0027vmwareapi\u0027 (String) [Admin only]    |"},{"line_number":55,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":56,"context_line":"| hypervisor_os          | A string denoting the hypervisor OS (String)      |"},{"line_number":57,"context_line":"|                        | [Admin only]                                      |"},{"line_number":58,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":12,"id":"AAAAXH%2F%2Fzjo%3D","line":55,"updated":"2014-04-17 10:09:48.000000000","message":"what about non-admin issue this command? return \u0027\u0027 ,right?","commit_id":"98c378e4b3745ff83e8b18a46c574b87452b9416"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c62c0e78b91676b6b564361f206c4fed3d3dbf9c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":53,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"},{"line_number":54,"context_line":"|                        | \u0027hyperv\u0027 and \u0027vmwareapi\u0027 (String) [Admin only]    |"},{"line_number":55,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":56,"context_line":"| hypervisor_os          | A string denoting the hypervisor OS (String)      |"},{"line_number":57,"context_line":"|                        | [Admin only]                                      |"},{"line_number":58,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":12,"id":"AAAAXH%2F%2FNgw%3D","line":55,"in_reply_to":"AAAAXH%2F%2Fzjo%3D","updated":"2014-04-23 11:01:34.000000000","message":"My thinking here was that if a non admin user invokes the command then it will not shod the driver and hypervisor_os. \nI will update to indicate that this key will not appear if it is a non admin","commit_id":"98c378e4b3745ff83e8b18a46c574b87452b9416"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"175f59bf43b0655d420cb63adaf5c3ad1d816945","unresolved":false,"context_lines":[{"line_number":126,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":127,"context_line":"| read_bytes             | Disk reads in bytes(Integer)                      |"},{"line_number":128,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":129,"context_line":"| read_requests          | Read request (Integer)                            |"},{"line_number":130,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":131,"context_line":"| write_bytes            | Disk writes in bytes (Integer)                    |"},{"line_number":132,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":12,"id":"AAAAXH%2F%2FzmM%3D","line":129,"updated":"2014-04-17 10:09:48.000000000","message":"requests","commit_id":"98c378e4b3745ff83e8b18a46c574b87452b9416"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c62c0e78b91676b6b564361f206c4fed3d3dbf9c","unresolved":false,"context_lines":[{"line_number":126,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":127,"context_line":"| read_bytes             | Disk reads in bytes(Integer)                      |"},{"line_number":128,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":129,"context_line":"| read_requests          | Read request (Integer)                            |"},{"line_number":130,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":131,"context_line":"| write_bytes            | Disk writes in bytes (Integer)                    |"},{"line_number":132,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":12,"id":"AAAAXH%2F%2FNgs%3D","line":129,"in_reply_to":"AAAAXH%2F%2FzmM%3D","updated":"2014-04-23 11:01:34.000000000","message":"Done","commit_id":"98c378e4b3745ff83e8b18a46c574b87452b9416"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"175f59bf43b0655d420cb63adaf5c3ad1d816945","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                             \u0027tx_octets\u0027: 0,"},{"line_number":163,"context_line":"                             \u0027tx_errors\u0027: 0,"},{"line_number":164,"context_line":"                             \u0027tx_drop\u0027: 0,"},{"line_number":165,"context_line":"                             \u0027tx_packets\u0027: 0}],"},{"line_number":166,"context_line":"            \u0027disk_details\u0027: [{\u0027read_bytes\u0027:0,"},{"line_number":167,"context_line":"                              \u0027read_requests\u0027: 0,"},{"line_number":168,"context_line":"                              \u0027write_bytes\u0027: 0,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"AAAAXH%2F%2Fzh8%3D","line":165,"updated":"2014-04-17 10:09:48.000000000","message":"I believe the original format:\n\ndisk + \"_errors\" \ninterface + \"_tx_drop\"\n\netc will be kept ,right?","commit_id":"98c378e4b3745ff83e8b18a46c574b87452b9416"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c62c0e78b91676b6b564361f206c4fed3d3dbf9c","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                             \u0027tx_octets\u0027: 0,"},{"line_number":163,"context_line":"                             \u0027tx_errors\u0027: 0,"},{"line_number":164,"context_line":"                             \u0027tx_drop\u0027: 0,"},{"line_number":165,"context_line":"                             \u0027tx_packets\u0027: 0}],"},{"line_number":166,"context_line":"            \u0027disk_details\u0027: [{\u0027read_bytes\u0027:0,"},{"line_number":167,"context_line":"                              \u0027read_requests\u0027: 0,"},{"line_number":168,"context_line":"                              \u0027write_bytes\u0027: 0,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"AAAAXH%2F%2FNIE%3D","line":165,"in_reply_to":"AAAAXH%2F%2Fzh8%3D","updated":"2014-04-23 11:01:34.000000000","message":"no, this is the new format. that was the libvirt format","commit_id":"98c378e4b3745ff83e8b18a46c574b87452b9416"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"3e430233eef1cea520054d9b887f91b377496fab","unresolved":false,"context_lines":[{"line_number":45,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":46,"context_line":"| Key                    | Description                                       |"},{"line_number":47,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":48,"context_line":"| state                  | The current state of the VM. The possible values  |"},{"line_number":49,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":50,"context_line":"|                        | \u0027crashed\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bad4c104_8a6d6c07","line":48,"updated":"2014-04-29 10:31:04.000000000","message":"New states can be added in Nova which would still be valid here; I\u0027d suggest \"Examples values are\" as with below.","commit_id":"dc3a505cc32259a2c78b4e02b41a4ebc77c2b350"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"e2e168afbb2aef7225c0f66719c5edf832201457","unresolved":false,"context_lines":[{"line_number":45,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":46,"context_line":"| Key                    | Description                                       |"},{"line_number":47,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":48,"context_line":"| state                  | The current state of the VM. The possible values  |"},{"line_number":49,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":50,"context_line":"|                        | \u0027crashed\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bad4c104_60bf67d1","line":48,"in_reply_to":"bad4c104_8a6d6c07","updated":"2014-04-29 11:46:11.000000000","message":"Done","commit_id":"dc3a505cc32259a2c78b4e02b41a4ebc77c2b350"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":15,"context_line":"format."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"**NOTE:** this cannot be used for V2 as there may be existing deployments that"},{"line_number":18,"context_line":"parse the current output of the V2 diagnostics."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_e121bdb5","line":18,"updated":"2014-04-30 09:38:51.000000000","message":"Well, we can\u0027t replace the existing API with a new format, but we can add an additional API. I feel we should do that later option, if we care about this API.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"format."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"**NOTE:** this cannot be used for V2 as there may be existing deployments that"},{"line_number":18,"context_line":"parse the current output of the V2 diagnostics."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_ebf7cf8a","line":18,"in_reply_to":"9ad9bd40_e121bdb5","updated":"2014-05-01 11:07:45.000000000","message":"Agreed. I\u0027ll add that as an option.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The proposal is to have the drivers return the following information in a"},{"line_number":40,"context_line":"dictionary. If the driver is unable to return the value or does not have"},{"line_number":41,"context_line":"access to it at the moment then it does not need to return the key, that is"},{"line_number":42,"context_line":"all of the values are *optional*. The table below has the key and a"},{"line_number":43,"context_line":"description of the value returned:"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_5ca16ca8","line":42,"updated":"2014-04-30 09:38:51.000000000","message":"I feel we should make some of these required.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The proposal is to have the drivers return the following information in a"},{"line_number":40,"context_line":"dictionary. If the driver is unable to return the value or does not have"},{"line_number":41,"context_line":"access to it at the moment then it does not need to return the key, that is"},{"line_number":42,"context_line":"all of the values are *optional*. The table below has the key and a"},{"line_number":43,"context_line":"description of the value returned:"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_4b46fbc0","line":42,"in_reply_to":"9ad9bd40_5ca16ca8","updated":"2014-05-01 11:07:45.000000000","message":"i am not sure about that. some of the drivers are unable to provide this information. i think that it complicates things - if a driver does not have the information then we will need to return a defined value. this was the original suggestion and it was not like by the mails on the list.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":45,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":46,"context_line":"| Key                    | Description                                       |"},{"line_number":47,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":48,"context_line":"| state                  | The current state of the VM. Example values       |"},{"line_number":49,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":50,"context_line":"|                        | \u0027crashed\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_1c9fe460","line":48,"updated":"2014-04-30 09:38:51.000000000","message":"Is this the sate of the \"VM\"? is it not the state of Nova-Compute? but confused.\n\nI disagree with the previous comment, this should be a fixed set, and independent of other \"new\" stats that get added elsewhere. Maybe add \"unknown\" to cover that case?","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"956b80e5d7877dd13afba6f377d6aeecc7dfc368","unresolved":false,"context_lines":[{"line_number":45,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":46,"context_line":"| Key                    | Description                                       |"},{"line_number":47,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":48,"context_line":"| state                  | The current state of the VM. Example values       |"},{"line_number":49,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":50,"context_line":"|                        | \u0027crashed\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_17209ff6","line":48,"in_reply_to":"9ad9bd40_1c9fe460","updated":"2014-04-30 10:13:19.000000000","message":"It\u0027s an Instance API (see line 32) so yes, it really means the state of the VM.\n\nJust to be clear; if Nova adds a new state, you expect the implementation of this method to translate that to \u0027unknown\u0027?\nThat seems wrong to me.  This item is explicitly trying to return the current state of the VM, which Nova knows.  It\u0027d be a shame if a new state was added and the reviewer forgot to add it to all of the places we have a static list\n\nHow about the comment states that the set could expand as newer states are added in Nova?  This way any consumer will know that this is not an exhaustive list and can add their own \"Unknown\" or \"Other\" translation step if they only care about a subset of the states.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":46,"context_line":"| Key                    | Description                                       |"},{"line_number":47,"context_line":"+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":48,"context_line":"| state                  | The current state of the VM. Example values       |"},{"line_number":49,"context_line":"|                        | are: \u0027pending\u0027, \u0027running\u0027, \u0027paused\u0027, \u0027shutdown\u0027,  |"},{"line_number":50,"context_line":"|                        | \u0027crashed\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_467ef2af","line":48,"in_reply_to":"9ad9bd40_1c9fe460","updated":"2014-05-01 11:07:45.000000000","message":"the information is all about the vm - only info that is not is on line 57","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":50,"context_line":"|                        | \u0027crashed\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":52,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":53,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"},{"line_number":54,"context_line":"|                        | \u0027hyperv\u0027 and \u0027vmwareapi\u0027 (String) [Admin only -   |"},{"line_number":55,"context_line":"|                        | key will not appear if non admin]                 |"},{"line_number":56,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_1c76043f","line":53,"updated":"2014-04-30 09:38:51.000000000","message":"again, I feel we need to be more explicit about what gets returned.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"956b80e5d7877dd13afba6f377d6aeecc7dfc368","unresolved":false,"context_lines":[{"line_number":50,"context_line":"|                        | \u0027crashed\u0027, \u0027suspended\u0027 and \u0027building\u0027 (String)    |"},{"line_number":51,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":52,"context_line":"| driver                 | A string denoting the driver on which the VM is   |"},{"line_number":53,"context_line":"|                        | running. Examples may be: \u0027libvirt\u0027, \u0027xenapi\u0027,    |"},{"line_number":54,"context_line":"|                        | \u0027hyperv\u0027 and \u0027vmwareapi\u0027 (String) [Admin only -   |"},{"line_number":55,"context_line":"|                        | key will not appear if non admin]                 |"},{"line_number":56,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_f785fbad","line":53,"in_reply_to":"9ad9bd40_1c76043f","updated":"2014-04-30 10:13:19.000000000","message":"As more drivers support this API I\u0027d expect them to return their own name here.  Having an exhaustive list will only add to the duplication of information with the risk of them being out of sync (i.e. a BP to add this API for ironic might forget to update this definition at which point the exhaustive list is wrong)","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":54,"context_line":"|                        | \u0027hyperv\u0027 and \u0027vmwareapi\u0027 (String) [Admin only -   |"},{"line_number":55,"context_line":"|                        | key will not appear if non admin]                 |"},{"line_number":56,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":57,"context_line":"| hypervisor_os          | A string denoting the hypervisor OS (String)      |"},{"line_number":58,"context_line":"|                        | [Admin only - key will not appear if non admin]   |"},{"line_number":59,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":60,"context_line":"| uptime                 | The amount of time in seconds that the VM has     |"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_9ce774e4","line":57,"updated":"2014-04-30 09:38:51.000000000","message":"surely we don\u0027t list this per VM?","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"956b80e5d7877dd13afba6f377d6aeecc7dfc368","unresolved":false,"context_lines":[{"line_number":54,"context_line":"|                        | \u0027hyperv\u0027 and \u0027vmwareapi\u0027 (String) [Admin only -   |"},{"line_number":55,"context_line":"|                        | key will not appear if non admin]                 |"},{"line_number":56,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":57,"context_line":"| hypervisor_os          | A string denoting the hypervisor OS (String)      |"},{"line_number":58,"context_line":"|                        | [Admin only - key will not appear if non admin]   |"},{"line_number":59,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":60,"context_line":"| uptime                 | The amount of time in seconds that the VM has     |"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_d7dab7e8","line":57,"in_reply_to":"9ad9bd40_9ce774e4","updated":"2014-04-30 10:13:19.000000000","message":"This is a per-VM call, so yes it can only be listed per VM if it is to exist in this call.  The alternative would be not to include it (or possibly the driver above) and perhaps include a reference to the hypervisor that the instance is resident on?","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":54,"context_line":"|                        | \u0027hyperv\u0027 and \u0027vmwareapi\u0027 (String) [Admin only -   |"},{"line_number":55,"context_line":"|                        | key will not appear if non admin]                 |"},{"line_number":56,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":57,"context_line":"| hypervisor_os          | A string denoting the hypervisor OS (String)      |"},{"line_number":58,"context_line":"|                        | [Admin only - key will not appear if non admin]   |"},{"line_number":59,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":60,"context_line":"| uptime                 | The amount of time in seconds that the VM has     |"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_262f2ea3","line":57,"in_reply_to":"9ad9bd40_d7dab7e8","updated":"2014-05-01 11:07:45.000000000","message":"i think that this is useful for an admin trying to debug a VM - they may discover that they are running version X and it should be Y.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":64,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":65,"context_line":"| num_nics               | The number of vNICS (Integer)                     |"},{"line_number":66,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":67,"context_line":"| num_disks              | The number of disks (Integer)                     |"},{"line_number":68,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":69,"context_line":"| cpu_details            | An array of details (a dictionary) per vCPU (see  |"},{"line_number":70,"context_line":"|                        | below)                                            |"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_7cbb90c4","line":67,"updated":"2014-04-30 09:38:51.000000000","message":"Is this per VM, or per host? or maybe both?","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"956b80e5d7877dd13afba6f377d6aeecc7dfc368","unresolved":false,"context_lines":[{"line_number":64,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":65,"context_line":"| num_nics               | The number of vNICS (Integer)                     |"},{"line_number":66,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":67,"context_line":"| num_disks              | The number of disks (Integer)                     |"},{"line_number":68,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":69,"context_line":"| cpu_details            | An array of details (a dictionary) per vCPU (see  |"},{"line_number":70,"context_line":"|                        | below)                                            |"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_57eea78c","line":67,"in_reply_to":"9ad9bd40_7cbb90c4","updated":"2014-04-30 10:13:19.000000000","message":"This is a per VM call.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":173,"context_line":"            \u0027memory_details\u0027: {\u0027maximum\u0027: 512, \u0027used\u0027: 256},"},{"line_number":174,"context_line":"            \u0027driver_private_data\u0027: {\u0027version\u0027: 1,"},{"line_number":175,"context_line":"                                    \u0027memory\u0027: {\u0027actual\u0027: 220160,"},{"line_number":176,"context_line":"                                               \u0027rss\u0027: 200164}}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Alternatives"},{"line_number":179,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_7cbf10d1","line":176,"updated":"2014-04-30 09:38:51.000000000","message":"I would love to see some \"minimum\" set of diagnostics that would be returned.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":173,"context_line":"            \u0027memory_details\u0027: {\u0027maximum\u0027: 512, \u0027used\u0027: 256},"},{"line_number":174,"context_line":"            \u0027driver_private_data\u0027: {\u0027version\u0027: 1,"},{"line_number":175,"context_line":"                                    \u0027memory\u0027: {\u0027actual\u0027: 220160,"},{"line_number":176,"context_line":"                                               \u0027rss\u0027: 200164}}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Alternatives"},{"line_number":179,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_4603520f","line":176,"in_reply_to":"9ad9bd40_7cbf10d1","updated":"2014-05-01 11:07:45.000000000","message":"as mentioned above if a driver does not have the value then it does not need to return them. i am not sure having a minimum set will give us any value","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Continue with the same format that the V2 has. This is problematic as"},{"line_number":182,"context_line":"we are unable to build common user interface that can query VM states,"},{"line_number":183,"context_line":"for example in tempest."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Data model impact"},{"line_number":186,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_a17255e3","line":183,"updated":"2014-04-30 09:38:51.000000000","message":"Here is an alternative we should consider:\n\nThis could also be added as a *new* API in v2 and v3.\n\nWe could then remove the old one from v3, and add this into v2/","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Continue with the same format that the V2 has. This is problematic as"},{"line_number":182,"context_line":"we are unable to build common user interface that can query VM states,"},{"line_number":183,"context_line":"for example in tempest."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Data model impact"},{"line_number":186,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_8b1723a3","line":183,"in_reply_to":"9ad9bd40_a17255e3","updated":"2014-05-01 11:07:45.000000000","message":"Done","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":190,"context_line":"REST API impact"},{"line_number":191,"context_line":"---------------"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"None"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"This has already been implemented for the V3 API. In this case we will"},{"line_number":196,"context_line":"be calling the new API."}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_2155651d","line":193,"updated":"2014-04-30 09:38:51.000000000","message":"How can this have no impact, I am confused.\n\nYou are changing what the API returns?","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":190,"context_line":"REST API impact"},{"line_number":191,"context_line":"---------------"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"None"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"This has already been implemented for the V3 API. In this case we will"},{"line_number":196,"context_line":"be calling the new API."}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_3a373ee5","line":193,"in_reply_to":"9ad9bd40_2155651d","updated":"2014-05-01 11:07:45.000000000","message":"Done","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":241,"context_line":"  Gary Kotton\u003cgkotton@vmware.com\u003e"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Other contributors:"},{"line_number":244,"context_line":"  Bob Ball\u003cbob.ball@citrix.com\u003e"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"Work Items"},{"line_number":247,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_fc1c0016","line":244,"updated":"2014-04-30 09:38:51.000000000","message":"I would use launch pad ids to avoid spam, but its your choice really.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":241,"context_line":"  Gary Kotton\u003cgkotton@vmware.com\u003e"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Other contributors:"},{"line_number":244,"context_line":"  Bob Ball\u003cbob.ball@citrix.com\u003e"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"Work Items"},{"line_number":247,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_5a4b2259","line":244,"in_reply_to":"9ad9bd40_fc1c0016","updated":"2014-05-01 11:07:45.000000000","message":"Done","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":246,"context_line":"Work Items"},{"line_number":247,"context_line":"----------"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"All work items were completed in Icehouse."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"* VM diagnostics (v3 API only): https://review.openstack.org/#/c/61753/"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_e108dd2f","line":249,"updated":"2014-04-30 09:38:51.000000000","message":"The patches are ready for review, \"completed\" implies they got merged, which is a bit confusing I think.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":246,"context_line":"Work Items"},{"line_number":247,"context_line":"----------"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"All work items were completed in Icehouse."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"* VM diagnostics (v3 API only): https://review.openstack.org/#/c/61753/"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_1a68bab9","line":249,"in_reply_to":"9ad9bd40_e108dd2f","updated":"2014-05-01 11:07:45.000000000","message":"Done","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":254,"context_line":""},{"line_number":255,"context_line":"* libvirt: https://review.openstack.org/#/c/66890/"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"* VMware: https://review.openstack.org/#/c/62240/"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"Dependencies"},{"line_number":260,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_1c1d2467","line":257,"updated":"2014-04-30 09:38:51.000000000","message":"Please don\u0027t reference the reviews here, this is a longer lived document. At least thats the current plan.\n\nFor example, you might split up a change into multiple, or this might get abandoned.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":254,"context_line":""},{"line_number":255,"context_line":"* libvirt: https://review.openstack.org/#/c/66890/"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"* VMware: https://review.openstack.org/#/c/62240/"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"Dependencies"},{"line_number":260,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_3a657ee1","line":257,"in_reply_to":"9ad9bd40_1c1d2467","updated":"2014-05-01 11:07:45.000000000","message":"Done","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5bb9be7cb3dbce46fee66bd62da86b67bca4d522","unresolved":false,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"Once the code is approved we will add tests to Tempest that will do the"},{"line_number":268,"context_line":"following for the V3 API (assuming that the underlying driver does"},{"line_number":269,"context_line":"not return NotImplemented, which may be the case if the driver does"},{"line_number":270,"context_line":"not support the method):"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"* Check that the returned driver is one of the supported ones in tree (at"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_7c6390b1","line":269,"updated":"2014-04-30 09:38:51.000000000","message":"Please define about what the API will return if the driver returns NotImplemented.","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c457a5458a8a8689f0199bb32d2f693a5228a91b","unresolved":false,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"Once the code is approved we will add tests to Tempest that will do the"},{"line_number":268,"context_line":"following for the V3 API (assuming that the underlying driver does"},{"line_number":269,"context_line":"not return NotImplemented, which may be the case if the driver does"},{"line_number":270,"context_line":"not support the method):"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"* Check that the returned driver is one of the supported ones in tree (at"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9ad9bd40_3a79fe2f","line":269,"in_reply_to":"9ad9bd40_7c6390b1","updated":"2014-05-01 11:07:45.000000000","message":"Done","commit_id":"567d0376bf4341b1a35e4b9a5b995cd8e0073743"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"0d099eb43e9370f1447decb19da5052e1dc34e55","unresolved":false,"context_lines":[{"line_number":85,"context_line":"|                        | return information valuable for diagnosing VM     |"},{"line_number":86,"context_line":"|                        | issues. The raw data should versioned.            |"},{"line_number":87,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"The cpu details will be an array of dictionaries per each virtual CPU."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":16,"id":"9ad9bd40_4ff75ef5","line":88,"updated":"2014-05-06 14:03:27.000000000","message":"(Replying to a comment set on patchset 10).\n\nI agree that it is convenient for the caller if all of this information is returned from one call, but that caller is at the nova-api level. For nova-compute, I\u0027d rather see the code that returns common values (instance state, config drive) etc be centralized in nova-compute, instead of duplicated in each driver.\n\nThis could look something like this:\n\ndiff --git a/nova/compute/manager.py b/nova/compute/manager.py\nindex 58f1450..7e98da3 100644\n--- a/nova/compute/manager.py\n+++ b/nova/compute/manager.py\n@@ -4826,6 +4826,23 @@ class ComputeManager(manager.Manager):\n                         context, instance, \"live_migration.rollback.dest.end\",\n                         network_info\u003dnetwork_info)\n \n+    @object_compat\n+    @wrap_exception()\n+    def get_instance_diagnostics(self, context, instance):\n+        \"\"\"Get diagnostic information for an instance.\"\"\"\n+        info \u003d {}\n+        info[\u0027state\u0027] \u003d instance.vm_state\n+        # ... other common values\n+\n+        try:\n+            info.update(self.driver.get_instance_diagnostics(context,\n+                                                             instance))\n+        except Exception as e:\n+            LOG.exception(_(\"Error trying to fetch instance diagnostics\"),\n+                          instance\u003dinstance)\n+\n+        return info\n+\n     @periodic_task.periodic_task(\n         spacing\u003dCONF.heal_instance_info_cache_interval)\n     def _heal_instance_info_cache(self, context):\n\nThoughts?","commit_id":"fa03cd6a1a98febbdabdc6275ed269a07d49a7db"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"aaefdbddfb62c3067655a9c484118595fdfe2e3a","unresolved":false,"context_lines":[{"line_number":85,"context_line":"|                        | return information valuable for diagnosing VM     |"},{"line_number":86,"context_line":"|                        | issues. The raw data should versioned.            |"},{"line_number":87,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"The cpu details will be an array of dictionaries per each virtual CPU."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7adec928_f2a26299","line":88,"in_reply_to":"9ad9bd40_4ff75ef5","updated":"2014-05-07 23:23:56.000000000","message":"I like this idea a lot :). I\u0027ll update","commit_id":"fa03cd6a1a98febbdabdc6275ed269a07d49a7db"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"a578bd031443e601e019475daafac75f865592a6","unresolved":false,"context_lines":[{"line_number":86,"context_line":"|                        | issues. The raw data should versioned.            |"},{"line_number":87,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Note: A numbr of the above details are common to all drivers. These values"},{"line_number":90,"context_line":"will be filled in by the Nova compute manager prior to invoking the driver"},{"line_number":91,"context_line":"call."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7adec928_0bef701f","line":89,"updated":"2014-05-09 13:28:16.000000000","message":"numbr / number","commit_id":"67a719559f8bcdef2c1daeb020e61fc4f2d28cb0"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4eb1b1a83f5467e2be6f5ef21d3fa4cc716854b1","unresolved":false,"context_lines":[{"line_number":86,"context_line":"|                        | issues. The raw data should versioned.            |"},{"line_number":87,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Note: A numbr of the above details are common to all drivers. These values"},{"line_number":90,"context_line":"will be filled in by the Nova compute manager prior to invoking the driver"},{"line_number":91,"context_line":"call."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7adec928_0294d142","line":89,"in_reply_to":"7adec928_0bef701f","updated":"2014-05-21 13:04:47.000000000","message":"Done","commit_id":"67a719559f8bcdef2c1daeb020e61fc4f2d28cb0"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"a578bd031443e601e019475daafac75f865592a6","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Note: A numbr of the above details are common to all drivers. These values"},{"line_number":90,"context_line":"will be filled in by the Nova compute manager prior to invoking the driver"},{"line_number":91,"context_line":"call."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"For example::"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7adec928_2bf42cf1","line":91,"updated":"2014-05-09 13:28:16.000000000","message":"What will you do with non-common details? It\u0027s not clear from this sentence. \"filled in\" is a bit vague to me.","commit_id":"67a719559f8bcdef2c1daeb020e61fc4f2d28cb0"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4eb1b1a83f5467e2be6f5ef21d3fa4cc716854b1","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Note: A numbr of the above details are common to all drivers. These values"},{"line_number":90,"context_line":"will be filled in by the Nova compute manager prior to invoking the driver"},{"line_number":91,"context_line":"call."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"For example::"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7adec928_42da5918","line":91,"in_reply_to":"7adec928_2bf42cf1","updated":"2014-05-21 13:04:47.000000000","message":"Done","commit_id":"67a719559f8bcdef2c1daeb020e61fc4f2d28cb0"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"a578bd031443e601e019475daafac75f865592a6","unresolved":false,"context_lines":[{"line_number":315,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"We can now at least document the fields that are returned and their meaning."},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"References"},{"line_number":320,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":321,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7adec928_ebd08455","line":318,"updated":"2014-05-09 13:28:16.000000000","message":"Please also update:\n http://docs.openstack.org/admin-guide-cloud/content/instance_usage_statistics.html \nthe v3 equivalent of http://docs.openstack.org/api/openstack-compute/2/content/GET_os-diagnostics-v2_getDiagnostics_v2__tenant_id__servers__server_id__diagnostics_ext-diagnostics.html\nhttp://docs.openstack.org/user-guide/content/usage_statistics.html\nhttp://docs.openstack.org/user-guide/content/novaclient_commands.html\nhttp://docs.openstack.org/trunk/openstack-ops/content/lay_of_the_land.html#diagnose-compute\n\nYou can see this affects at least four guides. Ideally you\u0027ll add notes about how diagnostics are different in v3 and that v2 implements it a certain way.","commit_id":"67a719559f8bcdef2c1daeb020e61fc4f2d28cb0"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4eb1b1a83f5467e2be6f5ef21d3fa4cc716854b1","unresolved":false,"context_lines":[{"line_number":315,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"We can now at least document the fields that are returned and their meaning."},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"References"},{"line_number":320,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":321,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7adec928_a2c07de1","line":318,"in_reply_to":"7adec928_ebd08455","updated":"2014-05-21 13:04:47.000000000","message":"Good point. I guess that part of the BP will ensure that the relevant docs are updated. I have noted this here.\nThanks!","commit_id":"67a719559f8bcdef2c1daeb020e61fc4f2d28cb0"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"1961e82157fd3601fde0d1bdda32aea08430f9d5","unresolved":false,"context_lines":[{"line_number":40,"context_line":"dictionary. If the driver is unable to return the value or does not have"},{"line_number":41,"context_line":"access to it at the moment then it does not need to return the key, that is"},{"line_number":42,"context_line":"all of the values are *optional*. The table below has the key and a"},{"line_number":43,"context_line":"description of the value returned:"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":46,"context_line":"| Key                    | Description                                       |"}],"source_content_type":"text/x-rst","patch_set":18,"id":"1ae5cdf2_54c1cd7e","line":43,"updated":"2014-06-18 14:32:41.000000000","message":"I\u0027d suggest that we do *not* return a dictionary from this new method. Instead create a nova.virt.diagnostics  file containing a Model() class.\n\nSo virt drivers would instantiate a nova.virt.diagnostics.Model object and use explicit APIs to fill in the well defined pieces of metadata. This object would then have a method to serilalize itself to JSON or whatever we want to present to the public end user API. This guarantees that we can never again have a free-for-all where drivers set arbitrary dictionary keys. Possbily we\u0027d want sub-objects for things like Disk/Net stats where there\u0027s a group of related pieces of data.","commit_id":"658e82a4eff3e4a846bf818e3aef17686fe54f6c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"e5ee0ea1d7c89437d99a9fa3a9698d478e70750d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"dictionary. If the driver is unable to return the value or does not have"},{"line_number":41,"context_line":"access to it at the moment then it does not need to return the key, that is"},{"line_number":42,"context_line":"all of the values are *optional*. The table below has the key and a"},{"line_number":43,"context_line":"description of the value returned:"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":46,"context_line":"| Key                    | Description                                       |"}],"source_content_type":"text/x-rst","patch_set":18,"id":"1ae5cdf2_6c95fe30","line":43,"in_reply_to":"1ae5cdf2_54c1cd7e","updated":"2014-06-19 08:54:12.000000000","message":"Done","commit_id":"658e82a4eff3e4a846bf818e3aef17686fe54f6c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"890c20580c605252307e7f693903925a3bb45cac","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"We should consider adding this support for V2. In order to support backward"},{"line_number":247,"context_line":"compatibility we can add a configuration flag. That is, we can"},{"line_number":248,"context_line":"introduce a flag for the legacy format."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Developer impact"},{"line_number":251,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"1ae5cdf2_945b5521","line":248,"updated":"2014-06-18 14:31:50.000000000","message":"Thats not going to give you backwards compatibility, but I am ignoring that here. It would have to be a client supplied flag.","commit_id":"658e82a4eff3e4a846bf818e3aef17686fe54f6c"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"2ae909a67897ef4d0c43850c28897ef1888f605c","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/v3-diagnostics"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently there is no defined format for VM diagnostics. This BP will ensure"},{"line_number":14,"context_line":"that all of the drivers that provide VM diagnostics will have a consistent"},{"line_number":15,"context_line":"format."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"1ae5cdf2_e92f29f4","line":13,"updated":"2014-06-19 19:10:22.000000000","message":"naive question: what is the diagnostics API used for?","commit_id":"f96acb55e82967627db986f2bcd4e17a148c4e27"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"84f351be92f37a1c18f51e077af2c7f5d7a430fa","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/v3-diagnostics"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently there is no defined format for VM diagnostics. This BP will ensure"},{"line_number":14,"context_line":"that all of the drivers that provide VM diagnostics will have a consistent"},{"line_number":15,"context_line":"format."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"1ae5cdf2_ec46007b","line":13,"in_reply_to":"1ae5cdf2_0d88af69","updated":"2014-06-23 18:00:07.000000000","message":"ahh I misread the spec, this is diagnostics about the virtual machine not the underlying server, that makes more sense.","commit_id":"f96acb55e82967627db986f2bcd4e17a148c4e27"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3edcdd0d047bd3f457daf084c23041dc90601d1e","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/v3-diagnostics"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently there is no defined format for VM diagnostics. This BP will ensure"},{"line_number":14,"context_line":"that all of the drivers that provide VM diagnostics will have a consistent"},{"line_number":15,"context_line":"format."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"1ae5cdf2_2deacb0e","line":13,"in_reply_to":"1ae5cdf2_a96fe126","updated":"2014-06-21 18:27:12.000000000","message":"There may be cases where ceilometer is not installed. Even worse, the actual driver may not be supported by ceilometer. I think that leaning on ceilometer here is not god and we should at least have a way in which nova can directly provide this information","commit_id":"f96acb55e82967627db986f2bcd4e17a148c4e27"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3edcdd0d047bd3f457daf084c23041dc90601d1e","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/v3-diagnostics"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently there is no defined format for VM diagnostics. This BP will ensure"},{"line_number":14,"context_line":"that all of the drivers that provide VM diagnostics will have a consistent"},{"line_number":15,"context_line":"format."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"1ae5cdf2_0d88af69","line":13,"in_reply_to":"1ae5cdf2_e92f29f4","updated":"2014-06-21 18:27:12.000000000","message":"This enables an admin to get an idea of what is going on in the vm, for example if there is traffic to and from the VM.","commit_id":"f96acb55e82967627db986f2bcd4e17a148c4e27"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"b2dcb89324b224cea608826b1daec50f9c502d33","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/v3-diagnostics"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently there is no defined format for VM diagnostics. This BP will ensure"},{"line_number":14,"context_line":"that all of the drivers that provide VM diagnostics will have a consistent"},{"line_number":15,"context_line":"format."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"1ae5cdf2_a96fe126","line":13,"in_reply_to":"1ae5cdf2_e92f29f4","updated":"2014-06-19 19:11:53.000000000","message":"To clarify, why would someone use this API  when compared to  monitoring tools, ceilometer etc.","commit_id":"f96acb55e82967627db986f2bcd4e17a148c4e27"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"2ae909a67897ef4d0c43850c28897ef1888f605c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"| uptime                 | The amount of time in seconds that the VM has     |"},{"line_number":64,"context_line":"|                        | been running (Integer)                            |"},{"line_number":65,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":66,"context_line":"| num_cpus               | The number of vCPUs (Integer)                     |"},{"line_number":67,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":68,"context_line":"| num_nics               | The number of vNICS (Integer)                     |"},{"line_number":69,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":19,"id":"1ae5cdf2_69f4f986","line":66,"updated":"2014-06-19 19:10:22.000000000","message":"How is the number of vCPUs determined?  Isn\u0027t this related to oversubscription  ratios etc","commit_id":"f96acb55e82967627db986f2bcd4e17a148c4e27"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3edcdd0d047bd3f457daf084c23041dc90601d1e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"| uptime                 | The amount of time in seconds that the VM has     |"},{"line_number":64,"context_line":"|                        | been running (Integer)                            |"},{"line_number":65,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":66,"context_line":"| num_cpus               | The number of vCPUs (Integer)                     |"},{"line_number":67,"context_line":"+------------------------+---------------------------------------------------+"},{"line_number":68,"context_line":"| num_nics               | The number of vNICS (Integer)                     |"},{"line_number":69,"context_line":"+------------------------+---------------------------------------------------+"}],"source_content_type":"text/x-rst","patch_set":19,"id":"1ae5cdf2_4ded5724","line":66,"in_reply_to":"1ae5cdf2_69f4f986","updated":"2014-06-21 18:27:12.000000000","message":"No, this is the the number that is assigned by the flavor.","commit_id":"f96acb55e82967627db986f2bcd4e17a148c4e27"}]}
