)]}'
{"openstackclient/compute/v2/server.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"57c2037f6c2af034d38c9dd29467f15dcf1079c1","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                            volume_client.volumes,"},{"line_number":432,"context_line":"                            vol,"},{"line_number":433,"context_line":"                        ).id"},{"line_number":434,"context_line":"                        block_volume \u003d dev_vol.replace(vol, vol_id)"},{"line_number":435,"context_line":"                    else:"},{"line_number":436,"context_line":"                        msg \u003d _(\"Volume name or id must be specified if \""},{"line_number":437,"context_line":"                                \"--block-device-mapping is specified\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"da85f559_4cd97321","line":434,"updated":"2015-11-11 12:44:06.000000000","message":"one last question here, won\u0027t `block_volume` be:\n\n  \u003cvolume_id\u003e:::0\n\nSince we\u0027re using `dev_vol`, which has the colon\u0027s and 0 in it?\n\nIs this OK? Or should we only send the volume ID?","commit_id":"a662ac1f54a45be1d2b52dfa5ad0fa93ca8815ad"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"58c59db11b1f19e402cc57a3372b4bd8ecd6942b","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                            volume_client.volumes,"},{"line_number":432,"context_line":"                            vol,"},{"line_number":433,"context_line":"                        ).id"},{"line_number":434,"context_line":"                        block_volume \u003d dev_vol.replace(vol, vol_id)"},{"line_number":435,"context_line":"                    else:"},{"line_number":436,"context_line":"                        msg \u003d _(\"Volume name or id must be specified if \""},{"line_number":437,"context_line":"                                \"--block-device-mapping is specified\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"da85f559_d6986d1e","line":434,"in_reply_to":"da85f559_4cd97321","updated":"2015-11-12 02:47:24.000000000","message":"IIUC, the full format of \u003cid\u003e:[\u003ctype\u003e]:[\u003csize(GB)\u003e]:[\u003cdelete_on_terminate\u003e] can be passed into the create() function, and it will be parsed in the novaclient-\u003eclass BootingManagerWithFind -\u003e _parse_block_device_mapping().\n\nSo, all we need to do here is to get the \u003cvolume_id\u003e and replace \u003cid\u003e with it, because both volume id or name can be specified for the \u003cid\u003e option.","commit_id":"a662ac1f54a45be1d2b52dfa5ad0fa93ca8815ad"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"57c2037f6c2af034d38c9dd29467f15dcf1079c1","unresolved":false,"context_lines":[{"line_number":433,"context_line":"                        ).id"},{"line_number":434,"context_line":"                        block_volume \u003d dev_vol.replace(vol, vol_id)"},{"line_number":435,"context_line":"                    else:"},{"line_number":436,"context_line":"                        msg \u003d _(\"Volume name or id must be specified if \""},{"line_number":437,"context_line":"                                \"--block-device-mapping is specified\")"},{"line_number":438,"context_line":"                        raise exceptions.CommandError(msg)"},{"line_number":439,"context_line":"                block_device_mapping.update({dev_key: block_volume})"}],"source_content_type":"text/x-python","patch_set":5,"id":"da85f559_8c975b47","line":436,"updated":"2015-11-11 12:44:06.000000000","message":"use `ID` instead of `id`","commit_id":"a662ac1f54a45be1d2b52dfa5ad0fa93ca8815ad"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"58c59db11b1f19e402cc57a3372b4bd8ecd6942b","unresolved":false,"context_lines":[{"line_number":433,"context_line":"                        ).id"},{"line_number":434,"context_line":"                        block_volume \u003d dev_vol.replace(vol, vol_id)"},{"line_number":435,"context_line":"                    else:"},{"line_number":436,"context_line":"                        msg \u003d _(\"Volume name or id must be specified if \""},{"line_number":437,"context_line":"                                \"--block-device-mapping is specified\")"},{"line_number":438,"context_line":"                        raise exceptions.CommandError(msg)"},{"line_number":439,"context_line":"                block_device_mapping.update({dev_key: block_volume})"}],"source_content_type":"text/x-python","patch_set":5,"id":"da85f559_b6a12948","line":436,"in_reply_to":"da85f559_8c975b47","updated":"2015-11-12 02:47:24.000000000","message":"Done","commit_id":"a662ac1f54a45be1d2b52dfa5ad0fa93ca8815ad"}],"openstackclient/tests/compute/v2/fakes.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"843dc17e6ae1a3f176caef198d1042cc99e76cbe","unresolved":false,"context_lines":[{"line_number":77,"context_line":"}"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"QUOTA_columns \u003d tuple(sorted(QUOTA))"},{"line_number":80,"context_line":"QUOTA_data \u003d tuple(QUOTA[x] for x in sorted(QUOTA))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"class FakeComputev2Client(object):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_93d49320","line":80,"updated":"2015-11-10 13:31:53.000000000","message":"could set volume_mapping_id here and call it in the tests","commit_id":"b930ab66817358d1dfd3976910087e89b0886af0"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"399d6f8087ecfb58267c77ac80d12b456330cef0","unresolved":false,"context_lines":[{"line_number":77,"context_line":"}"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"QUOTA_columns \u003d tuple(sorted(QUOTA))"},{"line_number":80,"context_line":"QUOTA_data \u003d tuple(QUOTA[x] for x in sorted(QUOTA))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"class FakeComputev2Client(object):"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_f56042d1","line":80,"in_reply_to":"da85f559_93d49320","updated":"2015-11-11 03:03:03.000000000","message":"Done","commit_id":"b930ab66817358d1dfd3976910087e89b0886af0"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"57c2037f6c2af034d38c9dd29467f15dcf1079c1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"QUOTA_columns \u003d tuple(sorted(QUOTA))"},{"line_number":80,"context_line":"QUOTA_data \u003d tuple(QUOTA[x] for x in sorted(QUOTA))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"volume_mapping_str \u003d \u0027vda\u003d\u0027 + volume_fakes.volume_name + \u0027:::0\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"class FakeComputev2Client(object):"}],"source_content_type":"text/x-python","patch_set":5,"id":"da85f559_0ca36bb3","line":82,"updated":"2015-11-11 12:44:06.000000000","message":"call this:\n\n  block_device_mapping","commit_id":"a662ac1f54a45be1d2b52dfa5ad0fa93ca8815ad"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"58c59db11b1f19e402cc57a3372b4bd8ecd6942b","unresolved":false,"context_lines":[{"line_number":79,"context_line":"QUOTA_columns \u003d tuple(sorted(QUOTA))"},{"line_number":80,"context_line":"QUOTA_data \u003d tuple(QUOTA[x] for x in sorted(QUOTA))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"volume_mapping_str \u003d \u0027vda\u003d\u0027 + volume_fakes.volume_name + \u0027:::0\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"class FakeComputev2Client(object):"}],"source_content_type":"text/x-python","patch_set":5,"id":"da85f559_568d5dd4","line":82,"in_reply_to":"da85f559_0ca36bb3","updated":"2015-11-12 02:47:24.000000000","message":"Done","commit_id":"a662ac1f54a45be1d2b52dfa5ad0fa93ca8815ad"}],"openstackclient/tests/compute/v2/test_server.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"843dc17e6ae1a3f176caef198d1042cc99e76cbe","unresolved":false,"context_lines":[{"line_number":304,"context_line":"    def test_server_create_with_block_device_mapping(self):"},{"line_number":305,"context_line":"        arglist \u003d ["},{"line_number":306,"context_line":"            \u0027--image\u0027, \u0027image1\u0027,"},{"line_number":307,"context_line":"            \u0027--flavor\u0027, \u0027flavor1\u0027,"},{"line_number":308,"context_line":"            \u0027--block-device-mapping\u0027,"},{"line_number":309,"context_line":"            \u0027vda\u003d4bdca3de-2bae-411a-b865-8f4039dd522b:::0\u0027,"},{"line_number":310,"context_line":"            compute_fakes.server_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_9389f328","line":307,"updated":"2015-11-10 13:31:53.000000000","message":"could use the flavor from fakes.py","commit_id":"b930ab66817358d1dfd3976910087e89b0886af0"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"399d6f8087ecfb58267c77ac80d12b456330cef0","unresolved":false,"context_lines":[{"line_number":304,"context_line":"    def test_server_create_with_block_device_mapping(self):"},{"line_number":305,"context_line":"        arglist \u003d ["},{"line_number":306,"context_line":"            \u0027--image\u0027, \u0027image1\u0027,"},{"line_number":307,"context_line":"            \u0027--flavor\u0027, \u0027flavor1\u0027,"},{"line_number":308,"context_line":"            \u0027--block-device-mapping\u0027,"},{"line_number":309,"context_line":"            \u0027vda\u003d4bdca3de-2bae-411a-b865-8f4039dd522b:::0\u0027,"},{"line_number":310,"context_line":"            compute_fakes.server_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_155e2612","line":307,"in_reply_to":"da85f559_9389f328","updated":"2015-11-11 03:03:03.000000000","message":"Done","commit_id":"b930ab66817358d1dfd3976910087e89b0886af0"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"843dc17e6ae1a3f176caef198d1042cc99e76cbe","unresolved":false,"context_lines":[{"line_number":334,"context_line":"            key_name\u003dNone,"},{"line_number":335,"context_line":"            availability_zone\u003dNone,"},{"line_number":336,"context_line":"            block_device_mapping\u003d{"},{"line_number":337,"context_line":"                \u0027vda\u0027: \u0027ce26708d-a7f8-4b4b-9861-4a80256615a6\u0027"},{"line_number":338,"context_line":"            },"},{"line_number":339,"context_line":"            nics\u003d[],"},{"line_number":340,"context_line":"            scheduler_hints\u003d{},"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_732a4f2e","line":337,"updated":"2015-11-10 13:31:53.000000000","message":"does this ID not have to match: 4bdca3de-2bae-411a-b865-8f4039dd522b:::0 ?","commit_id":"b930ab66817358d1dfd3976910087e89b0886af0"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"399d6f8087ecfb58267c77ac80d12b456330cef0","unresolved":false,"context_lines":[{"line_number":334,"context_line":"            key_name\u003dNone,"},{"line_number":335,"context_line":"            availability_zone\u003dNone,"},{"line_number":336,"context_line":"            block_device_mapping\u003d{"},{"line_number":337,"context_line":"                \u0027vda\u0027: \u0027ce26708d-a7f8-4b4b-9861-4a80256615a6\u0027"},{"line_number":338,"context_line":"            },"},{"line_number":339,"context_line":"            nics\u003d[],"},{"line_number":340,"context_line":"            scheduler_hints\u003d{},"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_b5a39ab1","line":337,"in_reply_to":"da85f559_732a4f2e","updated":"2015-11-11 03:03:03.000000000","message":"No, it is just the purpose of this patch. It is because that the compute_client.servers.create() seems to be unable to hand the device_mapping with a parameter of  \u0027\u003cid\u003e:\u003ctype\u003e:\u003csize(GB)\u003e:\u003cdelete_on_terminate\u003e\u0027  format, although it should be able to.","commit_id":"b930ab66817358d1dfd3976910087e89b0886af0"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"4cd50f1e3ce4529ec74a32328303dd99c9e65e55","unresolved":false,"context_lines":[{"line_number":334,"context_line":"            key_name\u003dNone,"},{"line_number":335,"context_line":"            availability_zone\u003dNone,"},{"line_number":336,"context_line":"            block_device_mapping\u003d{"},{"line_number":337,"context_line":"                \u0027vda\u0027: \u0027ce26708d-a7f8-4b4b-9861-4a80256615a6\u0027"},{"line_number":338,"context_line":"            },"},{"line_number":339,"context_line":"            nics\u003d[],"},{"line_number":340,"context_line":"            scheduler_hints\u003d{},"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_985d6b7b","line":337,"in_reply_to":"da85f559_732a4f2e","updated":"2015-11-11 04:16:54.000000000","message":"Sorry, you`re right, i misunderstood the create() function.\ni`ll update the patch soon.","commit_id":"b930ab66817358d1dfd3976910087e89b0886af0"}]}
