)]}'
{"releasenotes/notes/module-ordering-92b6445a8ac3a3bf.yaml":[{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"e5fea1ee71ef0c8ba525b5f4c8f1b317755a6b19","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Modules can now be applied in a consistent order,"},{"line_number":4,"context_line":"    based on the new \u0027priority_apply\u0027 and \u0027apply_order\u0027"},{"line_number":5,"context_line":"    attributes when creating them."},{"line_number":6,"context_line":"    Blueprint module-management-ordering"},{"line_number":7,"context_line":"upgrade:"},{"line_number":8,"context_line":"  - For module ordering to work, db_upgrade must be run"},{"line_number":9,"context_line":"    on the Trove database."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"da4df55a_009d2765","line":6,"updated":"2016-12-22 16:55:56.000000000","message":"Is this something we should be exposing to the user in release notes?","commit_id":"c571ef8e193ac7606d8e0a4028708d1f70c74af8"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"1bf39a2fbeae75b8e87d30fd964da104120e45a1","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Modules can now be applied in a consistent order,"},{"line_number":4,"context_line":"    based on the new \u0027priority_apply\u0027 and \u0027apply_order\u0027"},{"line_number":5,"context_line":"    attributes when creating them."},{"line_number":6,"context_line":"    Blueprint module-management-ordering"},{"line_number":7,"context_line":"upgrade:"},{"line_number":8,"context_line":"  - For module ordering to work, db_upgrade must be run"},{"line_number":9,"context_line":"    on the Trove database."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"da4df55a_95bb12c4","line":6,"in_reply_to":"da4df55a_009d2765","updated":"2016-12-26 04:44:59.000000000","message":"Well, this is more of an operator feature, but they\u0027re users too.","commit_id":"c571ef8e193ac7606d8e0a4028708d1f70c74af8"}],"trove/guestagent/datastore/manager.py":[{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"e5fea1ee71ef0c8ba525b5f4c8f1b317755a6b19","unresolved":false,"context_lines":[{"line_number":654,"context_line":"            modules.sort(key\u003doperator.itemgetter(\u0027priority_apply\u0027),"},{"line_number":655,"context_line":"                         reverse\u003dTrue)"},{"line_number":656,"context_line":"        except KeyError:"},{"line_number":657,"context_line":"            # if we don\u0027t have ordering info, just continue"},{"line_number":658,"context_line":"            pass"},{"line_number":659,"context_line":"        for module in modules:"},{"line_number":660,"context_line":"            id \u003d module.get(\u0027id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da4df55a_40172fa3","line":657,"updated":"2016-12-22 16:55:56.000000000","message":"Obvious as stated, but it might be good to say why it\u0027s OK if the key is missing.","commit_id":"c571ef8e193ac7606d8e0a4028708d1f70c74af8"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"1bf39a2fbeae75b8e87d30fd964da104120e45a1","unresolved":false,"context_lines":[{"line_number":654,"context_line":"            modules.sort(key\u003doperator.itemgetter(\u0027priority_apply\u0027),"},{"line_number":655,"context_line":"                         reverse\u003dTrue)"},{"line_number":656,"context_line":"        except KeyError:"},{"line_number":657,"context_line":"            # if we don\u0027t have ordering info, just continue"},{"line_number":658,"context_line":"            pass"},{"line_number":659,"context_line":"        for module in modules:"},{"line_number":660,"context_line":"            id \u003d module.get(\u0027id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da4df55a_2822df00","line":657,"in_reply_to":"da4df55a_40172fa3","updated":"2016-12-26 04:44:59.000000000","message":"Done","commit_id":"c571ef8e193ac7606d8e0a4028708d1f70c74af8"}],"trove/module/models.py":[{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"e5fea1ee71ef0c8ba525b5f4c8f1b317755a6b19","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        if original_module.is_admin and not context.is_admin:"},{"line_number":313,"context_line":"            raise exception.ModuleAccessForbidden("},{"line_number":314,"context_line":"                action\u003d\u0027update\u0027, options\u003d\u0027(Module is an admin module)\u0027)"},{"line_number":315,"context_line":"        # we don\u0027t allow any changes to admin-only attributes by non-admin"},{"line_number":316,"context_line":"        admin_options \u003d Module.validate_action("},{"line_number":317,"context_line":"            context, \u0027update\u0027, module.tenant_id, module.auto_apply,"},{"line_number":318,"context_line":"            module.visible, module.priority_apply, full_access)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da4df55a_1ba11aaa","line":315,"updated":"2016-12-22 16:55:56.000000000","message":"Why don\u0027t you make the exception say \"Module marked for update by admin only\" or somesuch, then the user will know what is going on and the comment is unnecessary.","commit_id":"c571ef8e193ac7606d8e0a4028708d1f70c74af8"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"1bf39a2fbeae75b8e87d30fd964da104120e45a1","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        if original_module.is_admin and not context.is_admin:"},{"line_number":313,"context_line":"            raise exception.ModuleAccessForbidden("},{"line_number":314,"context_line":"                action\u003d\u0027update\u0027, options\u003d\u0027(Module is an admin module)\u0027)"},{"line_number":315,"context_line":"        # we don\u0027t allow any changes to admin-only attributes by non-admin"},{"line_number":316,"context_line":"        admin_options \u003d Module.validate_action("},{"line_number":317,"context_line":"            context, \u0027update\u0027, module.tenant_id, module.auto_apply,"},{"line_number":318,"context_line":"            module.visible, module.priority_apply, full_access)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da4df55a_eb96114b","line":315,"in_reply_to":"da4df55a_1ba11aaa","updated":"2016-12-26 04:44:59.000000000","message":"Well, that\u0027s what the exception says.  But you just proved that it\u0027s easier to read a comment than look up the code.","commit_id":"c571ef8e193ac7606d8e0a4028708d1f70c74af8"}]}
