)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fdd541cc46aaa1714e6aeffc23dd131b59cd9f1b","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"@require_admin_context"},{"line_number":391,"context_line":"def service_get_all_by_topic(context, topic):"},{"line_number":392,"context_line":"    return model_query(context, models.Service, read_deleted\u003d\"no\").\\"},{"line_number":393,"context_line":"                filter_by(disabled\u003dFalse).\\"},{"line_number":394,"context_line":"                filter_by(topic\u003dtopic).\\"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_c749df8f","side":"PARENT","line":391,"updated":"2015-02-27 22:06:55.000000000","message":"This isn\u0027t touched by any API entry points that I can see, so why wouldn\u0027t we just leave the decorator here?  It looks like it\u0027s mostly used in the scheduler with an elevated context so it seems we should leave it as the scheduler isn\u0027t configurable by policy.json.","commit_id":"043318c883af9ef3c0abc6dbfbf3d2cc9e4b91ff"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fdd541cc46aaa1714e6aeffc23dd131b59cd9f1b","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"@require_admin_context"},{"line_number":408,"context_line":"def service_get_all_by_host(context, host):"},{"line_number":409,"context_line":"    return model_query(context, models.Service, read_deleted\u003d\"no\").\\"},{"line_number":410,"context_line":"                filter_by(host\u003dhost).\\"},{"line_number":411,"context_line":"                all()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_42123d59","side":"PARENT","line":408,"updated":"2015-02-27 22:06:55.000000000","message":"I don\u0027t think this is actually used anymore.  There are methods in conductor manager that call it, but nothing calls those anymore, so we could probably actually unwind and remove those.  Probably not appropriate for this series though.","commit_id":"043318c883af9ef3c0abc6dbfbf3d2cc9e4b91ff"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5a56c0f3f0a6afc146628a3f3639a666a0259e28","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"@require_admin_context"},{"line_number":391,"context_line":"def service_get_all_by_topic(context, topic):"},{"line_number":392,"context_line":"    return model_query(context, models.Service, read_deleted\u003d\"no\").\\"},{"line_number":393,"context_line":"                filter_by(disabled\u003dFalse).\\"},{"line_number":394,"context_line":"                filter_by(topic\u003dtopic).\\"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_0383e6a9","side":"PARENT","line":391,"updated":"2015-03-17 20:06:02.000000000","message":"The chance scheduler filter and service group drivers are calling this with an elevated context already, and conductor manager was calling it and conductor API was calling that, but isn\u0027t anymore, and will be deprecated after https://review.openstack.org/#/c/133664/ so this looks fine to me.\n\nAlso, nova.objects.service.ServiceList.get_by_topic calls this but nothing calls that.","commit_id":"c55491c657c1e233d74a65688edceddd871df0e9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"62fbb5e8de5eb98bcb52931ec77be7b26b462034","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"@require_admin_context"},{"line_number":391,"context_line":"def service_get_all_by_topic(context, topic):"},{"line_number":392,"context_line":"    return model_query(context, models.Service, read_deleted\u003d\"no\").\\"},{"line_number":393,"context_line":"                filter_by(disabled\u003dFalse).\\"},{"line_number":394,"context_line":"                filter_by(topic\u003dtopic).\\"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_fef2e5e1","side":"PARENT","line":391,"in_reply_to":"9a80dd14_0383e6a9","updated":"2015-03-17 20:07:59.000000000","message":"Commit 3a28a184a0bc0192f1f967e7a92d5e101c6edf76 removed get_by_topic usage.","commit_id":"c55491c657c1e233d74a65688edceddd871df0e9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5a56c0f3f0a6afc146628a3f3639a666a0259e28","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"@require_admin_context"},{"line_number":408,"context_line":"def service_get_all_by_binary(context, binary):"},{"line_number":409,"context_line":"    return model_query(context, models.Service, read_deleted\u003d\"no\").\\"},{"line_number":410,"context_line":"                filter_by(disabled\u003dFalse).\\"},{"line_number":411,"context_line":"                filter_by(binary\u003dbinary).\\"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_9e6d69cf","side":"PARENT","line":408,"updated":"2015-03-17 20:06:02.000000000","message":"objects.ServiceList.get_by_binary calls this and some scheduler host manager stuff calls that but with an elevated context already.\n\nAnd CellStateManager._update_our_capacity also calls that but that always passes an admin context, so looks like we\u0027re good here.","commit_id":"c55491c657c1e233d74a65688edceddd871df0e9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5a56c0f3f0a6afc146628a3f3639a666a0259e28","unresolved":false,"context_lines":[{"line_number":426,"context_line":""},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"@require_admin_context"},{"line_number":429,"context_line":"def service_get_all_by_host(context, host):"},{"line_number":430,"context_line":"    return model_query(context, models.Service, read_deleted\u003d\"no\").\\"},{"line_number":431,"context_line":"                filter_by(host\u003dhost).\\"},{"line_number":432,"context_line":"                all()"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_3eb39d4e","side":"PARENT","line":429,"updated":"2015-03-17 20:06:02.000000000","message":"This is basically in the same boat as service_get_all_by_topic, nothing appears to really be using it anymore.","commit_id":"c55491c657c1e233d74a65688edceddd871df0e9"}]}
