)]}'
{"nova/compute/api.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"dc4dc2129f565e02e4eb2760c1523d8b73872f7c","unresolved":false,"context_lines":[{"line_number":791,"context_line":""},{"line_number":792,"context_line":"        dev_names \u003d []"},{"line_number":793,"context_line":"        for bdm in block_device_mapping:"},{"line_number":794,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":795,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"},{"line_number":796,"context_line":"                        \u0027device_name: %s\u0027) % bdm[\u0027device_name\u0027]"},{"line_number":797,"context_line":"                raise exception.InvalidRequest(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_944d7574","line":794,"range":{"start_line":794,"start_character":51,"end_line":794,"end_character":59},"updated":"2016-12-12 10:58:44.000000000","message":"what\u0027 this logic for?","commit_id":"b82c9954ed8ee5352b376c8f5c357064faf434c4"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"dc4dc2129f565e02e4eb2760c1523d8b73872f7c","unresolved":false,"context_lines":[{"line_number":794,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":795,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"},{"line_number":796,"context_line":"                        \u0027device_name: %s\u0027) % bdm[\u0027device_name\u0027]"},{"line_number":797,"context_line":"                raise exception.InvalidRequest(msg)"},{"line_number":798,"context_line":"            dev_names.append(bdm[\u0027device_name\u0027])"},{"line_number":799,"context_line":""},{"line_number":800,"context_line":"        return block_device_obj.block_device_make_list_from_dicts("}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_d4536d14","line":797,"range":{"start_line":797,"start_character":32,"end_line":797,"end_character":46},"updated":"2016-12-12 10:58:44.000000000","message":"should we add a Unit test?","commit_id":"b82c9954ed8ee5352b376c8f5c357064faf434c4"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"b9d21109fae41c8e73428dd317b68dc954c9ec61","unresolved":false,"context_lines":[{"line_number":790,"context_line":"        block_device_mapping +\u003d self._get_flavor_defined_bdms("},{"line_number":791,"context_line":"            instance_type, block_device_mapping)"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        dev_names \u003d []"},{"line_number":794,"context_line":"        for bdm in block_device_mapping:"},{"line_number":795,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":796,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfeb2761_d3287487","line":793,"updated":"2017-04-02 17:16:15.000000000","message":"Doing the check here denies a user to adjust volumes properties, specified in volume backed image, for example, during instance launch. If the user wants to increase root volume size, currently he can specify according bdm with \u0027vda\u0027 device name, and the instance will be run with that changes, keeping other volumes\u0027 settings unchanged. But now it\u0027s impossible.","commit_id":"e3bb78fb179fd2da7866df0fc3fe1bb729db954f"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"8dfa4a7dd4d367ec8fe21531881bae0ef819017c","unresolved":false,"context_lines":[{"line_number":790,"context_line":"        block_device_mapping +\u003d self._get_flavor_defined_bdms("},{"line_number":791,"context_line":"            instance_type, block_device_mapping)"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        dev_names \u003d []"},{"line_number":794,"context_line":"        for bdm in block_device_mapping:"},{"line_number":795,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":796,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_2891969a","line":793,"in_reply_to":"bff0334d_ac05c87c","updated":"2017-04-06 01:20:52.000000000","message":"No, it\u0027s nonsense. And i agree to disable it.\n\nBut this check is performed on the result set of bdms, which also contains image defined bdms (joined from two different structures, btw) and flavor defined bdms. See L780, L790.\n\nI think we might move this check onto L779, where user specified bdms has been converted into bdmv2 and cleaned out of some useless artifacts (see what\u0027s going on at L759-778)\n\nAs for uniqueness of device names in image bdms, i\u0027m not sure it\u0027s followed and checked. But anyway, if we want to check it, the right place might be _get_image_defined_bdms, not here.","commit_id":"e3bb78fb179fd2da7866df0fc3fe1bb729db954f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"de03cacecbcd67df2970ecf1ae5729b22d0f86f5","unresolved":false,"context_lines":[{"line_number":790,"context_line":"        block_device_mapping +\u003d self._get_flavor_defined_bdms("},{"line_number":791,"context_line":"            instance_type, block_device_mapping)"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        dev_names \u003d []"},{"line_number":794,"context_line":"        for bdm in block_device_mapping:"},{"line_number":795,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":796,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_ac05c87c","line":793,"in_reply_to":"dfeb2761_d3287487","updated":"2017-04-05 18:00:26.000000000","message":"So it\u0027s legitimate to specify multiple BDMs during server create that all have the same device_name? I\u0027m not even sure how that would work since the bdms in the image snapshot metadata should have unique device names. Can you clarify?","commit_id":"e3bb78fb179fd2da7866df0fc3fe1bb729db954f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87bb60e7661ff4a421c002f085a1fc93eec82061","unresolved":false,"context_lines":[{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        dev_names \u003d []"},{"line_number":794,"context_line":"        for bdm in block_device_mapping:"},{"line_number":795,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":796,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"},{"line_number":797,"context_line":"                        \u0027device_name: %s\u0027) % bdm[\u0027device_name\u0027]"},{"line_number":798,"context_line":"                raise exception.InvalidRequest(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfeb2761_fe34664c","line":795,"range":{"start_line":795,"start_character":47,"end_line":795,"end_character":59},"updated":"2017-04-01 17:50:30.000000000","message":"This seems odd, does it work?","commit_id":"e3bb78fb179fd2da7866df0fc3fe1bb729db954f"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"14516d2feeb0bd667d3bb344a8498e8a8aadc5c1","unresolved":false,"context_lines":[{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        dev_names \u003d []"},{"line_number":794,"context_line":"        for bdm in block_device_mapping:"},{"line_number":795,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":796,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"},{"line_number":797,"context_line":"                        \u0027device_name: %s\u0027) % bdm[\u0027device_name\u0027]"},{"line_number":798,"context_line":"                raise exception.InvalidRequest(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df87a7cf_339ba417","line":795,"range":{"start_line":795,"start_character":47,"end_line":795,"end_character":59},"in_reply_to":"bff0334d_68cb1e53","updated":"2017-12-19 11:25:55.000000000","message":"dev_name \u003d bdm[\u0027device_name\u0027]\nif dev_name and dev_name in dev_names\n\nmaybe it\u0027s more common by this way, but I really not sure dev_name can be None?","commit_id":"e3bb78fb179fd2da7866df0fc3fe1bb729db954f"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"e9f4d139135c3e8555beef419e1683184d92148d","unresolved":false,"context_lines":[{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        dev_names \u003d []"},{"line_number":794,"context_line":"        for bdm in block_device_mapping:"},{"line_number":795,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":796,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"},{"line_number":797,"context_line":"                        \u0027device_name: %s\u0027) % bdm[\u0027device_name\u0027]"},{"line_number":798,"context_line":"                raise exception.InvalidRequest(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_68cb1e53","line":795,"range":{"start_line":795,"start_character":47,"end_line":795,"end_character":59},"in_reply_to":"dfeb2761_fe34664c","updated":"2017-04-06 01:34:53.000000000","message":"No, I\u0027m trying to get a better solution","commit_id":"e3bb78fb179fd2da7866df0fc3fe1bb729db954f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87bb60e7661ff4a421c002f085a1fc93eec82061","unresolved":false,"context_lines":[{"line_number":793,"context_line":"        dev_names \u003d []"},{"line_number":794,"context_line":"        for bdm in block_device_mapping:"},{"line_number":795,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":796,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"},{"line_number":797,"context_line":"                        \u0027device_name: %s\u0027) % bdm[\u0027device_name\u0027]"},{"line_number":798,"context_line":"                raise exception.InvalidRequest(msg)"},{"line_number":799,"context_line":"            dev_names.append(bdm[\u0027device_name\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfeb2761_9e3b1a37","line":796,"range":{"start_line":796,"start_character":44,"end_line":796,"end_character":48},"updated":"2017-04-01 17:50:30.000000000","message":"For a user-facing error message, let\u0027s be clear about the resource type, so call it \"block device mappings\".","commit_id":"e3bb78fb179fd2da7866df0fc3fe1bb729db954f"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"e9f4d139135c3e8555beef419e1683184d92148d","unresolved":false,"context_lines":[{"line_number":793,"context_line":"        dev_names \u003d []"},{"line_number":794,"context_line":"        for bdm in block_device_mapping:"},{"line_number":795,"context_line":"            if bdm[\u0027device_name\u0027] in dev_names and not None:"},{"line_number":796,"context_line":"                msg \u003d _(\u0027Should not provide bdms with duplicated \u0027"},{"line_number":797,"context_line":"                        \u0027device_name: %s\u0027) % bdm[\u0027device_name\u0027]"},{"line_number":798,"context_line":"                raise exception.InvalidRequest(msg)"},{"line_number":799,"context_line":"            dev_names.append(bdm[\u0027device_name\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_08c25234","line":796,"range":{"start_line":796,"start_character":44,"end_line":796,"end_character":48},"in_reply_to":"dfeb2761_9e3b1a37","updated":"2017-04-06 01:34:53.000000000","message":"Done","commit_id":"e3bb78fb179fd2da7866df0fc3fe1bb729db954f"}]}
