)]}'
{"nova/api/openstack/compute/extension_info.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e9e810e228cf26bbabe2eab8748a471ccd6b2c25","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    {\u0027name\u0027: \u0027DiskConfig\u0027,"},{"line_number":110,"context_line":"     \u0027alias\u0027: \u0027os-disk-config\u0027,"},{"line_number":111,"context_line":"     \u0027description\u0027: \u0027Disk Management Extension.\u0027}"},{"line_number":112,"context_line":"]"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"# V2.1 does not support XML but we need to keep an entry in the"},{"line_number":115,"context_line":"# /extensions information returned to the user for backwards"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_c9051d7a","line":112,"updated":"2016-06-16 09:15:06.000000000","message":"So that makes sense to me, its hard coded, so lets hard code it.","commit_id":"5f2ff0d5499529317cf6eb09ae01f90a8c4a3c76"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"0b1fb2f3d161bc5ebc0dbbf154b7ee1ce809c8f9","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    {\u0027name\u0027: \u0027DiskConfig\u0027,"},{"line_number":110,"context_line":"     \u0027alias\u0027: \u0027os-disk-config\u0027,"},{"line_number":111,"context_line":"     \u0027description\u0027: \u0027Disk Management Extension.\u0027}"},{"line_number":112,"context_line":"]"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"# V2.1 does not support XML but we need to keep an entry in the"},{"line_number":115,"context_line":"# /extensions information returned to the user for backwards"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_834e3e6c","line":112,"in_reply_to":"7aa08908_c9051d7a","updated":"2016-06-16 14:57:45.000000000","message":"++","commit_id":"5f2ff0d5499529317cf6eb09ae01f90a8c4a3c76"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"0b1fb2f3d161bc5ebc0dbbf154b7ee1ce809c8f9","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                item[\u0027name\u0027],"},{"line_number":163,"context_line":"                item[\u0027alias\u0027],"},{"line_number":164,"context_line":"                item[\u0027description\u0027]"},{"line_number":165,"context_line":"            )"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        for alias, ext in six.iteritems(self.extension_info.get_extensions()):"},{"line_number":168,"context_line":"            authorize \u003d extensions.os_compute_soft_authorizer(alias)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_2e401135","line":165,"range":{"start_line":165,"start_character":12,"end_line":165,"end_character":13},"updated":"2016-06-16 14:57:45.000000000","message":"seems this lead to UT failed?","commit_id":"5f2ff0d5499529317cf6eb09ae01f90a8c4a3c76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c67323af2213cde0bf13754c2ec4c759a2f83d22","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        ext_data[\"links\"] \u003d []"},{"line_number":142,"context_line":"        return ext_data"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def _create_fake_ext(self, name, alias, description\u003d\"\"):"},{"line_number":145,"context_line":"        return FakeExtension(name, alias, description)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def _add_vif_extension(self, discoverable_extensions):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_de518310","line":144,"range":{"start_line":144,"start_character":31,"end_line":144,"end_character":42},"updated":"2016-06-21 20:53:40.000000000","message":"So I guess the ordering on these was just busted before, and _add_vif_extension was just using it incorrectly?","commit_id":"4542c6ee0bf32169de57f3abea2084029114daf5"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"c551a45fcce49df95f06a6360e54f8ae41ba6570","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        ext_data[\"links\"] \u003d []"},{"line_number":142,"context_line":"        return ext_data"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def _create_fake_ext(self, name, alias, description\u003d\"\"):"},{"line_number":145,"context_line":"        return FakeExtension(name, alias, description)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def _add_vif_extension(self, discoverable_extensions):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_212b4a32","line":144,"range":{"start_line":144,"start_character":31,"end_line":144,"end_character":42},"in_reply_to":"3aaa91ec_de518310","updated":"2016-06-21 21:00:05.000000000","message":"yes, so it was completely confusing.","commit_id":"4542c6ee0bf32169de57f3abea2084029114daf5"}],"nova/api/openstack/compute/helpers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c67323af2213cde0bf13754c2ec4c759a2f83d22","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def translate_attributes(server_dict, server_kwargs):"},{"line_number":33,"context_line":"    \"\"\"Translate REST attributes on create to server object kwargs."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Our REST API is relatively fixed, but internal representations"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_5e79132f","line":32,"range":{"start_line":32,"start_character":25,"end_line":32,"end_character":51},"updated":"2016-06-21 20:53:40.000000000","message":"nit: the names on these are a bit confusing, maybe specific docstrings for the parameters would help. The server_dict is really the request dict, and server_kwargs is what gets passed as kwargs to the nova.compute.api.API methods, which the server REST API would call create_kwargs for the create method, but this is a generic helper method so we wouldn\u0027t call it that, so docstrings could help avoid some confusion here.","commit_id":"4542c6ee0bf32169de57f3abea2084029114daf5"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e6d482bad1f6c7510e4854fa1e187f6b5e5af203","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def translate_attributes(server_dict, operation_kwargs):"},{"line_number":33,"context_line":"    \"\"\"Translate REST attributes on create to server object kwargs."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Our REST API is relatively fixed, but internal representations"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_8650e55f","line":32,"updated":"2016-06-23 14:26:20.000000000","message":"nit: tempting to mention its related to a server, like server_translate_attributes.","commit_id":"525285eb1cedc165c812cf1b57bc339f0874eb1c"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"bb7bf36ec75cc1990fde15a02925d48ce0c7a47c","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    if auto_disk_config_raw is not None:"},{"line_number":63,"context_line":"        auto_disk_config \u003d disk_config.disk_config_from_api("},{"line_number":64,"context_line":"            auto_disk_config_raw)"},{"line_number":65,"context_line":"        server_kwargs[\u0027auto_disk_config\u0027] \u003d auto_disk_config"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"class ServersController(wsgi.Controller):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_b252d166","side":"PARENT","line":65,"updated":"2016-06-15 20:51:51.000000000","message":"moving this into a dedicated module so we keep this a bit cleaner","commit_id":"535411a96a5690fe960c912759b0f54d5e06c118"}],"nova/api/openstack/compute/views/images.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"bb7bf36ec75cc1990fde15a02925d48ce0c7a47c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        if auto_disk_config is not None:"},{"line_number":44,"context_line":"            value \u003d strutils.bool_from_string(auto_disk_config)"},{"line_number":45,"context_line":"            image_resp[\"OS-DCF:diskConfig\"] \u003d ("},{"line_number":46,"context_line":"                \u0027AUTO\u0027 if value else \u0027MANUAL\u0027)"},{"line_number":47,"context_line":"        return image_resp"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def show(self, request, image):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_325ee179","line":46,"updated":"2016-06-15 20:51:51.000000000","message":"this could merge down into patch set 3 for less change, I just got here in a wandering path","commit_id":"5f2ff0d5499529317cf6eb09ae01f90a8c4a3c76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c67323af2213cde0bf13754c2ec4c759a2f83d22","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        if auto_disk_config is not None:"},{"line_number":44,"context_line":"            value \u003d strutils.bool_from_string(auto_disk_config)"},{"line_number":45,"context_line":"            image_resp[\"OS-DCF:diskConfig\"] \u003d ("},{"line_number":46,"context_line":"                \u0027AUTO\u0027 if value else \u0027MANUAL\u0027)"},{"line_number":47,"context_line":"        return image_resp"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def show(self, request, image):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_be03d7b7","line":46,"updated":"2016-06-21 20:53:40.000000000","message":"Seems we could have something common for these:\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/views/servers.py#L76\n\nBut they are different depending on what resource they\u0027re on, for images they are \u0027True\u0027 and \u0027False\u0027 and for instance objects it\u0027s an actual boolean, so a helper method would probably just get in the way.","commit_id":"4542c6ee0bf32169de57f3abea2084029114daf5"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"c551a45fcce49df95f06a6360e54f8ae41ba6570","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        if auto_disk_config is not None:"},{"line_number":44,"context_line":"            value \u003d strutils.bool_from_string(auto_disk_config)"},{"line_number":45,"context_line":"            image_resp[\"OS-DCF:diskConfig\"] \u003d ("},{"line_number":46,"context_line":"                \u0027AUTO\u0027 if value else \u0027MANUAL\u0027)"},{"line_number":47,"context_line":"        return image_resp"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def show(self, request, image):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_c1c88677","line":46,"in_reply_to":"3aaa91ec_be03d7b7","updated":"2016-06-21 21:00:05.000000000","message":"yeh, when I realized that inlining the code was less characters than making a method, I just inlined it.","commit_id":"4542c6ee0bf32169de57f3abea2084029114daf5"}],"releasenotes/notes/extensions_remove-37e9d4092981abbe.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e5d4ec243d503b46e44f421539c8cddbaedc2f57","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    The following entry points have been removed"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"     * nova.api.v21.extensions.server.resize - allowed accepting"},{"line_number":16,"context_line":"       additional parameters on resize requests."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3aaa91ec_fe26c9b8","line":16,"range":{"start_line":15,"start_character":7,"end_line":16,"end_character":48},"updated":"2016-06-22 15:58:08.000000000","message":"Where was this done? Was it part of this change or are we making up for it?","commit_id":"525285eb1cedc165c812cf1b57bc339f0874eb1c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"345609069bbbb66fdbb6b691daf05efcc47cee03","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    The following entry points have been removed"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"     * nova.api.v21.extensions.server.resize - allowed accepting"},{"line_number":16,"context_line":"       additional parameters on resize requests."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3aaa91ec_2b90dc42","line":16,"range":{"start_line":15,"start_character":7,"end_line":16,"end_character":48},"in_reply_to":"3aaa91ec_dff2e4d1","updated":"2016-06-23 14:09:41.000000000","message":"OK yeah:\n\nhttps://review.openstack.org/#/c/329549/1/setup.cfg\n\nAnd this is the release note that we\u0027ll update for each of these extension folding changes.","commit_id":"525285eb1cedc165c812cf1b57bc339f0874eb1c"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"838058f95af8db0aef8724ad968c377f41093a5b","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    The following entry points have been removed"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"     * nova.api.v21.extensions.server.resize - allowed accepting"},{"line_number":16,"context_line":"       additional parameters on resize requests."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3aaa91ec_dff2e4d1","line":16,"range":{"start_line":15,"start_character":7,"end_line":16,"end_character":48},"in_reply_to":"3aaa91ec_fe26c9b8","updated":"2016-06-22 18:01:10.000000000","message":"it\u0027s actually in the change before this one - I691a3a917a3dbaa86072d689e9ebf42ba356ca60","commit_id":"525285eb1cedc165c812cf1b57bc339f0874eb1c"}],"setup.cfg":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c67323af2213cde0bf13754c2ec4c759a2f83d22","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    consoles \u003d nova.api.openstack.compute.consoles:Consoles"},{"line_number":86,"context_line":"    create_backup \u003d nova.api.openstack.compute.create_backup:CreateBackup"},{"line_number":87,"context_line":"    deferred_delete \u003d nova.api.openstack.compute.deferred_delete:DeferredDelete"},{"line_number":88,"context_line":"    disk_config \u003d nova.api.openstack.compute.disk_config:DiskConfig"},{"line_number":89,"context_line":"    evacuate \u003d nova.api.openstack.compute.evacuate:Evacuate"},{"line_number":90,"context_line":"    extended_availability_zone \u003d nova.api.openstack.compute.extended_availability_zone:ExtendedAvailabilityZone"},{"line_number":91,"context_line":"    extended_server_attributes \u003d nova.api.openstack.compute.extended_server_attributes:ExtendedServerAttributes"}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"3aaa91ec_f871f6e1","side":"PARENT","line":88,"updated":"2016-06-21 20:53:40.000000000","message":"I wasn\u0027t sure if we\u0027d want a release note for this. I tend to not thing so given we don\u0027t want a separate release note for each of these that we remove.\n\nI think we could use a generic release note that talks about some of the policy and extension loading impacts, like what the spec has in it - mainly because I think that deployers are going to read the release notes before they read the specs, i.e. only read a spec if you care about a particular feature or change.\n\nWe could do a single generic release note at the end too.","commit_id":"a759faab1c9bbabfdf3bfde2e7d74cb3c276956c"}]}
