)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"fc042cf19830dc1311d3a4f527bd38f39d614ead","unresolved":false,"context_lines":[{"line_number":9,"context_line":"(*) Copied the following utility files to execute vSphere queries from"},{"line_number":10,"context_line":"common \u0027vmware-api\u0027 library. These common utility files are going to be"},{"line_number":11,"context_line":"converted to a library as a part of blueprint \u0027vmware-api\u0027, but till"},{"line_number":12,"context_line":"then these files will be used as it is. The library might not be ready"},{"line_number":13,"context_line":"for consumption for ice-house release."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"   api.py,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAAU3%2F%2F9Rs%3D","line":12,"updated":"2014-02-23 14:51:14.000000000","message":"please note that the project has been posted https://pypi.python.org/pypi/oslo.vmware\n\nIn addition to this it has been added to the requirements project (hopefully it will be approved soon) https://review.openstack.org/#/c/75539/","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"963c4d4fd92eb2157608d866cfbb13e3a0ed363b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"(*) Copied the following utility files to execute vSphere queries from"},{"line_number":10,"context_line":"common \u0027vmware-api\u0027 library. These common utility files are going to be"},{"line_number":11,"context_line":"converted to a library as a part of blueprint \u0027vmware-api\u0027, but till"},{"line_number":12,"context_line":"then these files will be used as it is. The library might not be ready"},{"line_number":13,"context_line":"for consumption for ice-house release."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"   api.py,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAAU3%2F%2F43g%3D","line":12,"in_reply_to":"AAAAU3%2F%2F9Rs%3D","updated":"2014-02-24 14:15:04.000000000","message":"If I understand correctly, unless and until the above change gets approved and merged, we cannot put a dependency on \u0027oslo.vmware\u0027 in ceilometer\u0027s requirements.txt.","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"}],"ceilometer/compute/virt/vmware/api.py":[{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"64ec0b58e4c49fbc98f4fe5e7bcf9b01c422924c","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            LOG.exception(_(\"Error while logging out the user: %s.\") %"},{"line_number":175,"context_line":"                          excep)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def invoke_api(self, module, method, *args, **kwargs):"},{"line_number":178,"context_line":"        \"\"\"Wrapper method for invoking APIs."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        Here we retry the API calls for exceptions which may come because"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FI%2Fw%3D","line":177,"updated":"2014-02-16 09:13:10.000000000","message":"this is error-prone and ugly; we should use a decorator instead of this","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            LOG.exception(_(\"Error while logging out the user: %s.\") %"},{"line_number":175,"context_line":"                          excep)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def invoke_api(self, module, method, *args, **kwargs):"},{"line_number":178,"context_line":"        \"\"\"Wrapper method for invoking APIs."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        Here we retry the API calls for exceptions which may come because"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FIpI%3D","line":177,"in_reply_to":"AAAAUX%2F%2FI%2Fw%3D","updated":"2014-02-18 18:19:27.000000000","message":"I agree.\nBut would\u0027nt it be good if the change happens in the \u0027vmware-api\u0027 library so that the projects using it like nova, cinder, glance do not have do it at their ends.","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"fc042cf19830dc1311d3a4f527bd38f39d614ead","unresolved":false,"context_lines":[{"line_number":426,"context_line":"                excep_msg \u003d _(\"Unknown state: %(state)s for lease: \""},{"line_number":427,"context_line":"                              \"%(lease)s.\") % {\u0027state\u0027: state, \u0027lease\u0027: lease}"},{"line_number":428,"context_line":"                LOG.error(excep_msg)"},{"line_number":429,"context_line":"                raise exceptions.VimException(excep_msg)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"    def _get_error_message(self, lease):"},{"line_number":432,"context_line":"        \"\"\"Get error message associated with the given lease.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F9Ro%3D","line":429,"updated":"2014-02-23 14:51:14.000000000","message":"this code looks a little outdated. we now return specific exceptions if possible. \ncan you please update to the latest code. \nhttps://github.com/openstack/oslo.vmware","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"963c4d4fd92eb2157608d866cfbb13e3a0ed363b","unresolved":false,"context_lines":[{"line_number":426,"context_line":"                excep_msg \u003d _(\"Unknown state: %(state)s for lease: \""},{"line_number":427,"context_line":"                              \"%(lease)s.\") % {\u0027state\u0027: state, \u0027lease\u0027: lease}"},{"line_number":428,"context_line":"                LOG.error(excep_msg)"},{"line_number":429,"context_line":"                raise exceptions.VimException(excep_msg)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"    def _get_error_message(self, lease):"},{"line_number":432,"context_line":"        \"\"\"Get error message associated with the given lease.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F4jQ%3D","line":429,"in_reply_to":"AAAAU3%2F%2F9Ro%3D","updated":"2014-02-24 14:15:04.000000000","message":"Done","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"}],"ceilometer/compute/virt/vmware/vim.py":[{"author":{"_account_id":9046,"name":"Maithem","email":"munshedm@vmware.com","username":"Maithem"},"change_message_id":"073bf7ea67e7e3af2a22446cb7b6e67b4c8cc248","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import httplib"},{"line_number":23,"context_line":"import suds"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from ceilometer.compute.virt.vmware import error_util"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJ2Q%3D","line":23,"updated":"2014-02-15 21:22:20.000000000","message":"httplib and suds should be in different groups. One is part of the stdlib and the other is a 3rd library.\n\nhttp://docs.openstack.org/developer/hacking/","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import httplib"},{"line_number":23,"context_line":"import suds"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from ceilometer.compute.virt.vmware import error_util"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FIoU%3D","line":23,"in_reply_to":"AAAAUX%2F%2FJ2Q%3D","updated":"2014-02-18 18:19:27.000000000","message":"Done","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"}],"ceilometer/compute/virt/vmware/vsphere_operations.py":[{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"64ec0b58e4c49fbc98f4fe5e7bcf9b01c422924c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright (c) 2014 VMware, Inc."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJCY%3D","line":1,"updated":"2014-02-16 09:13:10.000000000","message":"we don\u0027t put these any more","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright (c) 2014 VMware, Inc."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FIoQ%3D","line":1,"in_reply_to":"AAAAUX%2F%2FJCY%3D","updated":"2014-02-18 18:19:27.000000000","message":"Done","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":9046,"name":"Maithem","email":"munshedm@vmware.com","username":"Maithem"},"change_message_id":"073bf7ea67e7e3af2a22446cb7b6e67b4c8cc248","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"@author: akhils@vmware.com"},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt.vmware import vim"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJ2A%3D","line":19,"updated":"2014-02-15 21:22:20.000000000","message":"This is out of place","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"@author: akhils@vmware.com"},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt.vmware import vim"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2B3RM%3D","line":19,"in_reply_to":"AAAAUX%2F%2FJ2A%3D","updated":"2014-02-18 18:19:27.000000000","message":"Done","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":8155,"name":"Rajdeep","email":"dua_rajdeep@yahoo.com","username":"rajdeepd"},"change_message_id":"a882df94a69de498da0b10a12764806d4706c08b","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"@author: akhils@vmware.com"},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt.vmware import vim"},{"line_number":23,"context_line":"from ceilometer.compute.virt.vmware import vim_util"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJWM%3D","line":20,"updated":"2014-02-16 05:11:45.000000000","message":"Should we call the file name vcenter_operations.py? and\nclass name as VcenterOperations(object) ?","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"@author: akhils@vmware.com"},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from ceilometer.compute.virt.vmware import vim"},{"line_number":23,"context_line":"from ceilometer.compute.virt.vmware import vim_util"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2B3O0%3D","line":20,"in_reply_to":"AAAAUX%2F%2FJWM%3D","updated":"2014-02-18 18:19:27.000000000","message":"Here we are being inline with public documentation of VC APIs. The public documentation refers to the API/SDK of VC as vSphere API/SDK. Since this class calls the vSphere APIs it will be apt to name it \u0027VsphereOperations\u0027.","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":9046,"name":"Maithem","email":"munshedm@vmware.com","username":"Maithem"},"change_message_id":"073bf7ea67e7e3af2a22446cb7b6e67b4c8cc248","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"PERF_MANAGER_TYPE \u003d \"PerformanceManager\""},{"line_number":27,"context_line":"PERF_COUNTER_PROPERTY \u003d \"perfCounter\""},{"line_number":28,"context_line":"REAL_TIME_SAMPLING_INTERVAL \u003d 20  # in seconds"},{"line_number":29,"context_line":"MAX_OBJECTS \u003d 1000"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJ1o%3D","line":28,"updated":"2014-02-15 21:22:20.000000000","message":"Place comment before the variable, in order to be consistent with the rest of the code. Maybe comment should read : Time interval in seconds?","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"PERF_MANAGER_TYPE \u003d \"PerformanceManager\""},{"line_number":27,"context_line":"PERF_COUNTER_PROPERTY \u003d \"perfCounter\""},{"line_number":28,"context_line":"REAL_TIME_SAMPLING_INTERVAL \u003d 20  # in seconds"},{"line_number":29,"context_line":"MAX_OBJECTS \u003d 1000"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2B3Nw%3D","line":28,"in_reply_to":"AAAAUX%2F%2FJ1o%3D","updated":"2014-02-18 18:19:27.000000000","message":"Done","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"64ec0b58e4c49fbc98f4fe5e7bcf9b01c422924c","unresolved":false,"context_lines":[{"line_number":26,"context_line":"PERF_MANAGER_TYPE \u003d \"PerformanceManager\""},{"line_number":27,"context_line":"PERF_COUNTER_PROPERTY \u003d \"perfCounter\""},{"line_number":28,"context_line":"REAL_TIME_SAMPLING_INTERVAL \u003d 20  # in seconds"},{"line_number":29,"context_line":"MAX_OBJECTS \u003d 1000"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class VsphereOperations(object):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJBk%3D","line":29,"updated":"2014-02-16 09:13:10.000000000","message":"I think this should be config property","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":26,"context_line":"PERF_MANAGER_TYPE \u003d \"PerformanceManager\""},{"line_number":27,"context_line":"PERF_COUNTER_PROPERTY \u003d \"perfCounter\""},{"line_number":28,"context_line":"REAL_TIME_SAMPLING_INTERVAL \u003d 20  # in seconds"},{"line_number":29,"context_line":"MAX_OBJECTS \u003d 1000"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class VsphereOperations(object):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2B3I8%3D","line":29,"in_reply_to":"AAAAUX%2F%2FJBk%3D","updated":"2014-02-18 18:19:27.000000000","message":"Done","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"64ec0b58e4c49fbc98f4fe5e7bcf9b01c422924c","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def __init__(self, api_session):"},{"line_number":35,"context_line":"        self._api_session \u003d api_session"},{"line_number":36,"context_line":"        # Mapping between \"VM\u0027s nova instance Id\" -\u003e \"VM\u0027s vSphere MOID\""},{"line_number":37,"context_line":"        self.vm_moid_lookup_map \u003d {}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def _refresh_vm_moid_lookup_map(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FI%2F4%3D","line":36,"updated":"2014-02-16 09:13:10.000000000","message":"actually you map VM name to VM moid;\neither change this comment or clarify that instance id and VM name are the same","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def __init__(self, api_session):"},{"line_number":35,"context_line":"        self._api_session \u003d api_session"},{"line_number":36,"context_line":"        # Mapping between \"VM\u0027s nova instance Id\" -\u003e \"VM\u0027s vSphere MOID\""},{"line_number":37,"context_line":"        self.vm_moid_lookup_map \u003d {}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def _refresh_vm_moid_lookup_map(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2B3Ek%3D","line":36,"in_reply_to":"AAAAUX%2F%2FI%2F4%3D","updated":"2014-02-18 18:19:27.000000000","message":"Done","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"64ec0b58e4c49fbc98f4fe5e7bcf9b01c422924c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                                    \"VirtualMachine\", MAX_OBJECTS, [\"name\"],"},{"line_number":44,"context_line":"                                    False)"},{"line_number":45,"context_line":"        while result:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"            for vm_object in result.objects:"},{"line_number":48,"context_line":"                vm_moid \u003d vm_object.obj.value"},{"line_number":49,"context_line":"                vm_name \u003d vm_object.propSet[0].val"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJB0%3D","line":46,"updated":"2014-02-16 09:13:10.000000000","message":"nit: remove this empty line","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                                    \"VirtualMachine\", MAX_OBJECTS, [\"name\"],"},{"line_number":44,"context_line":"                                    False)"},{"line_number":45,"context_line":"        while result:"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"            for vm_object in result.objects:"},{"line_number":48,"context_line":"                vm_moid \u003d vm_object.obj.value"},{"line_number":49,"context_line":"                vm_name \u003d vm_object.propSet[0].val"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2B3I4%3D","line":46,"in_reply_to":"AAAAUX%2F%2FJB0%3D","updated":"2014-02-18 18:19:27.000000000","message":"Done","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"64ec0b58e4c49fbc98f4fe5e7bcf9b01c422924c","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        \"\"\"Method returns VC MOID of the VM by its NOVA instance ID."},{"line_number":57,"context_line":"        \"\"\""},{"line_number":58,"context_line":"        if vm_instance_id not in self.vm_moid_lookup_map:"},{"line_number":59,"context_line":"            self._refresh_vm_moid_lookup_map()"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if vm_instance_id in self.vm_moid_lookup_map:"},{"line_number":62,"context_line":"            return self.vm_moid_lookup_map[vm_instance_id]"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJBI%3D","line":59,"updated":"2014-02-16 09:13:10.000000000","message":"this will have performance impact when you have large number of VMs;\nyou should query the backend only for the specified instance","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        \"\"\"Method returns VC MOID of the VM by its NOVA instance ID."},{"line_number":57,"context_line":"        \"\"\""},{"line_number":58,"context_line":"        if vm_instance_id not in self.vm_moid_lookup_map:"},{"line_number":59,"context_line":"            self._refresh_vm_moid_lookup_map()"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if vm_instance_id in self.vm_moid_lookup_map:"},{"line_number":62,"context_line":"            return self.vm_moid_lookup_map[vm_instance_id]"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2B3Co%3D","line":59,"in_reply_to":"AAAAUX%2F%2FJBI%3D","updated":"2014-02-18 18:19:27.000000000","message":"In the Property collection framework there doesn\u0027t seem to be a way to query a particular entity, by supplying one of its properties as a filtering key. I tried searching the API documentation and could not get any other API to get VM by name.\n\nReferred to other drivers like Cinder, and they are also doing the same thing.\n\nIs there any way, which you know of, to getVMByName from VC?.","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"64ec0b58e4c49fbc98f4fe5e7bcf9b01c422924c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        if vm_instance_id not in self.vm_moid_lookup_map:"},{"line_number":59,"context_line":"            self._refresh_vm_moid_lookup_map()"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if vm_instance_id in self.vm_moid_lookup_map:"},{"line_number":62,"context_line":"            return self.vm_moid_lookup_map[vm_instance_id]"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJBo%3D","line":61,"updated":"2014-02-16 09:13:10.000000000","message":"return self.vm_moid_lookup_map.get(vm_instance_id, None)","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        if vm_instance_id not in self.vm_moid_lookup_map:"},{"line_number":59,"context_line":"            self._refresh_vm_moid_lookup_map()"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if vm_instance_id in self.vm_moid_lookup_map:"},{"line_number":62,"context_line":"            return self.vm_moid_lookup_map[vm_instance_id]"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2B2%2Fo%3D","line":61,"in_reply_to":"AAAAUX%2F%2FJBo%3D","updated":"2014-02-18 18:19:27.000000000","message":"Done","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"64ec0b58e4c49fbc98f4fe5e7bcf9b01c422924c","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        return perf_counter_full_name_to_id"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def query_vm_configured_value(self, vm_moid, property_name):"},{"line_number":120,"context_line":"        \"\"\"Method returns the value of specified property for a VM"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        :param vm_moid: moid of the VM whose property is to be queried"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2FJAw%3D","line":119,"updated":"2014-02-16 09:13:10.000000000","message":"This should be part of the common library and should be renamed to something like \u0027query_vm_property\u0027","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"648c580e29f11b44f3858ed0e5f34bb92fdbe289","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        return perf_counter_full_name_to_id"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def query_vm_configured_value(self, vm_moid, property_name):"},{"line_number":120,"context_line":"        \"\"\"Method returns the value of specified property for a VM"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        :param vm_moid: moid of the VM whose property is to be queried"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUX%2F%2B29c%3D","line":119,"in_reply_to":"AAAAUX%2F%2FJAw%3D","updated":"2014-02-18 18:19:27.000000000","message":"Renamed as per suggestion. Added a TODO to move this method to common library when the library gets in.","commit_id":"08abf38be3598e039f160384af1ec176b2e8e625"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"fc042cf19830dc1311d3a4f527bd38f39d614ead","unresolved":false,"context_lines":[{"line_number":19,"context_line":"PERF_MANAGER_TYPE \u003d \"PerformanceManager\""},{"line_number":20,"context_line":"PERF_COUNTER_PROPERTY \u003d \"perfCounter\""},{"line_number":21,"context_line":"# Time interval of Performance statistics in seconds"},{"line_number":22,"context_line":"REAL_TIME_SAMPLING_INTERVAL \u003d 20"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class VsphereOperations(object):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F9Rk%3D","line":22,"updated":"2014-02-23 14:51:14.000000000","message":"is this something that we would like configurable?","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"963c4d4fd92eb2157608d866cfbb13e3a0ed363b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"PERF_MANAGER_TYPE \u003d \"PerformanceManager\""},{"line_number":20,"context_line":"PERF_COUNTER_PROPERTY \u003d \"perfCounter\""},{"line_number":21,"context_line":"# Time interval of Performance statistics in seconds"},{"line_number":22,"context_line":"REAL_TIME_SAMPLING_INTERVAL \u003d 20"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class VsphereOperations(object):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F4bk%3D","line":22,"in_reply_to":"AAAAU3%2F%2F9Rk%3D","updated":"2014-02-24 14:15:04.000000000","message":"It is not configurable. We want to query the real time stats from VC. To indicate this to the API we need to supply sample_interval \u003d 20s and it is fixed.\n\nhttp://pubs.vmware.com/vsphere-50/index.jsp?topic\u003d%2Fcom.vmware.wssdk.pg.doc_50%2FPG_Ch16_Performance.18.4.html","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"fc042cf19830dc1311d3a4f527bd38f39d614ead","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        session \u003d self._api_session"},{"line_number":42,"context_line":"        result \u003d session.invoke_api(vim_util, \"get_objects\", session.vim,"},{"line_number":43,"context_line":"                                    \"VirtualMachine\", self._max_objects,"},{"line_number":44,"context_line":"                                    [\"name\"], False)"},{"line_number":45,"context_line":"        while result:"},{"line_number":46,"context_line":"            for vm_object in result.objects:"},{"line_number":47,"context_line":"                vm_moid \u003d vm_object.obj.value"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F9RM%3D","line":44,"updated":"2014-02-23 14:51:14.000000000","message":"this will pull all of the vm\u0027s that are configured on the backend. can you please look at https://review.openstack.org/#/c/59571/ - VM\u0027s that are created by OpenStack will have [\u0027config.extraConfig[\"nvp.vm-uuid\"] set.\nMaybe that is a better way of filtering the VM\u0027s","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"963c4d4fd92eb2157608d866cfbb13e3a0ed363b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        session \u003d self._api_session"},{"line_number":42,"context_line":"        result \u003d session.invoke_api(vim_util, \"get_objects\", session.vim,"},{"line_number":43,"context_line":"                                    \"VirtualMachine\", self._max_objects,"},{"line_number":44,"context_line":"                                    [\"name\"], False)"},{"line_number":45,"context_line":"        while result:"},{"line_number":46,"context_line":"            for vm_object in result.objects:"},{"line_number":47,"context_line":"                vm_moid \u003d vm_object.obj.value"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F3iI%3D","line":44,"in_reply_to":"AAAAU3%2F%2F9RM%3D","updated":"2014-02-24 14:15:04.000000000","message":"Done","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"fc042cf19830dc1311d3a4f527bd38f39d614ead","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            counter_rollup_type \u003d perf_counter_info.rollupType"},{"line_number":99,"context_line":"            counter_id \u003d perf_counter_info.key"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            counter_full_name \u003d counter_group + \":\" + counter_name + \":\" + \\"},{"line_number":102,"context_line":"                counter_rollup_type"},{"line_number":103,"context_line":"            self._perf_counter_id_lookup_map[counter_full_name] \u003d counter_id"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F9RE%3D","line":101,"updated":"2014-02-23 14:51:14.000000000","message":"minor nit: consider:\ncounter_full_name \u003d (counter_group + \":\" + counter_name + \":\" +\n                                   counter_rollup_type)\nIt is better to try and write the name without the \\","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"963c4d4fd92eb2157608d866cfbb13e3a0ed363b","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            counter_rollup_type \u003d perf_counter_info.rollupType"},{"line_number":99,"context_line":"            counter_id \u003d perf_counter_info.key"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            counter_full_name \u003d counter_group + \":\" + counter_name + \":\" + \\"},{"line_number":102,"context_line":"                counter_rollup_type"},{"line_number":103,"context_line":"            self._perf_counter_id_lookup_map[counter_full_name] \u003d counter_id"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F3gY%3D","line":101,"in_reply_to":"AAAAU3%2F%2F9RE%3D","updated":"2014-02-24 14:15:04.000000000","message":"Done","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"21063b69e9c3ff349e9f254f8c1c6a24b48125c0","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        if is_counter_aggregate:"},{"line_number":152,"context_line":"            metric_id.instance \u003d \"\""},{"line_number":153,"context_line":"        else:"},{"line_number":154,"context_line":"            metric_id.instance \u003d \"*\""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        query_spec \u003d client_factory.create(\u0027ns0:PerfQuerySpec\u0027)"},{"line_number":157,"context_line":"        query_spec.entity \u003d vim_util.get_moref(vm_moid, \"VirtualMachine\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUX%2F%2BXgw%3D","line":154,"updated":"2014-02-21 15:53:32.000000000","message":"change this to:\n\nmetric_id.instance \u003d \"\" if is_counter_aggregate else \"*\"","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"963c4d4fd92eb2157608d866cfbb13e3a0ed363b","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        if is_counter_aggregate:"},{"line_number":152,"context_line":"            metric_id.instance \u003d \"\""},{"line_number":153,"context_line":"        else:"},{"line_number":154,"context_line":"            metric_id.instance \u003d \"*\""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        query_spec \u003d client_factory.create(\u0027ns0:PerfQuerySpec\u0027)"},{"line_number":157,"context_line":"        query_spec.entity \u003d vim_util.get_moref(vm_moid, \"VirtualMachine\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F3f4%3D","line":154,"in_reply_to":"AAAAUX%2F%2BXgw%3D","updated":"2014-02-24 14:15:04.000000000","message":"Done","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"21063b69e9c3ff349e9f254f8c1c6a24b48125c0","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        query_spec \u003d client_factory.create(\u0027ns0:PerfQuerySpec\u0027)"},{"line_number":157,"context_line":"        query_spec.entity \u003d vim_util.get_moref(vm_moid, \"VirtualMachine\")"},{"line_number":158,"context_line":"        query_spec.metricId \u003d [metric_id]"},{"line_number":159,"context_line":"        query_spec.intervalId \u003d REAL_TIME_SAMPLING_INTERVAL"},{"line_number":160,"context_line":"        # [TODO(akhils@vmware.com):]query_spec.startTime \u003d from_time"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        perf_manager \u003d session.vim.service_content.perfManager"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUX%2F%2BXfo%3D","line":159,"updated":"2014-02-21 15:53:32.000000000","message":"ceilometer has it\u0027s only polling interval... how will these two coexist?","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"963c4d4fd92eb2157608d866cfbb13e3a0ed363b","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        query_spec \u003d client_factory.create(\u0027ns0:PerfQuerySpec\u0027)"},{"line_number":157,"context_line":"        query_spec.entity \u003d vim_util.get_moref(vm_moid, \"VirtualMachine\")"},{"line_number":158,"context_line":"        query_spec.metricId \u003d [metric_id]"},{"line_number":159,"context_line":"        query_spec.intervalId \u003d REAL_TIME_SAMPLING_INTERVAL"},{"line_number":160,"context_line":"        # [TODO(akhils@vmware.com):]query_spec.startTime \u003d from_time"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        perf_manager \u003d session.vim.service_content.perfManager"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAU3%2F%2F3ZE%3D","line":159,"in_reply_to":"AAAAUX%2F%2BXfo%3D","updated":"2014-02-24 14:15:04.000000000","message":"In case of vSphere/ESX, the smallest interval at which sampling happens is 20 seconds. vSphere does not provide a way to get the instantaneous value for a counter. The stat value is an average value over a duration, where the duration is 20 seconds, 5 mins, 30 mins, 2 hours or 1 day.\n\nSo, if we want the current value of a counter from VC/ESX we are setting query_spec.intervalId \u003d 20 seconds, so that we get the latest observed value of a counter by ESX. This serves as the best possible approximation for current stat value.","commit_id":"bac4ad53d6566533b1bf270e8b74c734963475df"},{"author":{"_account_id":8155,"name":"Rajdeep","email":"dua_rajdeep@yahoo.com","username":"rajdeepd"},"change_message_id":"dd4779a9e30fe0d8a0ab23cc2e2bba2e15ac35e5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"VM_INSTANCE_ID_PROPERTY \u003d \u0027config.extraConfig[\"nvp.vm-uuid\"].value\u0027"},{"line_number":22,"context_line":"# Time interval of Performance statistics in seconds"},{"line_number":23,"context_line":"REAL_TIME_SAMPLING_INTERVAL \u003d 20"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class VsphereOperations(object):"},{"line_number":27,"context_line":"    \"\"\"Class to invoke vSphere APIs calls required by various"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F8wA%3D","line":24,"updated":"2014-03-03 08:41:46.000000000","message":"move this to config if possible","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"c1e055a9674f8edf199598045d1492abae4e8913","unresolved":false,"context_lines":[{"line_number":21,"context_line":"VM_INSTANCE_ID_PROPERTY \u003d \u0027config.extraConfig[\"nvp.vm-uuid\"].value\u0027"},{"line_number":22,"context_line":"# Time interval of Performance statistics in seconds"},{"line_number":23,"context_line":"REAL_TIME_SAMPLING_INTERVAL \u003d 20"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class VsphereOperations(object):"},{"line_number":27,"context_line":"    \"\"\"Class to invoke vSphere APIs calls required by various"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F8fk%3D","line":24,"in_reply_to":"AAAAVn%2F%2F8wA%3D","updated":"2014-03-03 15:09:42.000000000","message":"Actually, it is not configurable in Vsphere. We want to query the real time stats from VC. To indicate this to the API we need to supply sample_interval \u003d 20s and it is fixed for real time stats.\nhttp://pubs.vmware.com/vsphere-50/index.jsp?topic\u003d%2Fcom.vmware.wssdk.pg.doc_50%2FPG_Ch16_Performance.18.4.html","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"87009494f801b48af2f66d4c64358a72524a0949","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        query_spec \u003d client_factory.create(\u0027ns0:PerfQuerySpec\u0027)"},{"line_number":159,"context_line":"        query_spec.entity \u003d vim_util.get_moref(vm_moid, \"VirtualMachine\")"},{"line_number":160,"context_line":"        query_spec.metricId \u003d [metric_id]"},{"line_number":161,"context_line":"        query_spec.intervalId \u003d REAL_TIME_SAMPLING_INTERVAL"},{"line_number":162,"context_line":"        # The following setting ensures that we need only one latest sample"},{"line_number":163,"context_line":"        query_spec.maxSample \u003d 1"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F9aY%3D","line":161,"updated":"2014-03-03 06:52:42.000000000","message":"Know little about Vsphere. Just wondering whether we could make REAL_TIME_SAMPLING_INTERVAL as an config option.","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"c1e055a9674f8edf199598045d1492abae4e8913","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        query_spec \u003d client_factory.create(\u0027ns0:PerfQuerySpec\u0027)"},{"line_number":159,"context_line":"        query_spec.entity \u003d vim_util.get_moref(vm_moid, \"VirtualMachine\")"},{"line_number":160,"context_line":"        query_spec.metricId \u003d [metric_id]"},{"line_number":161,"context_line":"        query_spec.intervalId \u003d REAL_TIME_SAMPLING_INTERVAL"},{"line_number":162,"context_line":"        # The following setting ensures that we need only one latest sample"},{"line_number":163,"context_line":"        query_spec.maxSample \u003d 1"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F9Js%3D","line":161,"in_reply_to":"AAAAVn%2F%2F9aY%3D","updated":"2014-03-03 15:09:42.000000000","message":"Actually, it is not configurable in Vsphere. We want to query the real time stats from VC. To indicate this to the API we need to supply sample_interval \u003d 20s and it is fixed for real time stats.\n\nhttp://pubs.vmware.com/vsphere-50/index.jsp?topic\u003d%2Fcom.vmware.wssdk.pg.doc_50%2FPG_Ch16_Performance.18.4.html","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e799bf9c7d2051802234e0ec13d99af6fef1c1fe","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        query_spec \u003d client_factory.create(\u0027ns0:PerfQuerySpec\u0027)"},{"line_number":159,"context_line":"        query_spec.entity \u003d vim_util.get_moref(vm_moid, \"VirtualMachine\")"},{"line_number":160,"context_line":"        query_spec.metricId \u003d [metric_id]"},{"line_number":161,"context_line":"        query_spec.intervalId \u003d REAL_TIME_SAMPLING_INTERVAL"},{"line_number":162,"context_line":"        # The following setting ensures that we need only one latest sample"},{"line_number":163,"context_line":"        query_spec.maxSample \u003d 1"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F6WU%3D","line":161,"in_reply_to":"AAAAVn%2F%2F9aY%3D","updated":"2014-03-03 13:49:18.000000000","message":"llu, it is strange. this was answer from earlier patchset \n\nhttps://review.openstack.org/#/c/73809/6/ceilometer/compute/virt/vmware/vsphere_operations.py","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"87009494f801b48af2f66d4c64358a72524a0949","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        if is_counter_aggregate:"},{"line_number":182,"context_line":"            return stat_values.get(None, 0)"},{"line_number":183,"context_line":"        return stat_values"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F9ZI%3D","line":183,"updated":"2014-03-03 06:52:42.000000000","message":"a single method returns different types of data based on a input parameter seems a little odd to me. How about defining another new interface method for aggregate?","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"c1e055a9674f8edf199598045d1492abae4e8913","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        if is_counter_aggregate:"},{"line_number":182,"context_line":"            return stat_values.get(None, 0)"},{"line_number":183,"context_line":"        return stat_values"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F5fo%3D","line":183,"in_reply_to":"AAAAVn%2F%2F9ZI%3D","updated":"2014-03-03 15:09:42.000000000","message":"Done","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"}],"ceilometer/tests/compute/virt/vmware/test_vsphere_operations.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"87009494f801b48af2f66d4c64358a72524a0949","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo.vmware import api"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from ceilometer.compute.virt.vmware import vsphere_operations"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F9Y8%3D","line":17,"updated":"2014-03-03 06:52:42.000000000","message":"no need to insert empty line between 3rd party libraries.","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"c1e055a9674f8edf199598045d1492abae4e8913","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo.vmware import api"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from ceilometer.compute.virt.vmware import vsphere_operations"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F5fY%3D","line":17,"in_reply_to":"AAAAVn%2F%2F9Y8%3D","updated":"2014-03-03 15:09:42.000000000","message":"Done","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"87009494f801b48af2f66d4c64358a72524a0949","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        vim_mock.QueryPerf.side_effect \u003d vim_query_perf_side_effect"},{"line_number":152,"context_line":"        stat_val \u003d self._vsphere_ops.query_vm_current_stat_value(vm_moid,"},{"line_number":153,"context_line":"                                                                 counter_id,"},{"line_number":154,"context_line":"                                                                 True)"},{"line_number":155,"context_line":"        self.assertEqual(333, stat_val)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F9X0%3D","line":154,"updated":"2014-03-03 06:52:42.000000000","message":"Maybe add another test item for non-aggregate?","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":10356,"name":"Akhil Hingane","email":"akhils@vmware.com","username":"akhilhingane"},"change_message_id":"c1e055a9674f8edf199598045d1492abae4e8913","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        vim_mock.QueryPerf.side_effect \u003d vim_query_perf_side_effect"},{"line_number":152,"context_line":"        stat_val \u003d self._vsphere_ops.query_vm_current_stat_value(vm_moid,"},{"line_number":153,"context_line":"                                                                 counter_id,"},{"line_number":154,"context_line":"                                                                 True)"},{"line_number":155,"context_line":"        self.assertEqual(333, stat_val)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAVn%2F%2F5fQ%3D","line":154,"in_reply_to":"AAAAVn%2F%2F9X0%3D","updated":"2014-03-03 15:09:42.000000000","message":"Done","commit_id":"d9735341416003d81f464a9b7292a988ccbe115e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"cf3cb5845d41ad70709a237c95f2c1ab38648801","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        ops \u003d self._vsphere_ops"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # test aggregate stat"},{"line_number":164,"context_line":"        stat_val \u003d ops.query_vm_aggregate_stats(vm_moid, counter_id)"},{"line_number":165,"context_line":"        self.assertEqual(333, stat_val)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        # test per-device(non-aggregate) stats"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAVn%2F%2F3FY%3D","line":164,"updated":"2014-03-03 18:59:18.000000000","message":"if you need another patch, better to split this into two separate tests.","commit_id":"f4e2ab85ebf3a38a29501178958e54fc7b7bdc6a"}],"requirements.txt":[{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"bb6957ede49e2f2f828de816130c021f5f074b3a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"SQLAlchemy\u003e\u003d0.7.8,\u003c\u003d0.8.99"},{"line_number":29,"context_line":"sqlalchemy-migrate\u003e\u003d0.8.2"},{"line_number":30,"context_line":"stevedore\u003e\u003d0.14"},{"line_number":31,"context_line":"suds\u003e\u003d0.4"},{"line_number":32,"context_line":"WebOb\u003e\u003d1.2.3"},{"line_number":33,"context_line":"WSME\u003e\u003d0.6"}],"source_content_type":"text/plain","patch_set":10,"id":"AAAAVX%2F%2FxTE%3D","line":31,"updated":"2014-02-28 12:10:06.000000000","message":"suds is transitive dependency from oslo.vmware; I don\u0027t think you need to put it here","commit_id":"773c30411a7059048fee055863daa181203ac2d8"}]}
