)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"cef8a7572c1877d3244e9fc3054345709a3e253f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add the swap and ephemeral BDMs if needed"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"After preparing the block device mapping for creating new instance(s),"},{"line_number":10,"context_line":"check if any epehmeral and/or a swap disks have been already defined. If"},{"line_number":11,"context_line":"that is not the case and the instance type requires them, create the"},{"line_number":12,"context_line":"needed ephemeral and/or swap BDMs."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAWH%2F%2BIHY%3D","line":10,"updated":"2014-03-29 01:39:11.000000000","message":"s/epehmeral/ephemeral/","commit_id":"9fe4434cfecf50bf5d985f35a635e021b1f7315c"}],"nova/block_device.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f1981072ed5f98e0118c6b5349c798365f47db21","unresolved":false,"context_lines":[{"line_number":264,"context_line":"         \u0027delete_on_termination\u0027: True,"},{"line_number":265,"context_line":"         \u0027device_type\u0027: \u0027disk\u0027,"},{"line_number":266,"context_line":"         \u0027boot_index\u0027: -1,"},{"line_number":267,"context_line":"         \u0027device_type\u0027: \u0027disk\u0027,"},{"line_number":268,"context_line":"         \u0027destination_type\u0027: \u0027local\u0027,"},{"line_number":269,"context_line":"         \u0027guest_format\u0027: guest_format,"},{"line_number":270,"context_line":"         \u0027volume_size\u0027: size})"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F97oM%3D","line":267,"updated":"2014-04-01 06:19:42.000000000","message":"looks to me we have 2 \u0027device_type\u0027 here?","commit_id":"d2213e1fec4d9302ba3dd15ddd4dd74fae8cdd55"},{"author":{"_account_id":7808,"name":"Xavier Queralt","email":"xqueralt@gmail.com","username":"xqueralt"},"change_message_id":"8eca19473e64f2cd30975b6808b3e57ed304adc4","unresolved":false,"context_lines":[{"line_number":264,"context_line":"         \u0027delete_on_termination\u0027: True,"},{"line_number":265,"context_line":"         \u0027device_type\u0027: \u0027disk\u0027,"},{"line_number":266,"context_line":"         \u0027boot_index\u0027: -1,"},{"line_number":267,"context_line":"         \u0027device_type\u0027: \u0027disk\u0027,"},{"line_number":268,"context_line":"         \u0027destination_type\u0027: \u0027local\u0027,"},{"line_number":269,"context_line":"         \u0027guest_format\u0027: guest_format,"},{"line_number":270,"context_line":"         \u0027volume_size\u0027: size})"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9xYM%3D","line":267,"in_reply_to":"AAAAWH%2F97oM%3D","updated":"2014-04-02 08:39:36.000000000","message":"Ouch, fixed in the next patch.","commit_id":"d2213e1fec4d9302ba3dd15ddd4dd74fae8cdd55"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3bdfe184bdb41c9857e1631439ddc26046043058","unresolved":false,"context_lines":[{"line_number":264,"context_line":"         \u0027delete_on_termination\u0027: True,"},{"line_number":265,"context_line":"         \u0027device_type\u0027: \u0027disk\u0027,"},{"line_number":266,"context_line":"         \u0027boot_index\u0027: -1,"},{"line_number":267,"context_line":"         \u0027device_type\u0027: \u0027disk\u0027,"},{"line_number":268,"context_line":"         \u0027destination_type\u0027: \u0027local\u0027,"},{"line_number":269,"context_line":"         \u0027guest_format\u0027: guest_format,"},{"line_number":270,"context_line":"         \u0027volume_size\u0027: size})"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F963c%3D","line":267,"in_reply_to":"AAAAWH%2F97oM%3D","updated":"2014-04-01 07:40:36.000000000","message":"correct.","commit_id":"d2213e1fec4d9302ba3dd15ddd4dd74fae8cdd55"}],"nova/compute/api.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"ead6ff15a790edd313f16d393876c5aa527c0196","unresolved":false,"context_lines":[{"line_number":699,"context_line":"        block_device_mapping +\u003d image_defined_bdms"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        root_bdm \u003d block_device.get_root_bdm(block_device_mapping)"},{"line_number":702,"context_line":"        if root_bdm and root_bdm[\u0027source_tyape\u0027] \u003d\u003d \u0027image\u0027:"},{"line_number":703,"context_line":"            if not root_bdm[\u0027volume_size\u0027]:"},{"line_number":704,"context_line":"                root_size \u003d instance.get(\u0027root_gb\u0027)"},{"line_number":705,"context_line":"                if root_size:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2BTrE%3D","line":702,"updated":"2014-03-27 17:59:52.000000000","message":"type not tyape... and this should be a separate method really.","commit_id":"c267d5552975b9459766bad0c5279c0c50f0b452"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"cef8a7572c1877d3244e9fc3054345709a3e253f","unresolved":false,"context_lines":[{"line_number":649,"context_line":"        have_swap_bdms \u003d any(filter("},{"line_number":650,"context_line":"            block_device.new_format_is_swap, block_device_mapping))"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        def create_blank_bdm(size, guest_format\u003dNone):"},{"line_number":653,"context_line":"            return block_device.BlockDeviceDict("},{"line_number":654,"context_line":"                {\u0027source_type\u0027: \u0027blank\u0027,"},{"line_number":655,"context_line":"                 \u0027delete_on_termination\u0027: True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BIGc%3D","line":652,"updated":"2014-03-29 01:39:11.000000000","message":"Suggest to move the above helper into nova.block_device module, right under the create_image_bdm helper method:\n\nhttps://github.com/openstack/nova/blob/master/nova/block_device.py#L246","commit_id":"9fe4434cfecf50bf5d985f35a635e021b1f7315c"},{"author":{"_account_id":7808,"name":"Xavier Queralt","email":"xqueralt@gmail.com","username":"xqueralt"},"change_message_id":"8b1beacb31477cdacaba0234acc65fc8db24459f","unresolved":false,"context_lines":[{"line_number":649,"context_line":"        have_swap_bdms \u003d any(filter("},{"line_number":650,"context_line":"            block_device.new_format_is_swap, block_device_mapping))"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        def create_blank_bdm(size, guest_format\u003dNone):"},{"line_number":653,"context_line":"            return block_device.BlockDeviceDict("},{"line_number":654,"context_line":"                {\u0027source_type\u0027: \u0027blank\u0027,"},{"line_number":655,"context_line":"                 \u0027delete_on_termination\u0027: True,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2BDyE%3D","line":652,"in_reply_to":"AAAAWH%2F%2BIGc%3D","updated":"2014-03-31 07:55:03.000000000","message":"Yep, it makes sense to move it there.","commit_id":"9fe4434cfecf50bf5d985f35a635e021b1f7315c"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5d09f015f7e993a9fa51d23ab8fed5ec86171694","unresolved":false,"context_lines":[{"line_number":643,"context_line":"        flavor_defined_bdms \u003d []"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"        have_ephemeral_bdms \u003d any(filter("},{"line_number":646,"context_line":"            block_device.new_format_is_ephemeral, block_device_mapping))"},{"line_number":647,"context_line":"        have_swap_bdms \u003d any(filter("},{"line_number":648,"context_line":"            block_device.new_format_is_swap, block_device_mapping))"},{"line_number":649,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAXX%2F%2Fy7g%3D","line":646,"updated":"2014-04-27 06:33:28.000000000","message":"why does this method need to be called if the ephemeral_gb is not defined?","commit_id":"41e79973c5a2298079b8669cbec9ceb9df2400d6"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5d09f015f7e993a9fa51d23ab8fed5ec86171694","unresolved":false,"context_lines":[{"line_number":644,"context_line":""},{"line_number":645,"context_line":"        have_ephemeral_bdms \u003d any(filter("},{"line_number":646,"context_line":"            block_device.new_format_is_ephemeral, block_device_mapping))"},{"line_number":647,"context_line":"        have_swap_bdms \u003d any(filter("},{"line_number":648,"context_line":"            block_device.new_format_is_swap, block_device_mapping))"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        if instance_type.get(\u0027ephemeral_gb\u0027) and not have_ephemeral_bdms:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAXX%2F%2Fy7c%3D","line":647,"updated":"2014-04-27 06:33:28.000000000","message":"ditto with the swap?","commit_id":"41e79973c5a2298079b8669cbec9ceb9df2400d6"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"66fc22be1ce4524699bf52ee85b42e7214f47d52","unresolved":false,"context_lines":[{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        if instance_type.get(\u0027ephemeral_gb\u0027) and not have_ephemeral_bdms:"},{"line_number":651,"context_line":"            flavor_defined_bdms.append("},{"line_number":652,"context_line":"                block_device.create_blank_bdm(instance_type[\u0027ephemeral_gb\u0027]))"},{"line_number":653,"context_line":"        if instance_type.get(\u0027swap\u0027) and not have_swap_bdms:"},{"line_number":654,"context_line":"            flavor_defined_bdms.append("},{"line_number":655,"context_line":"                block_device.create_blank_bdm(instance_type[\u0027swap\u0027], \u0027swap\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_caaf2be2","line":652,"updated":"2014-10-21 13:59:35.000000000","message":"xenapi actually creates multiple, and I think it attaches the swap disk before attaching any ephemeral disks, etc.\n\nits bad driver inconsistency, but we need some way for this to work I think :(","commit_id":"41e79973c5a2298079b8669cbec9ceb9df2400d6"}],"nova/tests/compute/test_compute.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5d09f015f7e993a9fa51d23ab8fed5ec86171694","unresolved":false,"context_lines":[{"line_number":6796,"context_line":"    def test_create_bdm_from_flavor(self):"},{"line_number":6797,"context_line":"        instance_type_params \u003d {"},{"line_number":6798,"context_line":"            \u0027flavorid\u0027: \u0027test\u0027, \u0027name\u0027: \u0027test\u0027,"},{"line_number":6799,"context_line":"            \u0027swap\u0027: 1024, \u0027ephemeral_gb\u0027: 1, \u0027root_gb\u0027: 1,"},{"line_number":6800,"context_line":"        }"},{"line_number":6801,"context_line":"        self._create_instance_type(params\u003dinstance_type_params)"},{"line_number":6802,"context_line":"        inst_type \u003d flavors.get_flavor_by_name(\u0027test\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAXX%2F%2Fy7Q%3D","line":6799,"updated":"2014-04-27 06:33:28.000000000","message":"this tests the case when the swap and ephemeral are both defined. cna you please add tests where only one is defined.","commit_id":"41e79973c5a2298079b8669cbec9ceb9df2400d6"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5d09f015f7e993a9fa51d23ab8fed5ec86171694","unresolved":false,"context_lines":[{"line_number":6801,"context_line":"        self._create_instance_type(params\u003dinstance_type_params)"},{"line_number":6802,"context_line":"        inst_type \u003d flavors.get_flavor_by_name(\u0027test\u0027)"},{"line_number":6803,"context_line":"        inst_type[\u0027created_at\u0027] \u003d \u0027\u0027"},{"line_number":6804,"context_line":"        self.stubs.Set(fake_image._FakeImageService, \u0027show\u0027, self.fake_show)"},{"line_number":6805,"context_line":"        (refs, resv_id) \u003d self.compute_api.create(self.context, inst_type,"},{"line_number":6806,"context_line":"                                                  self.fake_image[\u0027id\u0027])"},{"line_number":6807,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAXX%2F%2Fy7U%3D","line":6804,"updated":"2014-04-27 06:33:28.000000000","message":"can you please use mock instead of the stubs?","commit_id":"41e79973c5a2298079b8669cbec9ceb9df2400d6"}],"nova/tests/unit/compute/test_compute_cells.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"061260965a2ac602c09a6d3e8ed8a549f20660e0","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        self.assertEqual(0, len(bdms))"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def test_create_bdm_from_flavor(self):"},{"line_number":231,"context_line":"        self.skipTest(\"Test is incompatible with cells.\")"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    @mock.patch(\u0027nova.cells.messaging._TargetedMessage\u0027)"},{"line_number":234,"context_line":"    def test_rebuild_sig(self, mock_msg):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3afb71cf_302701cc","line":231,"updated":"2015-06-08 19:09:34.000000000","message":"Why is this test incompatible with cells?","commit_id":"7f8128f87f5a2fa93c857295fb7e4163986eda25"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"f63052e0b58a4c885145721f9618700adcc2c18e","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        self.assertEqual(0, len(bdms))"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def test_create_bdm_from_flavor(self):"},{"line_number":231,"context_line":"        self.skipTest(\"Test is incompatible with cells.\")"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    @mock.patch(\u0027nova.cells.messaging._TargetedMessage\u0027)"},{"line_number":234,"context_line":"    def test_rebuild_sig(self, mock_msg):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3afb71cf_28e971b7","line":231,"in_reply_to":"3afb71cf_302701cc","updated":"2015-06-10 17:05:52.000000000","message":"We don\u0027t do any block device mapping creation in the top level cell so the test is the same as the one above - (make sure nothing is created).","commit_id":"7f8128f87f5a2fa93c857295fb7e4163986eda25"}]}
