)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"2e9f709c91ca91be2fe6b0d6368d988a76c19952","unresolved":false,"context_lines":[{"line_number":10,"context_line":"XenAPI."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I06c16e5e101f344f60f6799378be1d81aa0f2311"},{"line_number":13,"context_line":"blueprint: generic-resource-pools"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5f4e5783_7641faa8","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":33},"updated":"2017-10-18 03:00:05.000000000","message":"Why I cannot link to the BP via this line?","commit_id":"bcd686ecede4f303580ad79745a1f60ea48f7419"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"20eb407b18891d27c2e512b3878cf05bbc7497ab","unresolved":false,"context_lines":[{"line_number":10,"context_line":"XenAPI."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I06c16e5e101f344f60f6799378be1d81aa0f2311"},{"line_number":13,"context_line":"blueprint: generic-resource-pools"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3f4b6375_da3c5194","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":33},"in_reply_to":"3f4b6375_fadd4a42","updated":"2017-10-26 18:48:05.000000000","message":"Probably because the blueprint is marked as completed...","commit_id":"bcd686ecede4f303580ad79745a1f60ea48f7419"},{"author":{"_account_id":17920,"name":"Jianghua Wang","email":"jianghua.wang@citrix.com","username":"wjhfresh"},"change_message_id":"ea3c5909bb65e3f9c29dd939ee8c4e958f281c77","unresolved":false,"context_lines":[{"line_number":10,"context_line":"XenAPI."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I06c16e5e101f344f60f6799378be1d81aa0f2311"},{"line_number":13,"context_line":"blueprint: generic-resource-pools"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3f4b6375_fadd4a42","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":33},"in_reply_to":"5f4e5783_7641faa8","updated":"2017-10-23 03:18:56.000000000","message":"The BP is at here: https://blueprints.launchpad.net/nova/+spec/generic-resource-pools\nYou\u0027re right that it can\u0027t be searched out by https://blueprints.launchpad.net/openstack/?searchtext\u003dgeneric-resource-pools\n\nI\u0027m confused also. But the BP is marked as completed.\n\n@Jay: any thoughts on why it\u0027s not searchable? Thanks.","commit_id":"bcd686ecede4f303580ad79745a1f60ea48f7419"}],"nova/tests/unit/virt/xenapi/test_driver.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"458ce0f71f91c1c008ae546639b5b9230c193398","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import mock"},{"line_number":19,"context_line":"from oslo_utils import units"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from nova.objects import fields as obj_fields"},{"line_number":22,"context_line":"from nova.objects import fields"},{"line_number":23,"context_line":"from nova.tests.unit.virt.xenapi import stubs"},{"line_number":24,"context_line":"from nova.virt import driver"},{"line_number":25,"context_line":"from nova.virt import fake"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f4e5783_48a1fb45","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":31},"updated":"2017-10-16 03:15:56.000000000","message":"These import statements are duplicate.\nLine 22 need not be added.","commit_id":"95c9d0ad99c3e464d22c5b4c5c942b7e4349c2f4"},{"author":{"_account_id":17920,"name":"Jianghua Wang","email":"jianghua.wang@citrix.com","username":"wjhfresh"},"change_message_id":"3c49c416fe7fff7292557fb62f5adce68f7e1838","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import mock"},{"line_number":19,"context_line":"from oslo_utils import units"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from nova.objects import fields as obj_fields"},{"line_number":22,"context_line":"from nova.objects import fields"},{"line_number":23,"context_line":"from nova.tests.unit.virt.xenapi import stubs"},{"line_number":24,"context_line":"from nova.virt import driver"},{"line_number":25,"context_line":"from nova.virt import fake"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f4e5783_c87a8bb8","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":31},"in_reply_to":"5f4e5783_48a1fb45","updated":"2017-10-16 03:22:46.000000000","message":"Takashi, you\u0027re right. Will remove the new import and use the existing imported obj_fields instead. Thanks.","commit_id":"95c9d0ad99c3e464d22c5b4c5c942b7e4349c2f4"}],"nova/virt/xenapi/driver.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a1e9e52ade0f03071fdfc6117a09fb8334e51c08","unresolved":false,"context_lines":[{"line_number":402,"context_line":"        local resources managed by the xenapi virt driver, keyed by the"},{"line_number":403,"context_line":"        resource class string identifier."},{"line_number":404,"context_line":"        \"\"\""},{"line_number":405,"context_line":"        inv_list \u003d {}"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"        host_stats \u003d self.host_state.get_host_stats(refresh\u003dTrue)"},{"line_number":408,"context_line":"        total_ram_mb \u003d host_stats[\u0027host_memory_total\u0027] / units.Mi"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_281de773","line":405,"updated":"2016-07-18 14:15:06.000000000","message":"Same comment about naming this dict a list.","commit_id":"d408f6b8d5017fad5a4d1a7819fdd37b54fdaa04"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"076d35310ed9dad6d4f60cb42bd0247c6a1d9498","unresolved":false,"context_lines":[{"line_number":402,"context_line":"        local resources managed by the xenapi virt driver, keyed by the"},{"line_number":403,"context_line":"        resource class string identifier."},{"line_number":404,"context_line":"        \"\"\""},{"line_number":405,"context_line":"        inv_list \u003d {}"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"        host_stats \u003d self.host_state.get_host_stats(refresh\u003dTrue)"},{"line_number":408,"context_line":"        total_ram_mb \u003d host_stats[\u0027host_memory_total\u0027] / units.Mi"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_5344f519","line":405,"updated":"2016-07-26 00:09:38.000000000","message":"fixed.","commit_id":"d408f6b8d5017fad5a4d1a7819fdd37b54fdaa04"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6e7709235f4ac6bf8f96c8e7de5cee3f738f8640","unresolved":false,"context_lines":[{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        vcpus \u003d host_stats[\u0027host_cpu_info\u0027][\u0027cpu_count\u0027]"},{"line_number":413,"context_line":"        memory_mb \u003d host_stats[\u0027host_memory_total\u0027] / units.Mi"},{"line_number":414,"context_line":"        disk_gb \u003d host_stats[\u0027disk_total\u0027] / units.Gi"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"        result \u003d {"},{"line_number":417,"context_line":"            fields.ResourceClass.VCPU: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_682d8293","line":414,"updated":"2017-10-27 13:01:40.000000000","message":"There is a known issue between py3 and py3 where the divider means different things :\nhttp://paste.openstack.org/show/624827/\n\nSo you should ceil the result like we do for example here :\nhttps://github.com/openstack/nova/blob/master/nova/scheduler/utils.py#L203-L214","commit_id":"bcd686ecede4f303580ad79745a1f60ea48f7419"},{"author":{"_account_id":17920,"name":"Jianghua Wang","email":"jianghua.wang@citrix.com","username":"wjhfresh"},"change_message_id":"0a374170fcd987f383905f6a4f526e076c2e4d66","unresolved":false,"context_lines":[{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        vcpus \u003d host_stats[\u0027host_cpu_info\u0027][\u0027cpu_count\u0027]"},{"line_number":413,"context_line":"        memory_mb \u003d host_stats[\u0027host_memory_total\u0027] / units.Mi"},{"line_number":414,"context_line":"        disk_gb \u003d host_stats[\u0027disk_total\u0027] / units.Gi"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"        result \u003d {"},{"line_number":417,"context_line":"            fields.ResourceClass.VCPU: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_03794fc6","line":414,"in_reply_to":"3f4b6375_084dee3c","updated":"2017-10-27 14:26:33.000000000","message":"Sylvain, thanks very much for catching this issue. Yes. you\u0027re right. Also thanks Bob for the comment. Agreed it\u0027s a safe way to use int() to force it to be an int.","commit_id":"bcd686ecede4f303580ad79745a1f60ea48f7419"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"5f5fabf71c415613fe6c886f2afa95c0d7a2e106","unresolved":false,"context_lines":[{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        vcpus \u003d host_stats[\u0027host_cpu_info\u0027][\u0027cpu_count\u0027]"},{"line_number":413,"context_line":"        memory_mb \u003d host_stats[\u0027host_memory_total\u0027] / units.Mi"},{"line_number":414,"context_line":"        disk_gb \u003d host_stats[\u0027disk_total\u0027] / units.Gi"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"        result \u003d {"},{"line_number":417,"context_line":"            fields.ResourceClass.VCPU: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_084dee3c","line":414,"in_reply_to":"3f4b6375_682d8293","updated":"2017-10-27 13:11:37.000000000","message":"I presume we want to be pessimistic here - in which case the integer arithmetic is ok in python 2?\nint(host_stats[\u0027disk_total\u0027] / units.Gi) will give us a consistent answer.\n\nSame comment as the above for memory_mb","commit_id":"bcd686ecede4f303580ad79745a1f60ea48f7419"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e23fe0c702541e0165678f8269a2e727cf16d3a2","unresolved":false,"context_lines":[{"line_number":412,"context_line":""},{"line_number":413,"context_line":"        vcpus \u003d host_stats[\u0027host_cpu_info\u0027][\u0027cpu_count\u0027]"},{"line_number":414,"context_line":"        memory_mb \u003d int(host_stats[\u0027host_memory_total\u0027] / units.Mi)"},{"line_number":415,"context_line":"        disk_gb \u003d int(host_stats[\u0027disk_total\u0027] / units.Gi)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"        result \u003d {"},{"line_number":418,"context_line":"            fields.ResourceClass.VCPU: {"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4b6375_1e707ddc","line":415,"updated":"2017-10-27 20:03:59.000000000","message":"so, you\u0027re rounding by the minimum integer. Looks fine with me for an inventory (not for an allocation)","commit_id":"c12217f0e5b0cc4d81eb6cf1b9feb45b1d4076cc"}]}
