)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e68e8427607cd2c910096da98b53d27d55cbd4c7","unresolved":false,"context_lines":[{"line_number":11,"context_line":"so,it need do a check to release  the memory quota for vram."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Iee2925c585c87d9885fd4bfe38cd9b4d316f5dab"},{"line_number":14,"context_line":"Related-Bug: #1681989"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5ff73747_28ca7e6c","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":11},"updated":"2017-04-25 16:39:01.000000000","message":"This should be Closes-Bug if it solves the referenced bug. Related-Bug is for patches that are related to a bug but do not solve it directly.","commit_id":"6a8345db6e4c261fc6111732a01e64cdc25d8956"}],"nova/compute/api.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e68e8427607cd2c910096da98b53d27d55cbd4c7","unresolved":false,"context_lines":[{"line_number":2112,"context_line":"            vram_mb \u003d old_flavor.extra_specs.get(\u0027hw_video:ram_max_mb\u0027, 0)"},{"line_number":2113,"context_line":"            instance_memory_mb \u003d old_flavor.memory_mb + vram_mb"},{"line_number":2114,"context_line":"        elif instance.task_state in (task_states.DELETING,"},{"line_number":2115,"context_line":"                                     task_states.SOFT_DELETING):"},{"line_number":2116,"context_line":"            flavor \u003d flavor or instance.flavor"},{"line_number":2117,"context_line":"            instance_vcpus \u003d flavor.vcpus"},{"line_number":2118,"context_line":"            vram_mb \u003d int(flavor.get(\u0027extra_specs\u0027, {}).get(VIDEO_RAM, 0))"}],"source_content_type":"text/x-python","patch_set":6,"id":"5ff73747_6822c654","line":2115,"updated":"2017-04-25 16:39:01.000000000","message":"Why restrict this based on task state? That is, shouldn\u0027t we always include video ram and just change L2123 instead of adding a new block based on task state?","commit_id":"6a8345db6e4c261fc6111732a01e64cdc25d8956"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f74687b5831fb9a2920e591cf55a26a47bbfb4ac","unresolved":false,"context_lines":[{"line_number":2112,"context_line":"            vram_mb \u003d old_flavor.extra_specs.get(\u0027hw_video:ram_max_mb\u0027, 0)"},{"line_number":2113,"context_line":"            instance_memory_mb \u003d old_flavor.memory_mb + vram_mb"},{"line_number":2114,"context_line":"        elif instance.task_state in (task_states.DELETING,"},{"line_number":2115,"context_line":"                                     task_states.SOFT_DELETING):"},{"line_number":2116,"context_line":"            flavor \u003d flavor or instance.flavor"},{"line_number":2117,"context_line":"            instance_vcpus \u003d flavor.vcpus"},{"line_number":2118,"context_line":"            vram_mb \u003d int(flavor.get(\u0027extra_specs\u0027, {}).get(VIDEO_RAM, 0))"}],"source_content_type":"text/x-python","patch_set":6,"id":"5ff73747_3799ba6d","line":2115,"in_reply_to":"5ff73747_6822c654","updated":"2017-04-25 19:23:23.000000000","message":"Yeah, a nice point.\n\nIn _check_num_instances_quota(), Nova doesn\u0027t consider the task state like the following:\n\n 350         # Determine requested cores and ram\n 351         req_cores \u003d max_count * instance_type[\u0027vcpus\u0027]\n 352         vram_mb \u003d int(instance_type.get(\u0027extra_specs\u0027, {}).get(VIDEO_RAM, 0))\n 353         req_ram \u003d max_count * (instance_type[\u0027memory_mb\u0027] + vram_mb)\n\nI am not sure why we need to add this condition..","commit_id":"6a8345db6e4c261fc6111732a01e64cdc25d8956"}],"nova/tests/unit/compute/test_compute_api.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1c49055847905830202cc0c5e6cf7d7bd923a2cc","unresolved":false,"context_lines":[{"line_number":66,"context_line":"SHELVED_IMAGE_NOT_FOUND \u003d \u0027fake-shelved-image-notfound\u0027"},{"line_number":67,"context_line":"SHELVED_IMAGE_NOT_AUTHORIZED \u003d \u0027fake-shelved-image-not-authorized\u0027"},{"line_number":68,"context_line":"SHELVED_IMAGE_EXCEPTION \u003d \u0027fake-shelved-image-exception\u0027"},{"line_number":69,"context_line":"VIDEO_RAM \u003d \u0027hw_video:ram_max_mb\u0027"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"@ddt.ddt"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f044301_ef34c94c","line":69,"updated":"2017-05-04 18:11:51.000000000","message":"Instead of doing this, you could have used the global from the compute_api module (which is what the implementation is using).","commit_id":"0d7bfc4910ddb8ccec38fb909c550315ffb5371b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cdd9ca1388ec1da7d80df110faa7dfe1c50f076b","unresolved":false,"context_lines":[{"line_number":999,"context_line":""},{"line_number":1000,"context_line":"    def test_delete_with_vram(self):"},{"line_number":1001,"context_line":"        flavor \u003d objects.Flavor(vcpus\u003d1, memory_mb\u003d512,"},{"line_number":1002,"context_line":"            extra_specs\u003d{\"hw_video:ram_max_mb\": \"64\"})"},{"line_number":1003,"context_line":"        self._test_delete(\u0027delete\u0027,"},{"line_number":1004,"context_line":"                          flavor\u003dflavor)"},{"line_number":1005,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3f044301_0370d7a4","line":1002,"range":{"start_line":1002,"start_character":25,"end_line":1002,"end_character":46},"updated":"2017-05-05 13:23:00.000000000","message":"Re-use the same constant: compute_api.VIDEO_RAM","commit_id":"0d955a9967137296ac38fa4fddead9b393bfb2e1"}]}
