)]}'
{"novaclient/tests/unit/fixture_data/servers.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"b00e18808c2f5f689b9f77dfc119d40ec13229b0","unresolved":false,"context_lines":[{"line_number":417,"context_line":"        if \u0027personality\u0027 in body[\u0027server\u0027]:"},{"line_number":418,"context_line":"            for pfile in body[\u0027server\u0027][\u0027personality\u0027]:"},{"line_number":419,"context_line":"                fakes.assert_has_keys(pfile, required\u003d[\u0027path\u0027, \u0027contents\u0027])"},{"line_number":420,"context_line":"        if \u0027return_reservation_id\u0027 in body[\u0027server\u0027].keys() and \\"},{"line_number":421,"context_line":"           body[\u0027server\u0027][\u0027return_reservation_id\u0027]:"},{"line_number":422,"context_line":"            return {\u0027reservation_id\u0027: \u0027r-3fhpjulh\u0027}"},{"line_number":423,"context_line":"        if body[\u0027server\u0027][\u0027name\u0027] \u003d\u003d \u0027some-bad-server\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_8ae757e5","line":420,"range":{"start_line":420,"start_character":64,"end_line":420,"end_character":65},"updated":"2017-05-31 02:38:24.000000000","message":"please avoid backlash, use parentheses instead","commit_id":"a56853d142f1e000bebb88ed075af04134873a75"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"d86455d6cd25d5009259779fecbc5fbfdd3dd6a3","unresolved":false,"context_lines":[{"line_number":417,"context_line":"        if \u0027personality\u0027 in body[\u0027server\u0027]:"},{"line_number":418,"context_line":"            for pfile in body[\u0027server\u0027][\u0027personality\u0027]:"},{"line_number":419,"context_line":"                fakes.assert_has_keys(pfile, required\u003d[\u0027path\u0027, \u0027contents\u0027])"},{"line_number":420,"context_line":"        if \u0027return_reservation_id\u0027 in body[\u0027server\u0027].keys() and \\"},{"line_number":421,"context_line":"           body[\u0027server\u0027][\u0027return_reservation_id\u0027]:"},{"line_number":422,"context_line":"            return {\u0027reservation_id\u0027: \u0027r-3fhpjulh\u0027}"},{"line_number":423,"context_line":"        if body[\u0027server\u0027][\u0027name\u0027] \u003d\u003d \u0027some-bad-server\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_156ecc94","line":420,"range":{"start_line":420,"start_character":64,"end_line":420,"end_character":65},"in_reply_to":"df140735_8ae757e5","updated":"2017-05-31 03:13:30.000000000","message":"Thanks, done.","commit_id":"a56853d142f1e000bebb88ed075af04134873a75"}],"novaclient/v2/servers.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"7be10fb780987f0dd60ca3ae7f6b1a38f846cbf5","unresolved":false,"context_lines":[{"line_number":648,"context_line":""},{"line_number":649,"context_line":"    def _boot(self, resource_url, response_key, name, image, flavor,"},{"line_number":650,"context_line":"              meta\u003dNone, files\u003dNone, userdata\u003dNone,"},{"line_number":651,"context_line":"              reservation_id\u003dNone, return_raw\u003dFalse, min_count\u003dNone,"},{"line_number":652,"context_line":"              max_count\u003dNone, security_groups\u003dNone, key_name\u003dNone,"},{"line_number":653,"context_line":"              availability_zone\u003dNone, block_device_mapping\u003dNone,"},{"line_number":654,"context_line":"              block_device_mapping_v2\u003dNone, nics\u003dNone, scheduler_hints\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_6c0e96e6","line":651,"range":{"start_line":651,"start_character":14,"end_line":651,"end_character":33},"updated":"2017-05-29 06:20:57.000000000","message":"ditto","commit_id":"22d889d9f0a9db5839f8f74a2f7932f483e9960c"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"7be10fb780987f0dd60ca3ae7f6b1a38f846cbf5","unresolved":false,"context_lines":[{"line_number":1317,"context_line":"            raise ValueError(\u0027nics must be a list\u0027)"},{"line_number":1318,"context_line":""},{"line_number":1319,"context_line":"    def create(self, name, image, flavor, meta\u003dNone, files\u003dNone,"},{"line_number":1320,"context_line":"               reservation_id\u003dNone, min_count\u003dNone,"},{"line_number":1321,"context_line":"               max_count\u003dNone, security_groups\u003dNone, userdata\u003dNone,"},{"line_number":1322,"context_line":"               key_name\u003dNone, availability_zone\u003dNone,"},{"line_number":1323,"context_line":"               block_device_mapping\u003dNone, block_device_mapping_v2\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_ec6ce69d","line":1320,"range":{"start_line":1320,"start_character":15,"end_line":1320,"end_character":34},"updated":"2017-05-29 06:20:57.000000000","message":"In API reference, \u0027return_reservation_id\u0027 is defined as boolean.\nSi \u0027reservation_id\u003dFalse\u0027 is better.\n\nhttps://developer.openstack.org/api-ref/compute/?expanded\u003dcreate-multiple-servers-detail#create-multiple-servers","commit_id":"22d889d9f0a9db5839f8f74a2f7932f483e9960c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"683519a5633f5cc635764ffb5e11527c408a3236","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        if meta:"},{"line_number":687,"context_line":"            body[\"server\"][\"metadata\"] \u003d meta"},{"line_number":688,"context_line":"        if reservation_id:"},{"line_number":689,"context_line":"            body[\"server\"][\"return_reservation_id\"] \u003d reservation_id"},{"line_number":690,"context_line":"        if key_name:"},{"line_number":691,"context_line":"            body[\"server\"][\"key_name\"] \u003d key_name"},{"line_number":692,"context_line":"        if scheduler_hints:"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_ef138e0c","line":689,"updated":"2017-05-30 18:09:18.000000000","message":"Nice catch, this change itself seems good for me based on\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/servers.py#L522\n\n        return_reservation_id \u003d create_kwargs.pop(\u0027return_reservation_id\u0027,\nFalse)","commit_id":"d883d3d3aac5aa6fecbef3ecca115787da7dadfb"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"b00e18808c2f5f689b9f77dfc119d40ec13229b0","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"                      file-like object). A maximum of five entries is allowed,"},{"line_number":1342,"context_line":"                      and each file must be 10k or less."},{"line_number":1343,"context_line":"        :param reservation_id: return a reservation_id for the set of"},{"line_number":1344,"context_line":"                                      servers being requested, boolean."},{"line_number":1345,"context_line":"        :param min_count: (optional extension) The minimum number of"},{"line_number":1346,"context_line":"                          servers to launch."},{"line_number":1347,"context_line":"        :param max_count: (optional extension) The maximum number of"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_6aeac3ac","line":1344,"range":{"start_line":1344,"start_character":31,"end_line":1344,"end_character":38},"updated":"2017-05-31 02:38:24.000000000","message":"remove this :D","commit_id":"a56853d142f1e000bebb88ed075af04134873a75"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"d86455d6cd25d5009259779fecbc5fbfdd3dd6a3","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"                      file-like object). A maximum of five entries is allowed,"},{"line_number":1342,"context_line":"                      and each file must be 10k or less."},{"line_number":1343,"context_line":"        :param reservation_id: return a reservation_id for the set of"},{"line_number":1344,"context_line":"                                      servers being requested, boolean."},{"line_number":1345,"context_line":"        :param min_count: (optional extension) The minimum number of"},{"line_number":1346,"context_line":"                          servers to launch."},{"line_number":1347,"context_line":"        :param max_count: (optional extension) The maximum number of"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_f568f887","line":1344,"range":{"start_line":1344,"start_character":31,"end_line":1344,"end_character":38},"in_reply_to":"df140735_6aeac3ac","updated":"2017-05-31 03:13:30.000000000","message":"Done","commit_id":"a56853d142f1e000bebb88ed075af04134873a75"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"a6a384e4e31f2ac76702b0008957f438e51306f6","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        if meta:"},{"line_number":687,"context_line":"            body[\"server\"][\"metadata\"] \u003d meta"},{"line_number":688,"context_line":"        if reservation_id:"},{"line_number":689,"context_line":"            body[\"server\"][\"reservation_id\"] \u003d reservation_id"},{"line_number":690,"context_line":"        if key_name:"},{"line_number":691,"context_line":"            body[\"server\"][\"key_name\"] \u003d key_name"},{"line_number":692,"context_line":"        if scheduler_hints:"}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_c064674c","side":"PARENT","line":689,"range":{"start_line":689,"start_character":12,"end_line":689,"end_character":61},"updated":"2017-06-06 08:51:28.000000000","message":"https://github.com/openstack/nova/blob/master/nova/compute/api.py#L872\n\nI don\u0027t think we need change original behavior? \nit\u0027s used for a user specified reservation id and you removed this feautre?","commit_id":"8f6c2169310f83753f15cc693e5900ea76a872df"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"ca2f4cebf0aa8d0ef06fb3ff75b79b9ba5e5731e","unresolved":false,"context_lines":[{"line_number":686,"context_line":"        if meta:"},{"line_number":687,"context_line":"            body[\"server\"][\"metadata\"] \u003d meta"},{"line_number":688,"context_line":"        if reservation_id:"},{"line_number":689,"context_line":"            body[\"server\"][\"reservation_id\"] \u003d reservation_id"},{"line_number":690,"context_line":"        if key_name:"},{"line_number":691,"context_line":"            body[\"server\"][\"key_name\"] \u003d key_name"},{"line_number":692,"context_line":"        if scheduler_hints:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f201791_2092d1f7","side":"PARENT","line":689,"range":{"start_line":689,"start_character":12,"end_line":689,"end_character":61},"in_reply_to":"df140735_c064674c","updated":"2017-06-21 08:56:35.000000000","message":"Your link is out-dated, could you point out what you are refering to?","commit_id":"8f6c2169310f83753f15cc693e5900ea76a872df"}],"novaclient/v2/shell.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"125bf5f78b82bbf93ca635a3762c6ece7d38505c","unresolved":false,"context_lines":[{"line_number":859,"context_line":"    metavar\u003d\"\u003cvalue\u003e\","},{"line_number":860,"context_line":"    dest\u003d\u0027return_reservation_id\u0027,"},{"line_number":861,"context_line":"    default\u003dFalse,"},{"line_number":862,"context_line":"    help\u003d_(\"Return a reservation id binded to created servers.\"))"},{"line_number":863,"context_line":"def do_boot(cs, args):"},{"line_number":864,"context_line":"    \"\"\"Boot a new server.\"\"\""},{"line_number":865,"context_line":"    boot_args, boot_kwargs \u003d _boot(cs, args)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_49281b33","line":862,"range":{"start_line":862,"start_character":36,"end_line":862,"end_character":42},"updated":"2017-05-31 15:00:45.000000000","message":"s/binded/bound/\n\nAlso, as defined, this option requires you to pass a value to the option, and you have logic above to try to interpret string values of \"true\", \"1\", etc.; I see absolutely no reason you have to do this.  Use \"action\u003d\u0027store_true\u0027\" on this option, so all you have to do is pass a bare \"--return-reservation-id\" option to enable that logic.","commit_id":"d2f76054ecdae02d960475425d86356b4953e079"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"10d9685b17f8a588b071f2795f4f692b7ebaf801","unresolved":false,"context_lines":[{"line_number":859,"context_line":"    metavar\u003d\"\u003cvalue\u003e\","},{"line_number":860,"context_line":"    dest\u003d\u0027return_reservation_id\u0027,"},{"line_number":861,"context_line":"    default\u003dFalse,"},{"line_number":862,"context_line":"    help\u003d_(\"Return a reservation id binded to created servers.\"))"},{"line_number":863,"context_line":"def do_boot(cs, args):"},{"line_number":864,"context_line":"    \"\"\"Boot a new server.\"\"\""},{"line_number":865,"context_line":"    boot_args, boot_kwargs \u003d _boot(cs, args)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_d2460622","line":862,"range":{"start_line":862,"start_character":36,"end_line":862,"end_character":42},"in_reply_to":"df140735_49281b33","updated":"2017-06-01 01:54:54.000000000","message":"@Kevin, thanks for the reminding!","commit_id":"d2f76054ecdae02d960475425d86356b4953e079"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"19ed1be5b9748a114ac938d2511d63190062d300","unresolved":false,"context_lines":[{"line_number":870,"context_line":"    server \u003d cs.servers.create(*boot_args, **boot_kwargs)"},{"line_number":871,"context_line":"    if boot_kwargs[\u0027reservation_id\u0027]:"},{"line_number":872,"context_line":"        new_server \u003d {\u0027reservation_id\u0027: server}"},{"line_number":873,"context_line":"        utils.print_dict(new_server)"},{"line_number":874,"context_line":"        return"},{"line_number":875,"context_line":"    else:"},{"line_number":876,"context_line":"        _print_server(cs, args, server)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_f668fe87","line":873,"range":{"start_line":873,"start_character":8,"end_line":873,"end_character":36},"updated":"2017-05-31 06:43:25.000000000","message":"When testing this patch in my local env, the print_dict function fails: \"ERROR (TypeError): __new__() takes exactly 3 arguments (2 given)\".","commit_id":"d2f76054ecdae02d960475425d86356b4953e079"},{"author":{"_account_id":21797,"name":"Jeremy Liu","display_name":"Jeremy Liu","email":"liujiong.cc@gmail.com","username":"liujiong"},"change_message_id":"10d9685b17f8a588b071f2795f4f692b7ebaf801","unresolved":false,"context_lines":[{"line_number":870,"context_line":"    server \u003d cs.servers.create(*boot_args, **boot_kwargs)"},{"line_number":871,"context_line":"    if boot_kwargs[\u0027reservation_id\u0027]:"},{"line_number":872,"context_line":"        new_server \u003d {\u0027reservation_id\u0027: server}"},{"line_number":873,"context_line":"        utils.print_dict(new_server)"},{"line_number":874,"context_line":"        return"},{"line_number":875,"context_line":"    else:"},{"line_number":876,"context_line":"        _print_server(cs, args, server)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_5232f6a8","line":873,"range":{"start_line":873,"start_character":8,"end_line":873,"end_character":36},"in_reply_to":"df140735_09a343a0","updated":"2017-06-01 01:54:54.000000000","message":"The last stack trace in novaclient is here https://github.com/openstack/python-novaclient/blob/master/novaclient/utils.py#L268 and in this line \"pt.get_string()\" throw above exception.","commit_id":"d2f76054ecdae02d960475425d86356b4953e079"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a29b95461000e6c966b4c8f3a29d2acd23b0ade8","unresolved":false,"context_lines":[{"line_number":870,"context_line":"    server \u003d cs.servers.create(*boot_args, **boot_kwargs)"},{"line_number":871,"context_line":"    if boot_kwargs[\u0027reservation_id\u0027]:"},{"line_number":872,"context_line":"        new_server \u003d {\u0027reservation_id\u0027: server}"},{"line_number":873,"context_line":"        utils.print_dict(new_server)"},{"line_number":874,"context_line":"        return"},{"line_number":875,"context_line":"    else:"},{"line_number":876,"context_line":"        _print_server(cs, args, server)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_8d561a5c","line":873,"range":{"start_line":873,"start_character":8,"end_line":873,"end_character":36},"in_reply_to":"df140735_5232f6a8","updated":"2017-06-01 15:35:28.000000000","message":"That\u0027s very odd.  Also odd that novaclient tests passed successfully.  Could it be a local condition?  Is there enough test coverage over this code path?","commit_id":"d2f76054ecdae02d960475425d86356b4953e079"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"125bf5f78b82bbf93ca635a3762c6ece7d38505c","unresolved":false,"context_lines":[{"line_number":870,"context_line":"    server \u003d cs.servers.create(*boot_args, **boot_kwargs)"},{"line_number":871,"context_line":"    if boot_kwargs[\u0027reservation_id\u0027]:"},{"line_number":872,"context_line":"        new_server \u003d {\u0027reservation_id\u0027: server}"},{"line_number":873,"context_line":"        utils.print_dict(new_server)"},{"line_number":874,"context_line":"        return"},{"line_number":875,"context_line":"    else:"},{"line_number":876,"context_line":"        _print_server(cs, args, server)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_09a343a0","line":873,"range":{"start_line":873,"start_character":8,"end_line":873,"end_character":36},"in_reply_to":"df140735_f668fe87","updated":"2017-05-31 15:00:45.000000000","message":"Jeremy: it would be helpful if you could tell us which class showed up in the stack trace?  As far as I can see, the only class print_dict() instantiates is PrettyTable, but that doesn\u0027t match the error you report (print_dict() is passing 3 arguments).","commit_id":"d2f76054ecdae02d960475425d86356b4953e079"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"65ef09f60005f33402a80d42467c29314a3c8de1","unresolved":false,"context_lines":[{"line_number":863,"context_line":"    server \u003d cs.servers.create(*boot_args, **boot_kwargs)"},{"line_number":864,"context_line":"    if boot_kwargs[\u0027reservation_id\u0027]:"},{"line_number":865,"context_line":"        new_server \u003d {\u0027reservation_id\u0027: server}"},{"line_number":866,"context_line":"        utils.print_dict(new_server)"},{"line_number":867,"context_line":"        return"},{"line_number":868,"context_line":"    else:"},{"line_number":869,"context_line":"        _print_server(cs, args, server)"}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_c8576002","line":866,"updated":"2017-06-01 15:42:42.000000000","message":"You know, looking at the _create() method in novaclient/base.py, I\u0027m not certain that cs.servers.create() necessarily returns what you\u0027re expecting it to return.  You might want to play with that from the library side and make sure cs.servers.create() returns something that print_dict() can handle (hint: base.py attempts to include metadata, specifically for request_id support).  You may have to create some sort of Reservation object to contain the reservation ID…","commit_id":"b98b6509ea8440156496cf7e123d9c7b5a81f6be"}]}
