)]}'
{"novaclient/exceptions.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"b8227b4c12fdc198c68a7c1a63ec8c706de927e0","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, argument_name, start_version, end_version\u003dNone):"},{"line_number":33,"context_line":"        if end_version:"},{"line_number":34,"context_line":"            self.message \u003d (\"\u0027%(name)s\u0027 argument is allowed for microversions\""},{"line_number":35,"context_line":"                            \" %(start)s - %(end)s.\" % {\"name\": argument_name,"},{"line_number":36,"context_line":"                                                      \"start\": start_version,"},{"line_number":37,"context_line":"                                                      \"end\": end_version})"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a57f1b5_6f3045e9","line":34,"range":{"start_line":34,"start_character":49,"end_line":34,"end_character":63},"updated":"2016-02-10 17:57:54.000000000","message":"s/is allowed for/is only allowed for/","commit_id":"f152bb512adf1236dc52127a6b845f288dd23391"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"ac8c7367dc889ae88269316905fed43e923a7b95","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, argument_name, start_version, end_version\u003dNone):"},{"line_number":33,"context_line":"        if end_version:"},{"line_number":34,"context_line":"            self.message \u003d (\"\u0027%(name)s\u0027 argument is allowed for microversions\""},{"line_number":35,"context_line":"                            \" %(start)s - %(end)s.\" % {\"name\": argument_name,"},{"line_number":36,"context_line":"                                                      \"start\": start_version,"},{"line_number":37,"context_line":"                                                      \"end\": end_version})"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a57f1b5_5b1e6764","line":34,"range":{"start_line":34,"start_character":49,"end_line":34,"end_character":63},"in_reply_to":"3a57f1b5_6f3045e9","updated":"2016-02-10 19:13:03.000000000","message":"Done","commit_id":"f152bb512adf1236dc52127a6b845f288dd23391"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"b8227b4c12fdc198c68a7c1a63ec8c706de927e0","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                                                      \"start\": start_version,"},{"line_number":37,"context_line":"                                                      \"end\": end_version})"},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            self.message \u003d (\"\u0027%(name)s\u0027 argument is allowed since microversion\""},{"line_number":40,"context_line":"                            \" %(start)s.\" % {\"name\": argument_name,"},{"line_number":41,"context_line":"                                             \"start\": start_version})"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a57f1b5_4f4c6970","line":39,"range":{"start_line":39,"start_character":49,"end_line":39,"end_character":65},"updated":"2016-02-10 17:57:54.000000000","message":"s/is allowed since/is only allowed since/","commit_id":"f152bb512adf1236dc52127a6b845f288dd23391"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"ac8c7367dc889ae88269316905fed43e923a7b95","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                                                      \"start\": start_version,"},{"line_number":37,"context_line":"                                                      \"end\": end_version})"},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            self.message \u003d (\"\u0027%(name)s\u0027 argument is allowed since microversion\""},{"line_number":40,"context_line":"                            \" %(start)s.\" % {\"name\": argument_name,"},{"line_number":41,"context_line":"                                             \"start\": start_version})"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a57f1b5_bb0f5b2d","line":39,"range":{"start_line":39,"start_character":49,"end_line":39,"end_character":65},"in_reply_to":"3a57f1b5_4f4c6970","updated":"2016-02-10 19:13:03.000000000","message":"Done","commit_id":"f152bb512adf1236dc52127a6b845f288dd23391"}],"novaclient/tests/functional/v2/test_servers.py":[{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"eadfb8aee3cfc7ad2768baa79150852580536e4d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"dae33548_9117daa2","line":76,"updated":"2016-02-15 17:22:59.000000000","message":"Please add an update test, where the name is different than the description.","commit_id":"27069305453f66ecb1b9d1587d70ecb3ea733431"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"522c9983ff23aabbb3590c84468bb614f5e00370","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"dae33548_ad1b7f7f","line":76,"in_reply_to":"dae33548_9117daa2","updated":"2016-02-16 11:01:38.000000000","message":"A name and a description are already different:)","commit_id":"27069305453f66ecb1b9d1587d70ecb3ea733431"}],"novaclient/v2/servers.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87d362c36a946cc93a7a9279186553a5631a6f8b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        if (description and"},{"line_number":62,"context_line":"                self.manager.api_version \u003c api_versions.APIVersion(\"2.19\")):"},{"line_number":63,"context_line":"            raise ValueError("},{"line_number":64,"context_line":"                    _(\"Setting \u0027description\u0027 is not allowed for 2.0 - 2.18\"))"},{"line_number":65,"context_line":"        update_kwargs \u003d {\"name\": name}"},{"line_number":66,"context_line":"        if description:"},{"line_number":67,"context_line":"            update_kwargs[\"description\"] \u003d description"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_ba9a0013","line":64,"range":{"start_line":64,"start_character":60,"end_line":64,"end_character":74},"updated":"2016-02-10 16:35:37.000000000","message":"Suggest s/for 2\\.0 - 2\\.18/for microversions 2.0 - 2.18/ for clarity (femtonit)","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"402230fe92245097f53d41bb52e4dcf623a82324","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        if (description and"},{"line_number":62,"context_line":"                self.manager.api_version \u003c api_versions.APIVersion(\"2.19\")):"},{"line_number":63,"context_line":"            raise ValueError("},{"line_number":64,"context_line":"                    _(\"Setting \u0027description\u0027 is not allowed for 2.0 - 2.18\"))"},{"line_number":65,"context_line":"        update_kwargs \u003d {\"name\": name}"},{"line_number":66,"context_line":"        if description:"},{"line_number":67,"context_line":"            update_kwargs[\"description\"] \u003d description"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_e631c1ed","line":64,"range":{"start_line":64,"start_character":60,"end_line":64,"end_character":74},"in_reply_to":"3a57f1b5_ba9a0013","updated":"2016-02-10 17:41:34.000000000","message":"Done","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87d362c36a946cc93a7a9279186553a5631a6f8b","unresolved":false,"context_lines":[{"line_number":1184,"context_line":"                           password."},{"line_number":1185,"context_line":"        :param access_ip_v4: (optional extension) add alternative access ip v4"},{"line_number":1186,"context_line":"        :param access_ip_v6: (optional extension) add alternative access ip v6"},{"line_number":1187,"context_line":"        :param description: optional description of the server(allowed from"},{"line_number":1188,"context_line":"                            2.19 microversion)"},{"line_number":1189,"context_line":"        \"\"\""},{"line_number":1190,"context_line":"        if not min_count:"},{"line_number":1191,"context_line":"            min_count \u003d 1"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_7a400857","line":1188,"range":{"start_line":1187,"start_character":56,"end_line":1188,"end_character":46},"updated":"2016-02-10 16:35:37.000000000","message":"Femtonits:\n\n1. There should be a space before the open parenthesis (\u0027(\u0027).\n\n2. s/from/since/\n\n3. Suggestion: I\u0027d like to see s/2\\.19 microversion/microversion 2.19/","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"402230fe92245097f53d41bb52e4dcf623a82324","unresolved":false,"context_lines":[{"line_number":1184,"context_line":"                           password."},{"line_number":1185,"context_line":"        :param access_ip_v4: (optional extension) add alternative access ip v4"},{"line_number":1186,"context_line":"        :param access_ip_v6: (optional extension) add alternative access ip v6"},{"line_number":1187,"context_line":"        :param description: optional description of the server(allowed from"},{"line_number":1188,"context_line":"                            2.19 microversion)"},{"line_number":1189,"context_line":"        \"\"\""},{"line_number":1190,"context_line":"        if not min_count:"},{"line_number":1191,"context_line":"            min_count \u003d 1"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_869b2dc9","line":1188,"range":{"start_line":1187,"start_character":56,"end_line":1188,"end_character":46},"in_reply_to":"3a57f1b5_7a400857","updated":"2016-02-10 17:41:34.000000000","message":"Done","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87d362c36a946cc93a7a9279186553a5631a6f8b","unresolved":false,"context_lines":[{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"        boot_args \u003d [name, image, flavor]"},{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"        self._check_kwargs_over_v2_19(**kwargs)"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"        boot_kwargs \u003d dict("},{"line_number":1202,"context_line":"            meta\u003dmeta, files\u003dfiles, userdata\u003duserdata,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_55571d02","line":1199,"updated":"2016-02-10 16:35:37.000000000","message":"1. Why not inline this method?  It\u0027s only used in two places, and isn\u0027t all that complex.\n\n2. I\u0027m not convinced that AttributeError is the correct one to raise; maybe we should use some sort of new UnsupportedAttribute exception?  Just a thought…","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"402230fe92245097f53d41bb52e4dcf623a82324","unresolved":false,"context_lines":[{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"        boot_args \u003d [name, image, flavor]"},{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"        self._check_kwargs_over_v2_19(**kwargs)"},{"line_number":1200,"context_line":""},{"line_number":1201,"context_line":"        boot_kwargs \u003d dict("},{"line_number":1202,"context_line":"            meta\u003dmeta, files\u003dfiles, userdata\u003duserdata,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_460c5594","line":1199,"in_reply_to":"3a57f1b5_55571d02","updated":"2016-02-10 17:41:34.000000000","message":"Done","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"eadfb8aee3cfc7ad2768baa79150852580536e4d","unresolved":false,"context_lines":[{"line_number":1255,"context_line":"        body \u003d {\"server\": {}}"},{"line_number":1256,"context_line":"        if name:"},{"line_number":1257,"context_line":"            body[\"server\"][\"name\"] \u003d name"},{"line_number":1258,"context_line":"        if name:"},{"line_number":1259,"context_line":"            body[\"server\"][\"description\"] \u003d name"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"        return self._update(\"/servers/%s\" % base.getid(server), body, \"server\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"dae33548_0be55708","line":1258,"updated":"2016-02-15 17:22:59.000000000","message":"if description:","commit_id":"27069305453f66ecb1b9d1587d70ecb3ea733431"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"522c9983ff23aabbb3590c84468bb614f5e00370","unresolved":false,"context_lines":[{"line_number":1255,"context_line":"        body \u003d {\"server\": {}}"},{"line_number":1256,"context_line":"        if name:"},{"line_number":1257,"context_line":"            body[\"server\"][\"name\"] \u003d name"},{"line_number":1258,"context_line":"        if name:"},{"line_number":1259,"context_line":"            body[\"server\"][\"description\"] \u003d name"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"        return self._update(\"/servers/%s\" % base.getid(server), body, \"server\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"dae33548_6d1697f2","line":1258,"in_reply_to":"dae33548_0be55708","updated":"2016-02-16 11:01:38.000000000","message":"good catch. thanks!","commit_id":"27069305453f66ecb1b9d1587d70ecb3ea733431"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"eadfb8aee3cfc7ad2768baa79150852580536e4d","unresolved":false,"context_lines":[{"line_number":1256,"context_line":"        if name:"},{"line_number":1257,"context_line":"            body[\"server\"][\"name\"] \u003d name"},{"line_number":1258,"context_line":"        if name:"},{"line_number":1259,"context_line":"            body[\"server\"][\"description\"] \u003d name"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"        return self._update(\"/servers/%s\" % base.getid(server), body, \"server\")"},{"line_number":1262,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"dae33548_8ba687bf","line":1259,"updated":"2016-02-15 17:22:59.000000000","message":"... \u003d description","commit_id":"27069305453f66ecb1b9d1587d70ecb3ea733431"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"522c9983ff23aabbb3590c84468bb614f5e00370","unresolved":false,"context_lines":[{"line_number":1256,"context_line":"        if name:"},{"line_number":1257,"context_line":"            body[\"server\"][\"name\"] \u003d name"},{"line_number":1258,"context_line":"        if name:"},{"line_number":1259,"context_line":"            body[\"server\"][\"description\"] \u003d name"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"        return self._update(\"/servers/%s\" % base.getid(server), body, \"server\")"},{"line_number":1262,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"dae33548_cdd36337","line":1259,"in_reply_to":"dae33548_8ba687bf","updated":"2016-02-16 11:01:38.000000000","message":"Done","commit_id":"27069305453f66ecb1b9d1587d70ecb3ea733431"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"eadfb8aee3cfc7ad2768baa79150852580536e4d","unresolved":false,"context_lines":[{"line_number":1257,"context_line":"            body[\"server\"][\"name\"] \u003d name"},{"line_number":1258,"context_line":"        if name:"},{"line_number":1259,"context_line":"            body[\"server\"][\"description\"] \u003d name"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"        return self._update(\"/servers/%s\" % base.getid(server), body, \"server\")"},{"line_number":1262,"context_line":""},{"line_number":1263,"context_line":"    def change_password(self, server, password):"}],"source_content_type":"text/x-python","patch_set":8,"id":"dae33548_ae31d90d","line":1260,"updated":"2016-02-15 17:22:59.000000000","message":"According to the spec, if the user passes \"\" for the new description, then the description is removed (set to None).\n\nhttps://github.com/openstack/nova-specs/blob/master/specs/mitaka/approved/user-settable-server-description.rst\n\nThat logic needs to be added here and the help text should mention it.","commit_id":"27069305453f66ecb1b9d1587d70ecb3ea733431"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"522c9983ff23aabbb3590c84468bb614f5e00370","unresolved":false,"context_lines":[{"line_number":1257,"context_line":"            body[\"server\"][\"name\"] \u003d name"},{"line_number":1258,"context_line":"        if name:"},{"line_number":1259,"context_line":"            body[\"server\"][\"description\"] \u003d name"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"        return self._update(\"/servers/%s\" % base.getid(server), body, \"server\")"},{"line_number":1262,"context_line":""},{"line_number":1263,"context_line":"    def change_password(self, server, password):"}],"source_content_type":"text/x-python","patch_set":8,"id":"dae33548_ade09fcd","line":1260,"in_reply_to":"dae33548_ae31d90d","updated":"2016-02-16 11:01:38.000000000","message":"Done","commit_id":"27069305453f66ecb1b9d1587d70ecb3ea733431"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"a2fa2f3b532816e3d5e461fd344fd69f73e4eb0d","unresolved":false,"context_lines":[{"line_number":1257,"context_line":"        if name:"},{"line_number":1258,"context_line":"            body[\"server\"][\"name\"] \u003d name"},{"line_number":1259,"context_line":"        if description is not None:"},{"line_number":1260,"context_line":"            body[\"server\"][\"description\"] \u003d description"},{"line_number":1261,"context_line":"        elif description \u003d\u003d \"\":"},{"line_number":1262,"context_line":"            body[\"server\"][\"description\"] \u003d None"},{"line_number":1263,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dae33548_531c1113","line":1260,"updated":"2016-02-16 12:53:36.000000000","message":"If description is \"\", then this will set \"\" into the body.  \n\nI think it should be like this:\n\nif description is not None:\n    if description \u003d\u003d \"\":\n        body[\"server\"][\"description\"] \u003d None\n    else:\n        body[\"server\"][\"description\"] \u003d description","commit_id":"ddf660c80b11447ddda2e49af2e12149b3dd0ff4"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"4791021109047b3854f6a669984087dfc499cfde","unresolved":false,"context_lines":[{"line_number":1257,"context_line":"        if name:"},{"line_number":1258,"context_line":"            body[\"server\"][\"name\"] \u003d name"},{"line_number":1259,"context_line":"        if description is not None:"},{"line_number":1260,"context_line":"            body[\"server\"][\"description\"] \u003d description"},{"line_number":1261,"context_line":"        elif description \u003d\u003d \"\":"},{"line_number":1262,"context_line":"            body[\"server\"][\"description\"] \u003d None"},{"line_number":1263,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dae33548_666991be","line":1260,"in_reply_to":"dae33548_531c1113","updated":"2016-02-16 12:57:34.000000000","message":"Done","commit_id":"ddf660c80b11447ddda2e49af2e12149b3dd0ff4"}],"novaclient/v2/shell.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"a3fb866f74837a5d2cef7484e5ef0b1cce8b4567","unresolved":false,"context_lines":[{"line_number":1637,"context_line":"@cliutils.arg("},{"line_number":1638,"context_line":"    \u0027--description\u0027,"},{"line_number":1639,"context_line":"    metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":1640,"context_line":"    dest\u003d\u0027name\u0027,"},{"line_number":1641,"context_line":"    default\u003dNone,"},{"line_number":1642,"context_line":"    help\u003d_(\u0027New description for the server.\u0027),"},{"line_number":1643,"context_line":"    start_version\u003d\"2.19\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_c3ba82e1","line":1640,"range":{"start_line":1640,"start_character":10,"end_line":1640,"end_character":14},"updated":"2016-02-10 14:29:24.000000000","message":"wrong name? should be description?","commit_id":"7716bcd73776d945da52b774f36b2a006a3b6b87"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"03f2b39d36b71d9b7edc7e3d18ec3bd75c9e65a8","unresolved":false,"context_lines":[{"line_number":1637,"context_line":"@cliutils.arg("},{"line_number":1638,"context_line":"    \u0027--description\u0027,"},{"line_number":1639,"context_line":"    metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":1640,"context_line":"    dest\u003d\u0027name\u0027,"},{"line_number":1641,"context_line":"    default\u003dNone,"},{"line_number":1642,"context_line":"    help\u003d_(\u0027New description for the server.\u0027),"},{"line_number":1643,"context_line":"    start_version\u003d\"2.19\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_4fc23387","line":1640,"range":{"start_line":1640,"start_character":10,"end_line":1640,"end_character":14},"in_reply_to":"3a57f1b5_c3ba82e1","updated":"2016-02-10 15:22:26.000000000","message":"good catch. Fixed","commit_id":"7716bcd73776d945da52b774f36b2a006a3b6b87"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87d362c36a946cc93a7a9279186553a5631a6f8b","unresolved":false,"context_lines":[{"line_number":577,"context_line":"    metavar\u003d\u0027\u003cdescription\u003e\u0027,"},{"line_number":578,"context_line":"    dest\u003d\u0027description\u0027,"},{"line_number":579,"context_line":"    default\u003dNone,"},{"line_number":580,"context_line":"    help\u003d_(\u0027New description for the server.\u0027),"},{"line_number":581,"context_line":"    start_version\u003d\"2.19\")"},{"line_number":582,"context_line":"def do_boot(cs, args):"},{"line_number":583,"context_line":"    \"\"\"Boot a new server.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_356621ee","line":580,"updated":"2016-02-10 16:35:37.000000000","message":"This one isn\u0027t a \"new\" description…","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"402230fe92245097f53d41bb52e4dcf623a82324","unresolved":false,"context_lines":[{"line_number":577,"context_line":"    metavar\u003d\u0027\u003cdescription\u003e\u0027,"},{"line_number":578,"context_line":"    dest\u003d\u0027description\u0027,"},{"line_number":579,"context_line":"    default\u003dNone,"},{"line_number":580,"context_line":"    help\u003d_(\u0027New description for the server.\u0027),"},{"line_number":581,"context_line":"    start_version\u003d\"2.19\")"},{"line_number":582,"context_line":"def do_boot(cs, args):"},{"line_number":583,"context_line":"    \"\"\"Boot a new server.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_0603bd43","line":580,"in_reply_to":"3a57f1b5_356621ee","updated":"2016-02-10 17:41:34.000000000","message":"Done","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87d362c36a946cc93a7a9279186553a5631a6f8b","unresolved":false,"context_lines":[{"line_number":1710,"context_line":"    help\u003d_(\u0027Name (old name) or ID of server.\u0027))"},{"line_number":1711,"context_line":"@cliutils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027, help\u003d_(\u0027New name for the server.\u0027))"},{"line_number":1712,"context_line":"def do_rename(cs, args):"},{"line_number":1713,"context_line":"    \"\"\"[Deprecated in favor of `nova update` command] Rename a server.\"\"\""},{"line_number":1714,"context_line":"    warnings.warn(\"Deprecated in favor of `nova update` command.\")"},{"line_number":1715,"context_line":"    _update(cs, args.server, args.name)"},{"line_number":1716,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_35f701d5","line":1713,"updated":"2016-02-10 16:35:37.000000000","message":"Other deprecated commands use the convention of using \"DEPRECATED, use XXX instead\"; see for instance the do_root_password() or do_absolute_limits(), among others.","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"402230fe92245097f53d41bb52e4dcf623a82324","unresolved":false,"context_lines":[{"line_number":1710,"context_line":"    help\u003d_(\u0027Name (old name) or ID of server.\u0027))"},{"line_number":1711,"context_line":"@cliutils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027, help\u003d_(\u0027New name for the server.\u0027))"},{"line_number":1712,"context_line":"def do_rename(cs, args):"},{"line_number":1713,"context_line":"    \"\"\"[Deprecated in favor of `nova update` command] Rename a server.\"\"\""},{"line_number":1714,"context_line":"    warnings.warn(\"Deprecated in favor of `nova update` command.\")"},{"line_number":1715,"context_line":"    _update(cs, args.server, args.name)"},{"line_number":1716,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_2687d9b6","line":1713,"in_reply_to":"3a57f1b5_35f701d5","updated":"2016-02-10 17:41:34.000000000","message":"Done","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87d362c36a946cc93a7a9279186553a5631a6f8b","unresolved":false,"context_lines":[{"line_number":1711,"context_line":"@cliutils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027, help\u003d_(\u0027New name for the server.\u0027))"},{"line_number":1712,"context_line":"def do_rename(cs, args):"},{"line_number":1713,"context_line":"    \"\"\"[Deprecated in favor of `nova update` command] Rename a server.\"\"\""},{"line_number":1714,"context_line":"    warnings.warn(\"Deprecated in favor of `nova update` command.\")"},{"line_number":1715,"context_line":"    _update(cs, args.server, args.name)"},{"line_number":1716,"context_line":""},{"line_number":1717,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_75b019f5","line":1714,"updated":"2016-02-10 16:35:37.000000000","message":"None of the other deprecated commands are currently emitting a warning, but I think it would be a good idea.  Perhaps something for a follow-up change, however.  We might also want to give some thought to incorporating a horizon on the command, like I did for the deprecated options (search this file for DeprecatedAction and look at the \u0027use\u0027 argument).","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"402230fe92245097f53d41bb52e4dcf623a82324","unresolved":false,"context_lines":[{"line_number":1711,"context_line":"@cliutils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027, help\u003d_(\u0027New name for the server.\u0027))"},{"line_number":1712,"context_line":"def do_rename(cs, args):"},{"line_number":1713,"context_line":"    \"\"\"[Deprecated in favor of `nova update` command] Rename a server.\"\"\""},{"line_number":1714,"context_line":"    warnings.warn(\"Deprecated in favor of `nova update` command.\")"},{"line_number":1715,"context_line":"    _update(cs, args.server, args.name)"},{"line_number":1716,"context_line":""},{"line_number":1717,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_cc5867fd","line":1714,"in_reply_to":"3a57f1b5_75b019f5","updated":"2016-02-10 17:41:34.000000000","message":"I\u0027ll do it in the separate patch.","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"87d362c36a946cc93a7a9279186553a5631a6f8b","unresolved":false,"context_lines":[{"line_number":1712,"context_line":"def do_rename(cs, args):"},{"line_number":1713,"context_line":"    \"\"\"[Deprecated in favor of `nova update` command] Rename a server.\"\"\""},{"line_number":1714,"context_line":"    warnings.warn(\"Deprecated in favor of `nova update` command.\")"},{"line_number":1715,"context_line":"    _update(cs, args.server, args.name)"},{"line_number":1716,"context_line":""},{"line_number":1717,"context_line":""},{"line_number":1718,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_b5e211d4","line":1715,"updated":"2016-02-10 16:35:37.000000000","message":"Why not inline _update() into do_update(), then call do_update() from here?  You would have to set a value for \u0027description\u0027 in the \u0027args\u0027 argument, but there are a few ways of doing that…","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"402230fe92245097f53d41bb52e4dcf623a82324","unresolved":false,"context_lines":[{"line_number":1712,"context_line":"def do_rename(cs, args):"},{"line_number":1713,"context_line":"    \"\"\"[Deprecated in favor of `nova update` command] Rename a server.\"\"\""},{"line_number":1714,"context_line":"    warnings.warn(\"Deprecated in favor of `nova update` command.\")"},{"line_number":1715,"context_line":"    _update(cs, args.server, args.name)"},{"line_number":1716,"context_line":""},{"line_number":1717,"context_line":""},{"line_number":1718,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_2cd49b45","line":1715,"in_reply_to":"3a57f1b5_b5e211d4","updated":"2016-02-10 17:41:34.000000000","message":"Done","commit_id":"760e4d74d0efd4bc2c27e70470cc5d602b0efc6d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"b8227b4c12fdc198c68a7c1a63ec8c706de927e0","unresolved":false,"context_lines":[{"line_number":1701,"context_line":"    help\u003d_(\u0027Name (old name) or ID of server.\u0027))"},{"line_number":1702,"context_line":"@cliutils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027, help\u003d_(\u0027New name for the server.\u0027))"},{"line_number":1703,"context_line":"def do_rename(cs, args):"},{"line_number":1704,"context_line":"    \"\"\"Deprecated, use `nova update` instead.\"\"\""},{"line_number":1705,"context_line":"    do_update(cs, args)"},{"line_number":1706,"context_line":""},{"line_number":1707,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a57f1b5_6fe36534","line":1704,"range":{"start_line":1704,"start_character":7,"end_line":1704,"end_character":17},"updated":"2016-02-10 17:57:54.000000000","message":"To match the style of the other commands, this should be all-caps, e.g., \"DEPRECATED\".","commit_id":"f152bb512adf1236dc52127a6b845f288dd23391"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"ac8c7367dc889ae88269316905fed43e923a7b95","unresolved":false,"context_lines":[{"line_number":1701,"context_line":"    help\u003d_(\u0027Name (old name) or ID of server.\u0027))"},{"line_number":1702,"context_line":"@cliutils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027, help\u003d_(\u0027New name for the server.\u0027))"},{"line_number":1703,"context_line":"def do_rename(cs, args):"},{"line_number":1704,"context_line":"    \"\"\"Deprecated, use `nova update` instead.\"\"\""},{"line_number":1705,"context_line":"    do_update(cs, args)"},{"line_number":1706,"context_line":""},{"line_number":1707,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a57f1b5_fba873dd","line":1704,"range":{"start_line":1704,"start_character":7,"end_line":1704,"end_character":17},"in_reply_to":"3a57f1b5_6fe36534","updated":"2016-02-10 19:13:03.000000000","message":"Done","commit_id":"f152bb512adf1236dc52127a6b845f288dd23391"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"b8227b4c12fdc198c68a7c1a63ec8c706de927e0","unresolved":false,"context_lines":[{"line_number":1730,"context_line":"    # which do not have description argument at all. When `do_rename` will be"},{"line_number":1731,"context_line":"    # removed after deprecation period, feel free to change the check below to:"},{"line_number":1732,"context_line":"    #     `if args.description:`"},{"line_number":1733,"context_line":"    if \"description\" in args and args.description:"},{"line_number":1734,"context_line":"        update_kwargs[\"description\"] \u003d args.description"},{"line_number":1735,"context_line":"    _find_server(cs, args.server).update(**update_kwargs)"},{"line_number":1736,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a57f1b5_2fa56db4","line":1733,"updated":"2016-02-10 17:57:54.000000000","message":"I learned something new; I didn\u0027t realize that argparse.Namespace implemented a __contains__() method in such a rational manner :)","commit_id":"f152bb512adf1236dc52127a6b845f288dd23391"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"ac8c7367dc889ae88269316905fed43e923a7b95","unresolved":false,"context_lines":[{"line_number":1730,"context_line":"    # which do not have description argument at all. When `do_rename` will be"},{"line_number":1731,"context_line":"    # removed after deprecation period, feel free to change the check below to:"},{"line_number":1732,"context_line":"    #     `if args.description:`"},{"line_number":1733,"context_line":"    if \"description\" in args and args.description:"},{"line_number":1734,"context_line":"        update_kwargs[\"description\"] \u003d args.description"},{"line_number":1735,"context_line":"    _find_server(cs, args.server).update(**update_kwargs)"},{"line_number":1736,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a57f1b5_7be32334","line":1733,"in_reply_to":"3a57f1b5_2fa56db4","updated":"2016-02-10 19:13:03.000000000","message":":)","commit_id":"f152bb512adf1236dc52127a6b845f288dd23391"}]}
