)]}'
{"doc/source/architecture.rst":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"27faf37f1267e84d4534eb7b242dfc28e131bcd4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Searchlight Architecture"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Service Description and Purpose"},{"line_number":21,"context_line":"-------------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Searchlight provides advanced and multi-tenant searching capabilities across multiple cloud services through indexing into Elasticsearch. Once indexed, users are able to search through all internal data associated with an OpenStack service through a single API with a consistent interface. These searches can be quite complex, are blazingly fast and easily paginated. Without Searchlight, the curious user must make multiple query calls across a multitude of APIs using a variety of interfaces to sate their thirst for OpenStack knowledge."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_ca592a37","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":31},"updated":"2016-08-04 21:07:59.000000000","message":"Maybe change this heading to \"The OpenStack Search Service\" (it gets the official service name into a prominent place). If you do that, I don\u0027t think you need the \"description and purpose\" part.","commit_id":"2fe2b956bbcc40bf9d6e2c17dd8b5a0c0c529fe2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"fa5e0f19bf3a6c0e0c549a590022bb29a606b9c1","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Searchlight Architecture"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Service Description and Purpose"},{"line_number":21,"context_line":"-------------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Searchlight provides advanced and multi-tenant searching capabilities across multiple cloud services through indexing into Elasticsearch. Once indexed, users are able to search through all internal data associated with an OpenStack service through a single API with a consistent interface. These searches can be quite complex, are blazingly fast and easily paginated. Without Searchlight, the curious user must make multiple query calls across a multitude of APIs using a variety of interfaces to sate their thirst for OpenStack knowledge."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_003e8127","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":31},"in_reply_to":"bacf61ea_c5a11b48","updated":"2016-08-04 22:23:47.000000000","message":"You\u0027re correct, I was just talking about the heading itself, not the paragraphs.","commit_id":"2fe2b956bbcc40bf9d6e2c17dd8b5a0c0c529fe2"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"d919b50c5cbb7d9d686da2c658a04b98eeb71e10","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Searchlight Architecture"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Service Description and Purpose"},{"line_number":21,"context_line":"-------------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Searchlight provides advanced and multi-tenant searching capabilities across multiple cloud services through indexing into Elasticsearch. Once indexed, users are able to search through all internal data associated with an OpenStack service through a single API with a consistent interface. These searches can be quite complex, are blazingly fast and easily paginated. Without Searchlight, the curious user must make multiple query calls across a multitude of APIs using a variety of interfaces to sate their thirst for OpenStack knowledge."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_c5a11b48","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":31},"in_reply_to":"bacf61ea_ca592a37","updated":"2016-08-04 21:56:54.000000000","message":"Hi Brian,\n\nI\u0027m not sure what you mean here. I changed the header. It is now \"The OpenStack Search Service\" instead of \"Service Description and Purpose\". But I left the subsequent three paragraphs. Is this what your comment meant? Or did you mean something else?","commit_id":"2fe2b956bbcc40bf9d6e2c17dd8b5a0c0c529fe2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"591d51acb265b7134f863835a103a9e45c9c8e55","unresolved":false,"context_lines":[{"line_number":24,"context_line":"multiple cloud services through indexing into Elasticsearch. Once indexed,"},{"line_number":25,"context_line":"users are able to search through all internal data associated with an"},{"line_number":26,"context_line":"OpenStack service through a single API with a consistent interface. These"},{"line_number":27,"context_line":"searches can be quite complex, are blazingly fast and easily paginated."},{"line_number":28,"context_line":"Without Searchlight, the curious user must make multiple query calls across a"},{"line_number":29,"context_line":"multitude of APIs using a variety of interfaces to sate their thirst for"},{"line_number":30,"context_line":"OpenStack knowledge."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_a30afc1d","line":27,"range":{"start_line":27,"start_character":50,"end_line":27,"end_character":53},"updated":"2016-08-05 14:17:17.000000000","message":"OpenStack house style is to use a \"serial comma\" before \"and\" here.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"6d31c0e131115bfec7b0f0b76bbd05f823589967","unresolved":false,"context_lines":[{"line_number":24,"context_line":"multiple cloud services through indexing into Elasticsearch. Once indexed,"},{"line_number":25,"context_line":"users are able to search through all internal data associated with an"},{"line_number":26,"context_line":"OpenStack service through a single API with a consistent interface. These"},{"line_number":27,"context_line":"searches can be quite complex, are blazingly fast and easily paginated."},{"line_number":28,"context_line":"Without Searchlight, the curious user must make multiple query calls across a"},{"line_number":29,"context_line":"multitude of APIs using a variety of interfaces to sate their thirst for"},{"line_number":30,"context_line":"OpenStack knowledge."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_e007bf15","line":27,"range":{"start_line":27,"start_character":50,"end_line":27,"end_character":53},"in_reply_to":"bacf61ea_a30afc1d","updated":"2016-08-05 16:59:20.000000000","message":"If OpenStack thinks the Oxford comma makes a sentence cleaner, stylistic, and more readable who am I to argue.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"591d51acb265b7134f863835a103a9e45c9c8e55","unresolved":false,"context_lines":[{"line_number":25,"context_line":"users are able to search through all internal data associated with an"},{"line_number":26,"context_line":"OpenStack service through a single API with a consistent interface. These"},{"line_number":27,"context_line":"searches can be quite complex, are blazingly fast and easily paginated."},{"line_number":28,"context_line":"Without Searchlight, the curious user must make multiple query calls across a"},{"line_number":29,"context_line":"multitude of APIs using a variety of interfaces to sate their thirst for"},{"line_number":30,"context_line":"OpenStack knowledge."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_232e0c8c","line":28,"range":{"start_line":28,"start_character":21,"end_line":28,"end_character":37},"updated":"2016-08-05 14:17:17.000000000","message":"Probably s/the curious user/curious users/ to get agreement with \"their\" later in the sentence.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"6d31c0e131115bfec7b0f0b76bbd05f823589967","unresolved":false,"context_lines":[{"line_number":25,"context_line":"users are able to search through all internal data associated with an"},{"line_number":26,"context_line":"OpenStack service through a single API with a consistent interface. These"},{"line_number":27,"context_line":"searches can be quite complex, are blazingly fast and easily paginated."},{"line_number":28,"context_line":"Without Searchlight, the curious user must make multiple query calls across a"},{"line_number":29,"context_line":"multitude of APIs using a variety of interfaces to sate their thirst for"},{"line_number":30,"context_line":"OpenStack knowledge."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_4017ab44","line":28,"range":{"start_line":28,"start_character":21,"end_line":28,"end_character":37},"in_reply_to":"bacf61ea_232e0c8c","updated":"2016-08-05 16:59:20.000000000","message":"Agreed.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"591d51acb265b7134f863835a103a9e45c9c8e55","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"All documents in Elasticsearch are protected with role-based access control"},{"line_number":33,"context_line":"(RBAC) for data security and protection. The RBAC policies will prevent"},{"line_number":34,"context_line":"unauthorized user from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"},{"line_number":37,"context_line":"policy into all queries before they get sent to Elasticsearch. In addition"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_036b08b8","line":34,"range":{"start_line":34,"start_character":13,"end_line":34,"end_character":17},"updated":"2016-08-05 14:17:17.000000000","message":"s/user/users/","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"6d31c0e131115bfec7b0f0b76bbd05f823589967","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"All documents in Elasticsearch are protected with role-based access control"},{"line_number":33,"context_line":"(RBAC) for data security and protection. The RBAC policies will prevent"},{"line_number":34,"context_line":"unauthorized user from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"},{"line_number":37,"context_line":"policy into all queries before they get sent to Elasticsearch. In addition"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_a0282787","line":34,"range":{"start_line":34,"start_character":13,"end_line":34,"end_character":17},"in_reply_to":"bacf61ea_036b08b8","updated":"2016-08-05 16:59:20.000000000","message":"Done","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"591d51acb265b7134f863835a103a9e45c9c8e55","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"},{"line_number":37,"context_line":"policy into all queries before they get sent to Elasticsearch. In addition"},{"line_number":38,"context_line":"Searchlight uses the RBAC-based policies to filter all queries response to"},{"line_number":39,"context_line":"remove any sensitive data before returning the results to the eagerly waiting"},{"line_number":40,"context_line":"user. In general the pre-query RBAC injection will provide gross level"},{"line_number":41,"context_line":"protection (e.g. entire projects that the user does not have access to). The"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_234f2c35","line":38,"range":{"start_line":38,"start_character":51,"end_line":38,"end_character":71},"updated":"2016-08-05 14:17:17.000000000","message":"maybe \"the response to each query in order to remove\"","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"6d31c0e131115bfec7b0f0b76bbd05f823589967","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"},{"line_number":37,"context_line":"policy into all queries before they get sent to Elasticsearch. In addition"},{"line_number":38,"context_line":"Searchlight uses the RBAC-based policies to filter all queries response to"},{"line_number":39,"context_line":"remove any sensitive data before returning the results to the eagerly waiting"},{"line_number":40,"context_line":"user. In general the pre-query RBAC injection will provide gross level"},{"line_number":41,"context_line":"protection (e.g. entire projects that the user does not have access to). The"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_c06f1bc2","line":38,"range":{"start_line":38,"start_character":51,"end_line":38,"end_character":71},"in_reply_to":"bacf61ea_234f2c35","updated":"2016-08-05 16:59:20.000000000","message":"Much cleaner.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"591d51acb265b7134f863835a103a9e45c9c8e55","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Searchlight uses the RBAC-based policies to filter all queries response to"},{"line_number":39,"context_line":"remove any sensitive data before returning the results to the eagerly waiting"},{"line_number":40,"context_line":"user. In general the pre-query RBAC injection will provide gross level"},{"line_number":41,"context_line":"protection (e.g. entire projects that the user does not have access to). The"},{"line_number":42,"context_line":"post-query RBAC filtering will provide fine level protection (e.g. specific"},{"line_number":43,"context_line":"fields within a document)."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_03fca8b6","line":41,"range":{"start_line":41,"start_character":12,"end_line":41,"end_character":16},"updated":"2016-08-05 14:17:17.000000000","message":"house style is no i.e. or e.g., so s/e.g./for example,/ throughout","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"6d31c0e131115bfec7b0f0b76bbd05f823589967","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Searchlight uses the RBAC-based policies to filter all queries response to"},{"line_number":39,"context_line":"remove any sensitive data before returning the results to the eagerly waiting"},{"line_number":40,"context_line":"user. In general the pre-query RBAC injection will provide gross level"},{"line_number":41,"context_line":"protection (e.g. entire projects that the user does not have access to). The"},{"line_number":42,"context_line":"post-query RBAC filtering will provide fine level protection (e.g. specific"},{"line_number":43,"context_line":"fields within a document)."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_006653ec","line":41,"range":{"start_line":41,"start_character":12,"end_line":41,"end_character":16},"in_reply_to":"bacf61ea_03fca8b6","updated":"2016-08-05 16:59:20.000000000","message":"Done.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"591d51acb265b7134f863835a103a9e45c9c8e55","unresolved":false,"context_lines":[{"line_number":42,"context_line":"post-query RBAC filtering will provide fine level protection (e.g. specific"},{"line_number":43,"context_line":"fields within a document)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The functionality provided by Searchlight differs from the logging"},{"line_number":46,"context_line":"capabilities of OpenStack. The logging services store predetermined messages"},{"line_number":47,"context_line":"from the OpenStack services, as opposed to the dynamic, internal state of the"},{"line_number":48,"context_line":"OpenStack services."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_e3e4f40d","line":45,"range":{"start_line":45,"start_character":42,"end_line":45,"end_character":49},"updated":"2016-08-05 14:17:17.000000000","message":"maybe s/differs/differs greatly/ to make your point more strongly","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"6d31c0e131115bfec7b0f0b76bbd05f823589967","unresolved":false,"context_lines":[{"line_number":42,"context_line":"post-query RBAC filtering will provide fine level protection (e.g. specific"},{"line_number":43,"context_line":"fields within a document)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The functionality provided by Searchlight differs from the logging"},{"line_number":46,"context_line":"capabilities of OpenStack. The logging services store predetermined messages"},{"line_number":47,"context_line":"from the OpenStack services, as opposed to the dynamic, internal state of the"},{"line_number":48,"context_line":"OpenStack services."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_60f0efc9","line":45,"range":{"start_line":45,"start_character":42,"end_line":45,"end_character":49},"in_reply_to":"bacf61ea_e3e4f40d","updated":"2016-08-05 16:59:20.000000000","message":"Stronger is better than weaker. Done.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"591d51acb265b7134f863835a103a9e45c9c8e55","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Primary Users"},{"line_number":51,"context_line":"-------------"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Horizon users: cloud tenants/projects and cloud administrators (IT operations)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Searchlight Eco-System"},{"line_number":56,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_63e2c4d6","line":53,"updated":"2016-08-05 14:17:17.000000000","message":"should probably turn this into a sentence.  Also, the current openstack lingo is \"projects\" are preferred to \"tenants\"; maybe write it as\n\ncloud projects (\"tenants\")\n\nbut it\u0027s up to you.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"6d31c0e131115bfec7b0f0b76bbd05f823589967","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Primary Users"},{"line_number":51,"context_line":"-------------"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Horizon users: cloud tenants/projects and cloud administrators (IT operations)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Searchlight Eco-System"},{"line_number":56,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_40704b40","line":53,"in_reply_to":"bacf61ea_63e2c4d6","updated":"2016-08-05 16:59:20.000000000","message":"Fragment sentences bad. Done. I agree about deprecating usage of tenants. I agree so much that I replaced all usages of \"tenant\" with \u0027project (\"tenant\")\u0027.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"591d51acb265b7134f863835a103a9e45c9c8e55","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Searchlight Eco-System"},{"line_number":56,"context_line":"----------------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The Searchlight Eco-system is illuminated by figure 1. We will step through"},{"line_number":59,"context_line":"each stage of the Searchlight life-cycle to further explore how the various"},{"line_number":60,"context_line":"components interact with each other."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_63cc8435","line":58,"range":{"start_line":58,"start_character":45,"end_line":58,"end_character":46},"updated":"2016-08-05 14:17:17.000000000","message":"probably want to capitalize Figure X (and Component X below); it makes it stand out more","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"6d31c0e131115bfec7b0f0b76bbd05f823589967","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Searchlight Eco-System"},{"line_number":56,"context_line":"----------------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The Searchlight Eco-system is illuminated by figure 1. We will step through"},{"line_number":59,"context_line":"each stage of the Searchlight life-cycle to further explore how the various"},{"line_number":60,"context_line":"components interact with each other."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_60762f07","line":58,"range":{"start_line":58,"start_character":45,"end_line":58,"end_character":46},"in_reply_to":"bacf61ea_63cc8435","updated":"2016-08-05 16:59:20.000000000","message":"My first draft had \"Figure\". But inspired by e.e. cummings I switched it to \"figure\". I\u0027ll switch it back.","commit_id":"06310941d56ddd29e9c6d5c521505c3a20c71ca6"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"The OpenStack Search Service"},{"line_number":21,"context_line":"----------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Searchlight provides advanced and multi-tenant searching capabilities across"},{"line_number":24,"context_line":"multiple cloud services through indexing into Elasticsearch. Once indexed,"},{"line_number":25,"context_line":"users are able to search through all internal data associated with an"},{"line_number":26,"context_line":"OpenStack service through a single API with a consistent interface. These"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_e7ffcaff","line":23,"updated":"2016-08-05 22:23:22.000000000","message":"Searchlight is a microservice based architecture that provides...","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":20,"context_line":"The OpenStack Search Service"},{"line_number":21,"context_line":"----------------------------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Searchlight provides advanced and multi-tenant searching capabilities across"},{"line_number":24,"context_line":"multiple cloud services through indexing into Elasticsearch. Once indexed,"},{"line_number":25,"context_line":"users are able to search through all internal data associated with an"},{"line_number":26,"context_line":"OpenStack service through a single API with a consistent interface. These"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_93455644","line":23,"in_reply_to":"bacf61ea_e7ffcaff","updated":"2016-08-12 02:47:37.000000000","message":"Done.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"users are able to search through all internal data associated with an"},{"line_number":26,"context_line":"OpenStack service through a single API with a consistent interface. These"},{"line_number":27,"context_line":"searches can be quite complex, are blazingly fast, and easily paginated."},{"line_number":28,"context_line":"Without Searchlight, the curious users must make multiple query calls across"},{"line_number":29,"context_line":"a multitude of APIs using a variety of interfaces to sate their thirst for"},{"line_number":30,"context_line":"OpenStack knowledge."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_311439f4","line":28,"range":{"start_line":28,"start_character":8,"end_line":28,"end_character":19},"updated":"2016-08-08 17:44:58.000000000","message":"Shorten: Without Searchlight it can be necessary to make calls to multiple services to retrieve resource information.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":25,"context_line":"users are able to search through all internal data associated with an"},{"line_number":26,"context_line":"OpenStack service through a single API with a consistent interface. These"},{"line_number":27,"context_line":"searches can be quite complex, are blazingly fast, and easily paginated."},{"line_number":28,"context_line":"Without Searchlight, the curious users must make multiple query calls across"},{"line_number":29,"context_line":"a multitude of APIs using a variety of interfaces to sate their thirst for"},{"line_number":30,"context_line":"OpenStack knowledge."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_336d8acc","line":28,"range":{"start_line":28,"start_character":8,"end_line":28,"end_character":19},"in_reply_to":"9ad45d7e_311439f4","updated":"2016-08-12 02:47:37.000000000","message":"Shortened.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"a multitude of APIs using a variety of interfaces to sate their thirst for"},{"line_number":30,"context_line":"OpenStack knowledge."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"All documents in Elasticsearch are protected with role-based access control"},{"line_number":33,"context_line":"(RBAC) for data security and protection. The RBAC policies will prevent"},{"line_number":34,"context_line":"unauthorized users from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_87240e60","line":32,"range":{"start_line":32,"start_character":31,"end_line":32,"end_character":44},"updated":"2016-08-05 22:23:22.000000000","message":"are protected by Searchlight","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":29,"context_line":"a multitude of APIs using a variety of interfaces to sate their thirst for"},{"line_number":30,"context_line":"OpenStack knowledge."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"All documents in Elasticsearch are protected with role-based access control"},{"line_number":33,"context_line":"(RBAC) for data security and protection. The RBAC policies will prevent"},{"line_number":34,"context_line":"unauthorized users from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_d3a06ef6","line":32,"range":{"start_line":32,"start_character":31,"end_line":32,"end_character":44},"in_reply_to":"bacf61ea_87240e60","updated":"2016-08-12 02:47:37.000000000","message":"Done.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"OpenStack knowledge."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"All documents in Elasticsearch are protected with role-based access control"},{"line_number":33,"context_line":"(RBAC) for data security and protection. The RBAC policies will prevent"},{"line_number":34,"context_line":"unauthorized users from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_87f1ae03","line":33,"range":{"start_line":33,"start_character":50,"end_line":33,"end_character":58},"updated":"2016-08-05 22:23:22.000000000","message":"The RBAC proection prevents ...\n\nI think the \u0027will\u0027 is not the right tense.  but i am NOT somebody known for my grammatical skills.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"OpenStack knowledge."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"All documents in Elasticsearch are protected with role-based access control"},{"line_number":33,"context_line":"(RBAC) for data security and protection. The RBAC policies will prevent"},{"line_number":34,"context_line":"unauthorized users from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_51260d69","line":33,"range":{"start_line":33,"start_character":50,"end_line":33,"end_character":58},"in_reply_to":"bacf61ea_87f1ae03","updated":"2016-08-08 17:44:58.000000000","message":"Could remove \u0027The\u0027 and \u0027will\u0027","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":30,"context_line":"OpenStack knowledge."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"All documents in Elasticsearch are protected with role-based access control"},{"line_number":33,"context_line":"(RBAC) for data security and protection. The RBAC policies will prevent"},{"line_number":34,"context_line":"unauthorized users from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_137e8669","line":33,"range":{"start_line":33,"start_character":50,"end_line":33,"end_character":58},"in_reply_to":"bacf61ea_87f1ae03","updated":"2016-08-12 02:47:37.000000000","message":"Nor spelling :) But done.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"unauthorized users from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"},{"line_number":37,"context_line":"policy into all queries before they get sent to Elasticsearch. In addition"},{"line_number":38,"context_line":"Searchlight uses the RBAC-based policies to filter the response to each"},{"line_number":39,"context_line":"query in order to remove any sensitive data before returning the results to"},{"line_number":40,"context_line":"the eagerly waiting user. In general the pre-query RBAC injection will provide"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_e75b4a20","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":6},"updated":"2016-08-05 22:23:22.000000000","message":"i think we should change to \u0027protection\u0027 for now. \u0027policy\u0027 is just very overloaded.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":34,"context_line":"unauthorized users from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"},{"line_number":37,"context_line":"policy into all queries before they get sent to Elasticsearch. In addition"},{"line_number":38,"context_line":"Searchlight uses the RBAC-based policies to filter the response to each"},{"line_number":39,"context_line":"query in order to remove any sensitive data before returning the results to"},{"line_number":40,"context_line":"the eagerly waiting user. In general the pre-query RBAC injection will provide"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_f3bc92dd","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":6},"in_reply_to":"bacf61ea_e75b4a20","updated":"2016-08-12 02:47:37.000000000","message":"Done.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":34,"context_line":"unauthorized users from accessing data that they are not permitted to view."},{"line_number":35,"context_line":"Searchlight uses both a pre-query RBAC injection as well as a post-query RBAC"},{"line_number":36,"context_line":"filter to accomplish this functionality. Searchlight will inject RBAC-based"},{"line_number":37,"context_line":"policy into all queries before they get sent to Elasticsearch. In addition"},{"line_number":38,"context_line":"Searchlight uses the RBAC-based policies to filter the response to each"},{"line_number":39,"context_line":"query in order to remove any sensitive data before returning the results to"},{"line_number":40,"context_line":"the eagerly waiting user. In general the pre-query RBAC injection will provide"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_11bad5e1","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":6},"in_reply_to":"bacf61ea_e75b4a20","updated":"2016-08-08 17:44:58.000000000","message":"The previous sentence seems a bit redundant since both points are expanded immediately afterwards","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"policy into all queries before they get sent to Elasticsearch. In addition"},{"line_number":38,"context_line":"Searchlight uses the RBAC-based policies to filter the response to each"},{"line_number":39,"context_line":"query in order to remove any sensitive data before returning the results to"},{"line_number":40,"context_line":"the eagerly waiting user. In general the pre-query RBAC injection will provide"},{"line_number":41,"context_line":"gross level protection. For example, entire projects that the user does not"},{"line_number":42,"context_line":"have access to. The post-query RBAC filtering will provide fine level"},{"line_number":43,"context_line":"protection (for example, specific fields within a document)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The functionality provided by Searchlight differs greatly from the logging"},{"line_number":46,"context_line":"capabilities of OpenStack. The logging services store predetermined messages"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_0702deb3","line":43,"range":{"start_line":40,"start_character":26,"end_line":43,"end_character":60},"updated":"2016-08-05 22:23:22.000000000","message":"Actually this isn\u0027t quite true. It really depends on the service.  We index multiple versions of the documents with different fields according to role for any fields that we can and then the filter is applied at query time to only search those documents.  The post query filtering is basically a final level of protection when we can\u0027t accomplish pre-query protection and supports extreme levels of filtering.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":37,"context_line":"policy into all queries before they get sent to Elasticsearch. In addition"},{"line_number":38,"context_line":"Searchlight uses the RBAC-based policies to filter the response to each"},{"line_number":39,"context_line":"query in order to remove any sensitive data before returning the results to"},{"line_number":40,"context_line":"the eagerly waiting user. In general the pre-query RBAC injection will provide"},{"line_number":41,"context_line":"gross level protection. For example, entire projects that the user does not"},{"line_number":42,"context_line":"have access to. The post-query RBAC filtering will provide fine level"},{"line_number":43,"context_line":"protection (for example, specific fields within a document)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The functionality provided by Searchlight differs greatly from the logging"},{"line_number":46,"context_line":"capabilities of OpenStack. The logging services store predetermined messages"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_f362d23c","line":43,"range":{"start_line":40,"start_character":26,"end_line":43,"end_character":60},"in_reply_to":"bacf61ea_0702deb3","updated":"2016-08-12 02:47:37.000000000","message":"I redid this section and broke it up into 3 parts.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":60,"context_line":"each stage of the Searchlight life-cycle to further explore how the various"},{"line_number":61,"context_line":"components interact with each other."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"**Deployment Stage:** This stage is when Searchlight gets instantiated by the"},{"line_number":64,"context_line":"admin dev ops. Even though the steps are mentioned as if they are manual steps,"},{"line_number":65,"context_line":"they are all done within a deployment process. More deployment stage options"},{"line_number":66,"context_line":"are discussed in Figure 3."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_f18c6137","line":63,"range":{"start_line":63,"start_character":13,"end_line":63,"end_character":18},"updated":"2016-08-08 17:44:58.000000000","message":"It seems a bit weird mentioning deployment in an architecture document. We already have deployer-specific information elsewhere; perhaps link to that instead, and later.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":60,"context_line":"each stage of the Searchlight life-cycle to further explore how the various"},{"line_number":61,"context_line":"components interact with each other."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"**Deployment Stage:** This stage is when Searchlight gets instantiated by the"},{"line_number":64,"context_line":"admin dev ops. Even though the steps are mentioned as if they are manual steps,"},{"line_number":65,"context_line":"they are all done within a deployment process. More deployment stage options"},{"line_number":66,"context_line":"are discussed in Figure 3."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_5300fe33","line":63,"range":{"start_line":63,"start_character":13,"end_line":63,"end_character":18},"in_reply_to":"9ad45d7e_f18c6137","updated":"2016-08-12 02:47:37.000000000","message":"I wasn\u0027t trying to go into the details of deployment. Instead this was showing the \"life-cycle\" of Searchlight, from deployment to usage. It was trying to give another view into how all of the pieces and parts fit together and work together. Another way of showing dependencies. I thought different ways of viewing the eco-system would help. With the assumption being that this documentation is for absolute beginners of Searchlight.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":68,"context_line":"1. The OpenStack services (for example, Nova, Neutron) are started. These"},{"line_number":69,"context_line":"   services are used by Searchlight, but are not a part of the Searchlight"},{"line_number":70,"context_line":"   Eco-system. The admin will set up the configuration files for all services"},{"line_number":71,"context_line":"   that are used by Searchlight"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"2. Elasticsearch is started. This analytics engine is used by Searchlight, but"},{"line_number":74,"context_line":"   it is not a part of the Searchlight Eco-system. As a note, other services"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_c7e9e6e7","line":71,"updated":"2016-08-05 22:23:22.000000000","message":". This includes enabling notifications that searchlight will consume for incremental indexing.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":68,"context_line":"1. The OpenStack services (for example, Nova, Neutron) are started. These"},{"line_number":69,"context_line":"   services are used by Searchlight, but are not a part of the Searchlight"},{"line_number":70,"context_line":"   Eco-system. The admin will set up the configuration files for all services"},{"line_number":71,"context_line":"   that are used by Searchlight"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"2. Elasticsearch is started. This analytics engine is used by Searchlight, but"},{"line_number":74,"context_line":"   it is not a part of the Searchlight Eco-system. As a note, other services"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_d3686ef7","line":71,"in_reply_to":"bacf61ea_c7e9e6e7","updated":"2016-08-12 02:47:37.000000000","message":"So enabled.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":70,"context_line":"   Eco-system. The admin will set up the configuration files for all services"},{"line_number":71,"context_line":"   that are used by Searchlight"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"2. Elasticsearch is started. This analytics engine is used by Searchlight, but"},{"line_number":74,"context_line":"   it is not a part of the Searchlight Eco-system. As a note, other services"},{"line_number":75,"context_line":"   may also be using Elasticsearch."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"3. The admin sets up the Searchlight configuration file."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_679aba63","line":74,"range":{"start_line":73,"start_character":73,"end_line":74,"end_character":49},"updated":"2016-08-05 22:23:22.000000000","message":"kind of a confusing statement. It is a part of the searchlight eco system, i think... but maybe is better termed as being a dependency for searchlight.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":70,"context_line":"   Eco-system. The admin will set up the configuration files for all services"},{"line_number":71,"context_line":"   that are used by Searchlight"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"2. Elasticsearch is started. This analytics engine is used by Searchlight, but"},{"line_number":74,"context_line":"   it is not a part of the Searchlight Eco-system. As a note, other services"},{"line_number":75,"context_line":"   may also be using Elasticsearch."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"3. The admin sets up the Searchlight configuration file."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_9300b603","line":74,"range":{"start_line":73,"start_character":73,"end_line":74,"end_character":49},"in_reply_to":"bacf61ea_679aba63","updated":"2016-08-12 02:47:37.000000000","message":"The reason I decided not to have it a part of the eco-system is that Elasticsearch may be shared with other parts of OpenStrack. Even though with Steve\u0027s latest patch that could change! That is why I considered both ES and RabbitMQ as outside of the eco-system.\n\nBut if it still seems confusing (even with the diagrams) let me know and I will change it.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"**Maintenance Stage (manual):** This stage occurs when the admin needs to"},{"line_number":105,"context_line":"analyze the state of Searchlight Eco-system or make corrections to it."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"1. To verify there is no orphaned Elasticsearch indices, the admin will run"},{"line_number":108,"context_line":"   the command \"searchlight index indices\". Any orphaned indices will be taken"},{"line_number":109,"context_line":"   care of through Elasticsearch and not through Searchlight."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_c704464b","line":106,"updated":"2016-08-05 22:23:22.000000000","message":"I feel like bullet 1 should be more like, you can view the Elasticsearch indices in use by searchlight with blah blah command and give a link to the doc we already have on the command (using rst link not the url i\u0027m giving here) http://docs.openstack.org/developer/searchlight/indexingservice.html#elasticsearch-index-cleanup","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"**Maintenance Stage (manual):** This stage occurs when the admin needs to"},{"line_number":105,"context_line":"analyze the state of Searchlight Eco-system or make corrections to it."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"1. To verify there is no orphaned Elasticsearch indices, the admin will run"},{"line_number":108,"context_line":"   the command \"searchlight index indices\". Any orphaned indices will be taken"},{"line_number":109,"context_line":"   care of through Elasticsearch and not through Searchlight."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_f69da0bc","line":106,"in_reply_to":"bacf61ea_c704464b","updated":"2016-08-12 02:47:37.000000000","message":"Good idea, especially considering that I didn\u0027t even get the command name right!","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"**Maintenance Stage (manual):** This stage occurs when the admin needs to"},{"line_number":105,"context_line":"analyze the state of Searchlight Eco-system or make corrections to it."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"1. To verify there is no orphaned Elasticsearch indices, the admin will run"},{"line_number":108,"context_line":"   the command \"searchlight index indices\". Any orphaned indices will be taken"},{"line_number":109,"context_line":"   care of through Elasticsearch and not through Searchlight."},{"line_number":110,"context_line":"2. If the Elasticsearch data is no longer coherent with the OpenStack"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_87e52edd","line":107,"range":{"start_line":107,"start_character":19,"end_line":107,"end_character":21},"updated":"2016-08-05 22:23:22.000000000","message":"are","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":104,"context_line":"**Maintenance Stage (manual):** This stage occurs when the admin needs to"},{"line_number":105,"context_line":"analyze the state of Searchlight Eco-system or make corrections to it."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"1. To verify there is no orphaned Elasticsearch indices, the admin will run"},{"line_number":108,"context_line":"   the command \"searchlight index indices\". Any orphaned indices will be taken"},{"line_number":109,"context_line":"   care of through Elasticsearch and not through Searchlight."},{"line_number":110,"context_line":"2. If the Elasticsearch data is no longer coherent with the OpenStack"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_b61cc86a","line":107,"range":{"start_line":107,"start_character":19,"end_line":107,"end_character":21},"in_reply_to":"bacf61ea_87e52edd","updated":"2016-08-12 02:47:37.000000000","message":"I was assuming that our wonderful code would only allow a single index, but I guess you are correct :)","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"1. To verify there is no orphaned Elasticsearch indices, the admin will run"},{"line_number":108,"context_line":"   the command \"searchlight index indices\". Any orphaned indices will be taken"},{"line_number":109,"context_line":"   care of through Elasticsearch and not through Searchlight."},{"line_number":110,"context_line":"2. If the Elasticsearch data is no longer coherent with the OpenStack"},{"line_number":111,"context_line":"   services, the admin will need to re-index Elasticsearch. This is done by"},{"line_number":112,"context_line":"   running the command \"searchlight-manage index sync\", similarly to step 4 in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_27e282d5","line":109,"updated":"2016-08-05 22:23:22.000000000","message":"/n","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"1. To verify there is no orphaned Elasticsearch indices, the admin will run"},{"line_number":108,"context_line":"   the command \"searchlight index indices\". Any orphaned indices will be taken"},{"line_number":109,"context_line":"   care of through Elasticsearch and not through Searchlight."},{"line_number":110,"context_line":"2. If the Elasticsearch data is no longer coherent with the OpenStack"},{"line_number":111,"context_line":"   services, the admin will need to re-index Elasticsearch. This is done by"},{"line_number":112,"context_line":"   running the command \"searchlight-manage index sync\", similarly to step 4 in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_361f385c","line":109,"in_reply_to":"bacf61ea_27e282d5","updated":"2016-08-12 02:47:37.000000000","message":"So spaced.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":110,"context_line":"2. If the Elasticsearch data is no longer coherent with the OpenStack"},{"line_number":111,"context_line":"   services, the admin will need to re-index Elasticsearch. This is done by"},{"line_number":112,"context_line":"   running the command \"searchlight-manage index sync\", similarly to step 4 in"},{"line_number":113,"context_line":"   the deployment stage."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"**Figure 1: Searchlight Eco-System**"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_a7add232","line":113,"updated":"2016-08-05 22:23:22.000000000","message":"Provide link to the command (rst link).\n\nhttp://docs.openstack.org/developer/searchlight/indexingservice.html#bulk-indexing","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":110,"context_line":"2. If the Elasticsearch data is no longer coherent with the OpenStack"},{"line_number":111,"context_line":"   services, the admin will need to re-index Elasticsearch. This is done by"},{"line_number":112,"context_line":"   running the command \"searchlight-manage index sync\", similarly to step 4 in"},{"line_number":113,"context_line":"   the deployment stage."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"**Figure 1: Searchlight Eco-System**"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_7628909a","line":113,"in_reply_to":"bacf61ea_a7add232","updated":"2016-08-12 02:47:37.000000000","message":"Done.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":130,"context_line":"resulting state changes."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Simultaneously, the user can make queries of Searchlight to better understand"},{"line_number":133,"context_line":"the entire OpenStack Eco-system. This queries can be made directly through the"},{"line_number":134,"context_line":"Searchlight API or indirectly through the Horizon dashboard."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"**Figure 2: Searchlight Flow**"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_07577e26","line":133,"range":{"start_line":133,"start_character":33,"end_line":133,"end_character":37},"updated":"2016-08-05 22:23:22.000000000","message":"These","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":130,"context_line":"resulting state changes."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Simultaneously, the user can make queries of Searchlight to better understand"},{"line_number":133,"context_line":"the entire OpenStack Eco-system. This queries can be made directly through the"},{"line_number":134,"context_line":"Searchlight API or indirectly through the Horizon dashboard."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"**Figure 2: Searchlight Flow**"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_9629c49d","line":133,"range":{"start_line":133,"start_character":33,"end_line":133,"end_character":37},"in_reply_to":"bacf61ea_07577e26","updated":"2016-08-12 02:47:37.000000000","message":"Done.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":136,"context_line":"**Figure 2: Searchlight Flow**"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":".. image:: ../../images/Figure2.png"},{"line_number":139,"context_line":" "},{"line_number":140,"context_line":"Searchlight Deployment Scaling"},{"line_number":141,"context_line":"------------------------------"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_c7cc466c","line":139,"updated":"2016-08-05 22:23:22.000000000","message":"red!","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":136,"context_line":"**Figure 2: Searchlight Flow**"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":".. image:: ../../images/Figure2.png"},{"line_number":139,"context_line":" "},{"line_number":140,"context_line":"Searchlight Deployment Scaling"},{"line_number":141,"context_line":"------------------------------"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_1614b44a","line":139,"in_reply_to":"bacf61ea_c7cc466c","updated":"2016-08-12 02:47:37.000000000","message":"Visined.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":".. image:: ../../images/Figure2.png"},{"line_number":139,"context_line":" "},{"line_number":140,"context_line":"Searchlight Deployment Scaling"},{"line_number":141,"context_line":"------------------------------"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"When deploying Searchlight, the Eco-system is scaled in multiple ways. This"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_71c7d145","line":140,"range":{"start_line":140,"start_character":12,"end_line":140,"end_character":22},"updated":"2016-08-08 17:44:58.000000000","message":"Remove \u0027Deployment\u0027.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":".. image:: ../../images/Figure2.png"},{"line_number":139,"context_line":" "},{"line_number":140,"context_line":"Searchlight Deployment Scaling"},{"line_number":141,"context_line":"------------------------------"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"When deploying Searchlight, the Eco-system is scaled in multiple ways. This"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_61160c4d","line":140,"range":{"start_line":140,"start_character":12,"end_line":140,"end_character":22},"in_reply_to":"9ad45d7e_71c7d145","updated":"2016-08-12 02:47:37.000000000","message":"De-deployed.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* There are multiple notification workers that are receiving messages from the"},{"line_number":158,"context_line":"  OpenStack services. The number of workers can be statically specified in the"},{"line_number":159,"context_line":"  Searchlight configuration file."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Elasticsearch:"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_d9938aa1","line":159,"updated":"2016-08-05 22:23:22.000000000","message":"Each type of resource indexed by searchlight can be scaled independently by spawning different processes with different configuration files.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* There are multiple notification workers that are receiving messages from the"},{"line_number":158,"context_line":"  OpenStack services. The number of workers can be statically specified in the"},{"line_number":159,"context_line":"  Searchlight configuration file."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Elasticsearch:"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_81b3404c","line":159,"in_reply_to":"bacf61ea_d9938aa1","updated":"2016-08-12 02:47:37.000000000","message":"Done.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":164,"context_line":"  also have multiple shards and replicas. The number of nodes, shards and"},{"line_number":165,"context_line":"  replicas are specified in the Elasticsearch configuration file. But the"},{"line_number":166,"context_line":"  number of shards and replicas can be overwritten on a per-index basis by"},{"line_number":167,"context_line":"  Searchlight."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"**Figure 3: Searchlight Scaling**"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_99f472f1","line":167,"updated":"2016-08-05 22:23:22.000000000","message":"Provide reference to: http://docs.openstack.org/developer/searchlight/indexingservice.html#indexing-model\n\nUsing RST link not hardcoded url","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":".. image:: ../../images/Figure3.png"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Searchlight Components"},{"line_number":174,"context_line":"----------------------"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Searchlight consists of multiple components. The components live in one of two"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_51e72de4","line":173,"range":{"start_line":173,"start_character":12,"end_line":173,"end_character":22},"updated":"2016-08-08 17:44:58.000000000","message":"I\u0027d move this section up to near the top; it\u0027s the highest level architectural description.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":".. image:: ../../images/Figure3.png"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Searchlight Components"},{"line_number":174,"context_line":"----------------------"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Searchlight consists of multiple components. The components live in one of two"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_e12e7c41","line":173,"range":{"start_line":173,"start_character":12,"end_line":173,"end_character":22},"in_reply_to":"9ad45d7e_51e72de4","updated":"2016-08-12 02:47:37.000000000","message":"Moved.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":173,"context_line":"Searchlight Components"},{"line_number":174,"context_line":"----------------------"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Searchlight consists of multiple components. The components live in one of two"},{"line_number":177,"context_line":"environments. Either externally on the end-user system or internally on an"},{"line_number":178,"context_line":"OpenStack deployed system. Figure 4 illustrates how all of these components"},{"line_number":179,"context_line":"interact."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_1195b5e3","line":176,"range":{"start_line":176,"start_character":12,"end_line":176,"end_character":20},"updated":"2016-08-08 17:44:58.000000000","message":"This list of components includes pieces SL depends on but that aren\u0027t part of it. I\u0027d reduce it to the searchlight pieces and maybe add a much briefer list of dependencies.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":173,"context_line":"Searchlight Components"},{"line_number":174,"context_line":"----------------------"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Searchlight consists of multiple components. The components live in one of two"},{"line_number":177,"context_line":"environments. Either externally on the end-user system or internally on an"},{"line_number":178,"context_line":"OpenStack deployed system. Figure 4 illustrates how all of these components"},{"line_number":179,"context_line":"interact."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_21dc1445","line":176,"range":{"start_line":176,"start_character":12,"end_line":176,"end_character":20},"in_reply_to":"9ad45d7e_1195b5e3","updated":"2016-08-12 02:47:37.000000000","message":"Since the audience includes new beginners to Searchlight, I think we should explain all parts and pieces they will run into while trying to understand Searchlight. Especially as a reference they can refer to as they are going through the code.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":185,"context_line":"* **Searchlight API:** OpenStack Searchlight RESTful API. A separate process"},{"line_number":186,"context_line":"  running a WSGI web server on top of the python Searchlight framework. All"},{"line_number":187,"context_line":"  external access (i.e. Horizon, browser, CLI) go through the Searchlight API."},{"line_number":188,"context_line":"  The Searchlight API performs read-only accesses of Elasticsearch. Lives"},{"line_number":189,"context_line":"  internally on an OpenStack deployed system."},{"line_number":190,"context_line":"* **HAProxy:** High availability load balancer and proxy server for the"},{"line_number":191,"context_line":"  Searchlight API component. HAProxy enables multiple instances of the"},{"line_number":192,"context_line":"  Searchlight API to run and allows for better performance, scalability and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_f108e193","line":189,"range":{"start_line":188,"start_character":68,"end_line":189,"end_character":45},"updated":"2016-08-08 17:44:58.000000000","message":"Not sure what this means; I\u0027d remove it.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":185,"context_line":"* **Searchlight API:** OpenStack Searchlight RESTful API. A separate process"},{"line_number":186,"context_line":"  running a WSGI web server on top of the python Searchlight framework. All"},{"line_number":187,"context_line":"  external access (i.e. Horizon, browser, CLI) go through the Searchlight API."},{"line_number":188,"context_line":"  The Searchlight API performs read-only accesses of Elasticsearch. Lives"},{"line_number":189,"context_line":"  internally on an OpenStack deployed system."},{"line_number":190,"context_line":"* **HAProxy:** High availability load balancer and proxy server for the"},{"line_number":191,"context_line":"  Searchlight API component. HAProxy enables multiple instances of the"},{"line_number":192,"context_line":"  Searchlight API to run and allows for better performance, scalability and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_61d1ec22","line":189,"range":{"start_line":188,"start_character":68,"end_line":189,"end_character":45},"in_reply_to":"9ad45d7e_f108e193","updated":"2016-08-12 02:47:37.000000000","message":"I was trying to differentiate between parts that lived in the OpenStack cloud vs parts that live on the users system (like Horizon). I guess I wasn\u0027t very successful :( I\u0027ll remove it.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":197,"context_line":"  is sent to the Searchlight Listener. This results in the OpenStack service"},{"line_number":198,"context_line":"  state being indexed into Elasticsearch as a document related to that"},{"line_number":199,"context_line":"  resource type (for example, OS::Nova::Server). The listener is never accessed"},{"line_number":200,"context_line":"  directly by any of the other Searchlight components. Lives internally on an"},{"line_number":201,"context_line":"  OpenStack deployed system."},{"line_number":202,"context_line":"* **Searchlight Admin CLI (searchlight-manage):** A separate process that"},{"line_number":203,"context_line":"  provides admin support for Searchlight. The main functionality is"},{"line_number":204,"context_line":"  re-indexing support. Connects to various OpenStack services and loads data"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_71f51182","line":201,"range":{"start_line":200,"start_character":55,"end_line":201,"end_character":28},"updated":"2016-08-08 17:44:58.000000000","message":"Remove","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":197,"context_line":"  is sent to the Searchlight Listener. This results in the OpenStack service"},{"line_number":198,"context_line":"  state being indexed into Elasticsearch as a document related to that"},{"line_number":199,"context_line":"  resource type (for example, OS::Nova::Server). The listener is never accessed"},{"line_number":200,"context_line":"  directly by any of the other Searchlight components. Lives internally on an"},{"line_number":201,"context_line":"  OpenStack deployed system."},{"line_number":202,"context_line":"* **Searchlight Admin CLI (searchlight-manage):** A separate process that"},{"line_number":203,"context_line":"  provides admin support for Searchlight. The main functionality is"},{"line_number":204,"context_line":"  re-indexing support. Connects to various OpenStack services and loads data"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_c1a6d8bf","line":201,"range":{"start_line":200,"start_character":55,"end_line":201,"end_character":28},"in_reply_to":"9ad45d7e_71f51182","updated":"2016-08-12 02:47:37.000000000","message":"Done.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":205,"context_line":"  from them into the Elasticsearch indices. The admin needs to log in directly"},{"line_number":206,"context_line":"  to a Searchlight node and run the Searchlight Admin CLI from that node. The"},{"line_number":207,"context_line":"  Searchlight Admin CLI performs read/write accesses to Elasticsearch. Lives"},{"line_number":208,"context_line":"  internally on an OpenStack deployed system. "},{"line_number":209,"context_line":"* **Elasticsearch:** A database service used to index information about"},{"line_number":210,"context_line":"  selected services. Elasticsearch is meant to be shared by multiple OpenStack"},{"line_number":211,"context_line":"  projects, not just Searchlight. Is implies that there may be multiple"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_39e62644","line":208,"updated":"2016-08-05 22:23:22.000000000","message":"red!","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":205,"context_line":"  from them into the Elasticsearch indices. The admin needs to log in directly"},{"line_number":206,"context_line":"  to a Searchlight node and run the Searchlight Admin CLI from that node. The"},{"line_number":207,"context_line":"  Searchlight Admin CLI performs read/write accesses to Elasticsearch. Lives"},{"line_number":208,"context_line":"  internally on an OpenStack deployed system. "},{"line_number":209,"context_line":"* **Elasticsearch:** A database service used to index information about"},{"line_number":210,"context_line":"  selected services. Elasticsearch is meant to be shared by multiple OpenStack"},{"line_number":211,"context_line":"  projects, not just Searchlight. Is implies that there may be multiple"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_e18afc19","line":208,"in_reply_to":"bacf61ea_39e62644","updated":"2016-08-12 02:47:37.000000000","message":"More Visine.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"86eaf45a7bf53ad78b56ab767ced7955859d361b","unresolved":false,"context_lines":[{"line_number":208,"context_line":"  internally on an OpenStack deployed system. "},{"line_number":209,"context_line":"* **Elasticsearch:** A database service used to index information about"},{"line_number":210,"context_line":"  selected services. Elasticsearch is meant to be shared by multiple OpenStack"},{"line_number":211,"context_line":"  projects, not just Searchlight. Is implies that there may be multiple"},{"line_number":212,"context_line":"  indices within Elasticsearch. All Elasticsearch indices used by Searchlight"},{"line_number":213,"context_line":"  are created in a way so as to be unique to Searchlight. This will prevent"},{"line_number":214,"context_line":"  any duplication between Searchlight and other OpenStack projects that may"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_59d5da40","line":211,"range":{"start_line":211,"start_character":34,"end_line":211,"end_character":36},"updated":"2016-08-05 22:23:22.000000000","message":"This","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":208,"context_line":"  internally on an OpenStack deployed system. "},{"line_number":209,"context_line":"* **Elasticsearch:** A database service used to index information about"},{"line_number":210,"context_line":"  selected services. Elasticsearch is meant to be shared by multiple OpenStack"},{"line_number":211,"context_line":"  projects, not just Searchlight. Is implies that there may be multiple"},{"line_number":212,"context_line":"  indices within Elasticsearch. All Elasticsearch indices used by Searchlight"},{"line_number":213,"context_line":"  are created in a way so as to be unique to Searchlight. This will prevent"},{"line_number":214,"context_line":"  any duplication between Searchlight and other OpenStack projects that may"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_2181b4fb","line":211,"range":{"start_line":211,"start_character":34,"end_line":211,"end_character":36},"in_reply_to":"bacf61ea_59d5da40","updated":"2016-08-12 02:47:37.000000000","message":"This\u0027ed.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":249,"context_line":"interfaces are fully described in Table 1."},{"line_number":250,"context_line":" "},{"line_number":251,"context_line":"Component Interfaces"},{"line_number":252,"context_line":"--------------------"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"Tables 1 and 2 provide more details with the interfaces in Figure 4. These"},{"line_number":255,"context_line":"details are geared toward understanding the security model and analyzing"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_916d2535","line":252,"range":{"start_line":252,"start_character":0,"end_line":252,"end_character":20},"updated":"2016-08-08 17:44:58.000000000","message":"This section doesn\u0027t seem to add anything and is hard to read. Could we reduce it to a brief list of the interactions with reference to figure 4? e.g.\n\n  4. Openstack services post notifications via the message bus","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":249,"context_line":"interfaces are fully described in Table 1."},{"line_number":250,"context_line":" "},{"line_number":251,"context_line":"Component Interfaces"},{"line_number":252,"context_line":"--------------------"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"Tables 1 and 2 provide more details with the interfaces in Figure 4. These"},{"line_number":255,"context_line":"details are geared toward understanding the security model and analyzing"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_5c3dabc2","line":252,"range":{"start_line":252,"start_character":0,"end_line":252,"end_character":20},"in_reply_to":"9ad45d7e_916d2535","updated":"2016-08-12 02:47:37.000000000","message":"This section was intended for security/threat analysis. If we still feel that is needed, I would leave it as is. If we feel that we do not need a threat analysis section I would just remove the entire section.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":284,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":285,"context_line":"Port / Range\tProtocol     Notes"},{"line_number":286,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":287,"context_line":"443             HTTPS        API access"},{"line_number":288,"context_line":"5671            AMQPS        Messaging protocol"},{"line_number":289,"context_line":"9200            HTTP         Elasticsearch protocol"},{"line_number":290,"context_line":"9292            HTTP         Searchlight API"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_71519162","line":287,"range":{"start_line":287,"start_character":0,"end_line":287,"end_character":3},"updated":"2016-08-08 17:44:58.000000000","message":"This is probably incorrect. Our default port is 9393 and it\u0027s up to a deployer whether they deploy on that port or on another one, potentially through a web server virtualhost.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":284,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":285,"context_line":"Port / Range\tProtocol     Notes"},{"line_number":286,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":287,"context_line":"443             HTTPS        API access"},{"line_number":288,"context_line":"5671            AMQPS        Messaging protocol"},{"line_number":289,"context_line":"9200            HTTP         Elasticsearch protocol"},{"line_number":290,"context_line":"9292            HTTP         Searchlight API"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_3c3f17b5","line":287,"range":{"start_line":287,"start_character":0,"end_line":287,"end_character":3},"in_reply_to":"9ad45d7e_71519162","updated":"2016-08-12 02:47:37.000000000","message":"Done. Also modified the section header to emphasis the default nature of the ports.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c4e46ecc2e0b2c56a20203ba5a4745fb9aa52a0d","unresolved":false,"context_lines":[{"line_number":320,"context_line":""},{"line_number":321,"context_line":"* Elasticsearch"},{"line_number":322,"context_line":"* RabbitMQ"},{"line_number":323,"context_line":"* HAProxy"},{"line_number":324,"context_line":"* Cinder Service"},{"line_number":325,"context_line":"* Designate Service"},{"line_number":326,"context_line":"* Glance Service"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_b14b09b0","line":323,"range":{"start_line":323,"start_character":2,"end_line":323,"end_character":9},"updated":"2016-08-08 17:44:58.000000000","message":"haproxy is not a component of openstack","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"2f48ef44ddd813290929744022317dc96e385927","unresolved":false,"context_lines":[{"line_number":320,"context_line":""},{"line_number":321,"context_line":"* Elasticsearch"},{"line_number":322,"context_line":"* RabbitMQ"},{"line_number":323,"context_line":"* HAProxy"},{"line_number":324,"context_line":"* Cinder Service"},{"line_number":325,"context_line":"* Designate Service"},{"line_number":326,"context_line":"* Glance Service"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_5cb2cb4c","line":323,"range":{"start_line":323,"start_character":2,"end_line":323,"end_character":9},"in_reply_to":"9ad45d7e_b14b09b0","updated":"2016-08-12 02:47:37.000000000","message":"Since we discussed HAProxy, I would like to mention it as a dependency for completeness. Maybe I can modify the above sentence to not mention OpenStack.","commit_id":"6cc1d1511a8af824ca16e45ce43ab8f0a9e37d08"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"access control (RBAC) for data security and protection. RBAC protection"},{"line_number":33,"context_line":"prevents unauthorized users from accessing data that they are not permitted to"},{"line_number":34,"context_line":"view. Searchlight uses RBAC in three ways to protect the data:"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  1. **Document Separation:** Each resource is indexed twice in Elasticsearch."},{"line_number":37,"context_line":"     Once for the admin user and once for all others. The document associated"},{"line_number":38,"context_line":"     with the admin has all fields present. The document associated with"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_71919152","line":35,"updated":"2016-08-12 16:59:56.000000000","message":"Actually, number 1 on this should be that Searchlight API is deployed as the accessible endpoint with ElasticSearch on a restricted network behind Searchlight.  This is kind of important for people to know why 1, 2, 3 do anything.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":32,"context_line":"access control (RBAC) for data security and protection. RBAC protection"},{"line_number":33,"context_line":"prevents unauthorized users from accessing data that they are not permitted to"},{"line_number":34,"context_line":"view. Searchlight uses RBAC in three ways to protect the data:"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  1. **Document Separation:** Each resource is indexed twice in Elasticsearch."},{"line_number":37,"context_line":"     Once for the admin user and once for all others. The document associated"},{"line_number":38,"context_line":"     with the admin has all fields present. The document associated with"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_bb8e5b25","line":35,"in_reply_to":"9ad45d7e_71919152","updated":"2016-08-13 01:10:47.000000000","message":"Done.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":42,"context_line":"  2. **Pre-Query Protection:** Searchlight will inject RBAC-based protection"},{"line_number":43,"context_line":"     into all queries before they get sent to Elasticsearch. In general the"},{"line_number":44,"context_line":"     pre-query RBAC injection will provide gross level protection. For example,"},{"line_number":45,"context_line":"     entire projects that the user does not have access to."},{"line_number":46,"context_line":"  3. **Post-Query Protection:** Searchlight uses the RBAC-based protection to"},{"line_number":47,"context_line":"     filter the response to each query in order to remove any sensitive data"},{"line_number":48,"context_line":"     before returning the results to the eagerly waiting user. In general the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_71223103","line":45,"updated":"2016-08-12 16:59:56.000000000","message":"Maybe ref Fig 2","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":42,"context_line":"  2. **Pre-Query Protection:** Searchlight will inject RBAC-based protection"},{"line_number":43,"context_line":"     into all queries before they get sent to Elasticsearch. In general the"},{"line_number":44,"context_line":"     pre-query RBAC injection will provide gross level protection. For example,"},{"line_number":45,"context_line":"     entire projects that the user does not have access to."},{"line_number":46,"context_line":"  3. **Post-Query Protection:** Searchlight uses the RBAC-based protection to"},{"line_number":47,"context_line":"     filter the response to each query in order to remove any sensitive data"},{"line_number":48,"context_line":"     before returning the results to the eagerly waiting user. In general the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_3bca6b50","line":45,"in_reply_to":"9ad45d7e_71223103","updated":"2016-08-13 01:10:47.000000000","message":"Done.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"     filter the response to each query in order to remove any sensitive data"},{"line_number":48,"context_line":"     before returning the results to the eagerly waiting user. In general the"},{"line_number":49,"context_line":"     post-query RBAC filtering will provide fine level protection. For example,"},{"line_number":50,"context_line":"     specific fields within a document."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The functionality provided by Searchlight differs greatly from the logging"},{"line_number":53,"context_line":"capabilities of OpenStack. The logging services store predetermined messages"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_51828dc9","line":50,"updated":"2016-08-12 16:59:56.000000000","message":"Maybe ref fig 2","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":47,"context_line":"     filter the response to each query in order to remove any sensitive data"},{"line_number":48,"context_line":"     before returning the results to the eagerly waiting user. In general the"},{"line_number":49,"context_line":"     post-query RBAC filtering will provide fine level protection. For example,"},{"line_number":50,"context_line":"     specific fields within a document."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The functionality provided by Searchlight differs greatly from the logging"},{"line_number":53,"context_line":"capabilities of OpenStack. The logging services store predetermined messages"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_1bc7af46","line":50,"in_reply_to":"9ad45d7e_51828dc9","updated":"2016-08-13 01:10:47.000000000","message":"Done.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"**Figure 1: Architecture Diagram**"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. image:: ../../images/Figure1.png"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Figure 1 shows the relationship between all of the Searchlight components. The"},{"line_number":131,"context_line":"external Searchlight components are colored light-grey. The internal"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_d175dd32","line":128,"updated":"2016-08-12 16:59:56.000000000","message":"i can go either way on this, but i\u0027d be inclined to show the diagram with the detailed descriptions after it.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"**Figure 1: Architecture Diagram**"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. image:: ../../images/Figure1.png"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Figure 1 shows the relationship between all of the Searchlight components. The"},{"line_number":131,"context_line":"external Searchlight components are colored light-grey. The internal"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_7bc4e33f","line":128,"in_reply_to":"9ad45d7e_d175dd32","updated":"2016-08-13 01:10:47.000000000","message":"Moved.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":161,"context_line":"3. The admin sets up the Searchlight configuration file."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"4. The initial indexing for Searchlight occurs (component 2 in Figure 2). This"},{"line_number":164,"context_line":"   happens when the admin runs the command \"searchlight-manage index sync\" on"},{"line_number":165,"context_line":"   a Searchlight node. Searchlight will pull the data from the OpenStack"},{"line_number":166,"context_line":"   service\u0027s API and index it into Elasticsearch."},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_4743ef6c","line":164,"range":{"start_line":164,"start_character":43,"end_line":164,"end_character":74},"updated":"2016-08-12 16:59:56.000000000","message":"whenever we reference commands we use two back ticks.  ``  e.g.\n\n``searchlight-manage index sync``\n\nSee examples in indexservice.rst.\n\nThis also could include a ref like you did elsewhere","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":161,"context_line":"3. The admin sets up the Searchlight configuration file."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"4. The initial indexing for Searchlight occurs (component 2 in Figure 2). This"},{"line_number":164,"context_line":"   happens when the admin runs the command \"searchlight-manage index sync\" on"},{"line_number":165,"context_line":"   a Searchlight node. Searchlight will pull the data from the OpenStack"},{"line_number":166,"context_line":"   service\u0027s API and index it into Elasticsearch."},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_9b08bf93","line":164,"range":{"start_line":164,"start_character":43,"end_line":164,"end_character":74},"in_reply_to":"9ad45d7e_4743ef6c","updated":"2016-08-13 01:10:47.000000000","message":"I know this.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":166,"context_line":"   service\u0027s API and index it into Elasticsearch."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"5. The Searchlight listeners are started (component 3 in Figure 2). This"},{"line_number":169,"context_line":"   happens when the admin runs the command \"searchlight-listener\". At this"},{"line_number":170,"context_line":"   point, Searchlight is notified of any state changes that occurs in the"},{"line_number":171,"context_line":"   services. The OpenStack services will push the data to Searchlight, which"},{"line_number":172,"context_line":"   in turn will index that data into Elasticsearch."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_675a7352","line":169,"range":{"start_line":169,"start_character":43,"end_line":169,"end_character":65},"updated":"2016-08-12 16:59:56.000000000","message":"``searchlight-listener``","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":166,"context_line":"   service\u0027s API and index it into Elasticsearch."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"5. The Searchlight listeners are started (component 3 in Figure 2). This"},{"line_number":169,"context_line":"   happens when the admin runs the command \"searchlight-listener\". At this"},{"line_number":170,"context_line":"   point, Searchlight is notified of any state changes that occurs in the"},{"line_number":171,"context_line":"   services. The OpenStack services will push the data to Searchlight, which"},{"line_number":172,"context_line":"   in turn will index that data into Elasticsearch."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_fbfd736f","line":169,"range":{"start_line":169,"start_character":43,"end_line":169,"end_character":65},"in_reply_to":"9ad45d7e_675a7352","updated":"2016-08-13 01:10:47.000000000","message":"Hmm, twice.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":172,"context_line":"   in turn will index that data into Elasticsearch."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"6. The Searchlight web service is started (component 1 in Figure 2). This"},{"line_number":175,"context_line":"   happens when the admin runs the command \"searchlight-api\". At this point,"},{"line_number":176,"context_line":"   the Searchlight API is live and anyone can start making queries to"},{"line_number":177,"context_line":"   Searchlight."},{"line_number":178,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_a7546b21","line":175,"range":{"start_line":175,"start_character":42,"end_line":175,"end_character":60},"updated":"2016-08-12 16:59:56.000000000","message":"``searchlight-api``","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":172,"context_line":"   in turn will index that data into Elasticsearch."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"6. The Searchlight web service is started (component 1 in Figure 2). This"},{"line_number":175,"context_line":"   happens when the admin runs the command \"searchlight-api\". At this point,"},{"line_number":176,"context_line":"   the Searchlight API is live and anyone can start making queries to"},{"line_number":177,"context_line":"   Searchlight."},{"line_number":178,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_db02376f","line":175,"range":{"start_line":175,"start_character":42,"end_line":175,"end_character":60},"in_reply_to":"9ad45d7e_a7546b21","updated":"2016-08-13 01:10:47.000000000","message":"Would you believe copy and paste?","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"1. To verify there are no orphaned Elasticsearch indices, the admin can view"},{"line_number":192,"context_line":"   the Elasticsearch indices being used by Searchlight using the"},{"line_number":193,"context_line":"   \"searchlight-manage\" command. Any orphaned indices will be taken"},{"line_number":194,"context_line":"   care of through Elasticsearch and not through Searchlight. "},{"line_number":195,"context_line":"   See :ref:`ES-Index-Cleanup`."},{"line_number":196,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_273fdbd7","line":193,"range":{"start_line":193,"start_character":2,"end_line":193,"end_character":23},"updated":"2016-08-12 16:59:56.000000000","message":"``searchlight-manage``","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"1. To verify there are no orphaned Elasticsearch indices, the admin can view"},{"line_number":192,"context_line":"   the Elasticsearch indices being used by Searchlight using the"},{"line_number":193,"context_line":"   \"searchlight-manage\" command. Any orphaned indices will be taken"},{"line_number":194,"context_line":"   care of through Elasticsearch and not through Searchlight. "},{"line_number":195,"context_line":"   See :ref:`ES-Index-Cleanup`."},{"line_number":196,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_1bf5ef82","line":193,"range":{"start_line":193,"start_character":2,"end_line":193,"end_character":23},"in_reply_to":"9ad45d7e_273fdbd7","updated":"2016-08-13 01:10:47.000000000","message":"Done.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"2. If the Elasticsearch data is no longer coherent with the OpenStack"},{"line_number":198,"context_line":"   services, the admin will need to re-index Elasticsearch. This is done by"},{"line_number":199,"context_line":"   running the command \"searchlight-manage\", similarly to step 4 in"},{"line_number":200,"context_line":"   the deployment stage. See :ref:`ES-Bulk-Indexing`."},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"**Figure 2: Searchlight Eco-System**"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_c72ebfa4","line":199,"range":{"start_line":199,"start_character":23,"end_line":199,"end_character":43},"updated":"2016-08-12 16:59:56.000000000","message":"``searchlight-manage``","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"2. If the Elasticsearch data is no longer coherent with the OpenStack"},{"line_number":198,"context_line":"   services, the admin will need to re-index Elasticsearch. This is done by"},{"line_number":199,"context_line":"   running the command \"searchlight-manage\", similarly to step 4 in"},{"line_number":200,"context_line":"   the deployment stage. See :ref:`ES-Bulk-Indexing`."},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"**Figure 2: Searchlight Eco-System**"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_7bf2239c","line":199,"range":{"start_line":199,"start_character":23,"end_line":199,"end_character":43},"in_reply_to":"9ad45d7e_c72ebfa4","updated":"2016-08-13 01:10:47.000000000","message":"Done.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"When deploying Searchlight, the Eco-system is scaled in multiple ways. This"},{"line_number":231,"context_line":"scaling is done for both performance and reliability. Figure 4 shows this in"},{"line_number":232,"context_line":"glorious color."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"Searchlight Web Services:"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_e33016eb","line":232,"updated":"2016-08-12 16:59:56.000000000","message":"Add in here that Searchlight API and Searchlight Listener are stateless microservices.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"When deploying Searchlight, the Eco-system is scaled in multiple ways. This"},{"line_number":231,"context_line":"scaling is done for both performance and reliability. Figure 4 shows this in"},{"line_number":232,"context_line":"glorious color."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"Searchlight Web Services:"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_3b6d4b33","line":232,"in_reply_to":"9ad45d7e_e33016eb","updated":"2016-08-13 01:10:47.000000000","message":"Done.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":231,"context_line":"scaling is done for both performance and reliability. Figure 4 shows this in"},{"line_number":232,"context_line":"glorious color."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"Searchlight Web Services:"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"* Multiple instances of the Searchlight web service can be deployed and placed"},{"line_number":237,"context_line":"  behind a load balancer. The load balancer hides the details of the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_c33992da","line":234,"range":{"start_line":234,"start_character":12,"end_line":234,"end_character":15},"updated":"2016-08-12 16:59:56.000000000","message":"API","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":231,"context_line":"scaling is done for both performance and reliability. Figure 4 shows this in"},{"line_number":232,"context_line":"glorious color."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"Searchlight Web Services:"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"* Multiple instances of the Searchlight web service can be deployed and placed"},{"line_number":237,"context_line":"  behind a load balancer. The load balancer hides the details of the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_fb34534b","line":234,"range":{"start_line":234,"start_character":12,"end_line":234,"end_character":15},"in_reply_to":"9ad45d7e_c33992da","updated":"2016-08-13 01:10:47.000000000","message":"Changed here and all other instances.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":269,"context_line":"**Table 1: Interfaces**"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":272,"context_line":"Interface  Network protocol  Requestor               Request\t           Request credentials  Request authorization   Listener           Response             Response credentials  Description of operation"},{"line_number":273,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":274,"context_line":"1          HTTPS             Searchlight UI          Horizon Searches      Session token        Admin or User           Searchlight API    Search results       TLS Certificate       Search query from Horizon."},{"line_number":275,"context_line":"1          HTTPS             Searchlight User CLI    User Searches         Session token        Admin or User           Searchlight API    Search results       TLS Certificate       Search query form user."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_a33d7ebd","line":272,"range":{"start_line":272,"start_character":60,"end_line":272,"end_character":61},"updated":"2016-08-12 16:59:56.000000000","message":"tab","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":269,"context_line":"**Table 1: Interfaces**"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":272,"context_line":"Interface  Network protocol  Requestor               Request\t           Request credentials  Request authorization   Listener           Response             Response credentials  Description of operation"},{"line_number":273,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":274,"context_line":"1          HTTPS             Searchlight UI          Horizon Searches      Session token        Admin or User           Searchlight API    Search results       TLS Certificate       Search query from Horizon."},{"line_number":275,"context_line":"1          HTTPS             Searchlight User CLI    User Searches         Session token        Admin or User           Searchlight API    Search results       TLS Certificate       Search query form user."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_3b26eb16","line":272,"range":{"start_line":272,"start_character":60,"end_line":272,"end_character":61},"in_reply_to":"9ad45d7e_a33d7ebd","updated":"2016-08-13 01:10:47.000000000","message":"Done, Also the tab on line 296.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":297,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":298,"context_line":"5671            AMQPS        Messaging protocol"},{"line_number":299,"context_line":"9200            HTTP         Elasticsearch protocol"},{"line_number":300,"context_line":"9292            HTTP         Searchlight API"},{"line_number":301,"context_line":"9393            HTTPS        API access"},{"line_number":302,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_b61c9fc2","line":300,"range":{"start_line":300,"start_character":0,"end_line":300,"end_character":4},"updated":"2016-08-12 16:59:56.000000000","message":"This is the default port for Glance, not Searchlight. Also, it is the same thing as below, except HTTPS... So why the different name in notes?","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":297,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":298,"context_line":"5671            AMQPS        Messaging protocol"},{"line_number":299,"context_line":"9200            HTTP         Elasticsearch protocol"},{"line_number":300,"context_line":"9292            HTTP         Searchlight API"},{"line_number":301,"context_line":"9393            HTTPS        API access"},{"line_number":302,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_bb5f7b74","line":300,"range":{"start_line":300,"start_character":0,"end_line":300,"end_character":4},"in_reply_to":"9ad45d7e_b61c9fc2","updated":"2016-08-13 01:10:47.000000000","message":"Should be deleted. And it is!","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"23d8fae8526c163a7082993af5512126c5fc8b3f","unresolved":false,"context_lines":[{"line_number":327,"context_line":"Dependencies"},{"line_number":328,"context_line":"------------"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"Searchlight has dependencies on other components."},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"* Elasticsearch"},{"line_number":333,"context_line":"* RabbitMQ"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_d64dd3c5","line":330,"updated":"2016-08-12 16:59:56.000000000","message":"I think you need to make it clear here that the openstack service dependencies are soft dependencies and are only required if the plugin supporting that service is enabled.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"0a74cb5c3b005144257b43321a5306b1808ca797","unresolved":false,"context_lines":[{"line_number":327,"context_line":"Dependencies"},{"line_number":328,"context_line":"------------"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"Searchlight has dependencies on other components."},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"* Elasticsearch"},{"line_number":333,"context_line":"* RabbitMQ"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac969e8_3b542b53","line":330,"in_reply_to":"9ad45d7e_d64dd3c5","updated":"2016-08-13 01:10:47.000000000","message":"Done.","commit_id":"134cf566425d4f13cc30b14a43fa89c4d86b9ebd"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a302dede2b21b2490ce1251d9541f3c527b480b1","unresolved":false,"context_lines":[{"line_number":68,"context_line":"----------------------"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Searchlight consists of multiple components. The components live in one of two"},{"line_number":71,"context_line":"environments. Either externally on the end-user system or internally on an"},{"line_number":72,"context_line":"OpenStack deployed system. Figure 1 illustrates how all of these components"},{"line_number":73,"context_line":"interact."},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3ac371cc_a4ed698d","line":71,"range":{"start_line":71,"start_character":12,"end_line":71,"end_character":21},"updated":"2016-08-15 20:13:43.000000000","message":"I suggest s/. Either/: /","commit_id":"a4288f49f8c832ae2e345bcf91d93b6c2f69848c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a302dede2b21b2490ce1251d9541f3c527b480b1","unresolved":false,"context_lines":[{"line_number":83,"context_line":"for these components."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* **Searchlight UI:** A plugin for Horizon that provides search support. Lives"},{"line_number":86,"context_line":"  externally on the end-users system."},{"line_number":87,"context_line":"* **Searchlight User CLI (OpenStack Client plugin):** Command-line interface"},{"line_number":88,"context_line":"  to the Searchlight API. Lives externally on the end-users system."},{"line_number":89,"context_line":"* **Searchlight API:** OpenStack Searchlight RESTful API. A separate process"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3ac371cc_e4ff6132","line":86,"range":{"start_line":86,"start_character":28,"end_line":86,"end_character":29},"updated":"2016-08-15 20:13:43.000000000","message":"I think you need \u0027s here.","commit_id":"a4288f49f8c832ae2e345bcf91d93b6c2f69848c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a302dede2b21b2490ce1251d9541f3c527b480b1","unresolved":false,"context_lines":[{"line_number":85,"context_line":"* **Searchlight UI:** A plugin for Horizon that provides search support. Lives"},{"line_number":86,"context_line":"  externally on the end-users system."},{"line_number":87,"context_line":"* **Searchlight User CLI (OpenStack Client plugin):** Command-line interface"},{"line_number":88,"context_line":"  to the Searchlight API. Lives externally on the end-users system."},{"line_number":89,"context_line":"* **Searchlight API:** OpenStack Searchlight RESTful API. A separate process"},{"line_number":90,"context_line":"  running a WSGI web server on top of the python Searchlight framework. All"},{"line_number":91,"context_line":"  external access (i.e. Horizon, browser, CLI) go through the Searchlight API."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3ac371cc_048a7dbf","line":88,"range":{"start_line":88,"start_character":58,"end_line":88,"end_character":59},"updated":"2016-08-15 20:13:43.000000000","message":"I think you need \u0027s here.","commit_id":"a4288f49f8c832ae2e345bcf91d93b6c2f69848c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a302dede2b21b2490ce1251d9541f3c527b480b1","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  to the Searchlight API. Lives externally on the end-users system."},{"line_number":89,"context_line":"* **Searchlight API:** OpenStack Searchlight RESTful API. A separate process"},{"line_number":90,"context_line":"  running a WSGI web server on top of the python Searchlight framework. All"},{"line_number":91,"context_line":"  external access (i.e. Horizon, browser, CLI) go through the Searchlight API."},{"line_number":92,"context_line":"  The Searchlight API performs read-only accesses of Elasticsearch."},{"line_number":93,"context_line":"* **HAProxy:** High availability load balancer and proxy server for the"},{"line_number":94,"context_line":"  Searchlight API component. HAProxy enables multiple instances of the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3ac371cc_e4ada132","line":91,"range":{"start_line":91,"start_character":19,"end_line":91,"end_character":23},"updated":"2016-08-15 20:13:43.000000000","message":"I think you mean \"for example\" here (you can also access the API via curl).","commit_id":"a4288f49f8c832ae2e345bcf91d93b6c2f69848c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a302dede2b21b2490ce1251d9541f3c527b480b1","unresolved":false,"context_lines":[{"line_number":92,"context_line":"  The Searchlight API performs read-only accesses of Elasticsearch."},{"line_number":93,"context_line":"* **HAProxy:** High availability load balancer and proxy server for the"},{"line_number":94,"context_line":"  Searchlight API component. HAProxy enables multiple instances of the"},{"line_number":95,"context_line":"  Searchlight API to run and allows for better performance, scalability and"},{"line_number":96,"context_line":"  reliability of the Searchlight service."},{"line_number":97,"context_line":"* **Searchlight Listener:** A separate Searchlight process that is plugged"},{"line_number":98,"context_line":"  into the notification MQ for the OpenStack services. Whenever there is a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3ac371cc_247fb9ab","line":95,"range":{"start_line":95,"start_character":71,"end_line":95,"end_character":72},"updated":"2016-08-15 20:13:43.000000000","message":"need a comma","commit_id":"a4288f49f8c832ae2e345bcf91d93b6c2f69848c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a302dede2b21b2490ce1251d9541f3c527b480b1","unresolved":false,"context_lines":[{"line_number":93,"context_line":"* **HAProxy:** High availability load balancer and proxy server for the"},{"line_number":94,"context_line":"  Searchlight API component. HAProxy enables multiple instances of the"},{"line_number":95,"context_line":"  Searchlight API to run and allows for better performance, scalability and"},{"line_number":96,"context_line":"  reliability of the Searchlight service."},{"line_number":97,"context_line":"* **Searchlight Listener:** A separate Searchlight process that is plugged"},{"line_number":98,"context_line":"  into the notification MQ for the OpenStack services. Whenever there is a"},{"line_number":99,"context_line":"  change in state for a resource type in an OpenStack service, a notification"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3ac371cc_a449e98d","line":96,"range":{"start_line":96,"start_character":17,"end_line":96,"end_character":20},"updated":"2016-08-15 20:13:43.000000000","message":"not sure you need \"the\" here, but up to you","commit_id":"a4288f49f8c832ae2e345bcf91d93b6c2f69848c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a302dede2b21b2490ce1251d9541f3c527b480b1","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  OpenStack services are: Cinder, Designate, Glance, Neutron, Nova, Swift."},{"line_number":127,"context_line":"  Searchlight accesses the services as an admin, not as a regular user."},{"line_number":128,"context_line":"  This admin access is required for the extra privileges that are needed,"},{"line_number":129,"context_line":"  for example, access objects across projects (\"tenants\"). The credentials"},{"line_number":130,"context_line":"  for the admin are stored in the config files."},{"line_number":131,"context_line":"* **OpenStack Service Plugins:** Each OpenStack service mentioned above has"},{"line_number":132,"context_line":"  one or more plugin. These plugins live in Searchlight and not in the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3ac371cc_a440c957","line":129,"range":{"start_line":129,"start_character":15,"end_line":129,"end_character":21},"updated":"2016-08-15 20:13:43.000000000","message":"I think s/access/to access/","commit_id":"a4288f49f8c832ae2e345bcf91d93b6c2f69848c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a302dede2b21b2490ce1251d9541f3c527b480b1","unresolved":false,"context_lines":[{"line_number":129,"context_line":"  for example, access objects across projects (\"tenants\"). The credentials"},{"line_number":130,"context_line":"  for the admin are stored in the config files."},{"line_number":131,"context_line":"* **OpenStack Service Plugins:** Each OpenStack service mentioned above has"},{"line_number":132,"context_line":"  one or more plugin. These plugins live in Searchlight and not in the"},{"line_number":133,"context_line":"  OpenStack service. The plugins are based on a resource type and not on the"},{"line_number":134,"context_line":"  OpenStack service. For example, the Cinder Service has two resource types"},{"line_number":135,"context_line":"  used by Searchlight: OS::Cinder::Volume and OS::Cinder::Snapshot. This"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3ac371cc_4430f501","line":132,"range":{"start_line":132,"start_character":14,"end_line":132,"end_character":20},"updated":"2016-08-15 20:13:43.000000000","message":"\"associated plugins\" (the \u0027associated\u0027 is optional, but I think plugins needs to be plural)","commit_id":"a4288f49f8c832ae2e345bcf91d93b6c2f69848c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8aa3c039569e6a452f686101d713ea0758fa71d2","unresolved":false,"context_lines":[{"line_number":160,"context_line":"   later be consumed by Searchlight."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"2. Elasticsearch is started. This analytics engine is used by Searchlight, but"},{"line_number":163,"context_line":"   it is not a part of the Searchlight Eco-system. As a note, other services"},{"line_number":164,"context_line":"   may also be using Elasticsearch."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"3. The admin sets up the Searchlight configuration file."},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3ac371cc_79f2cf70","line":164,"range":{"start_line":163,"start_character":51,"end_line":164,"end_character":35},"updated":"2016-08-16 13:49:07.000000000","message":"Do we have a recommendation somewhere about this?  Is it a good idea to share Elasticsearch with other services?  I\u0027m worried about two things:\n\n(1) performance - I guess we need to presuppose some common sense on the part of the operator, e.g., bad idea for Searchlight and logstash to share the same elasticsearch cluster.\n\n(2) security - I guess Searchlight owns its own indices, but still ... I\u0027m not worried about hacking so much as a bug in whatever else is using the Elasticsearch cluster with admin privileges destroying some data.  Or maybe it is a security problem, some other service with admin creds could access the admin index and expose info.  I just don\u0027t like the idea of anyone accessing the backend other than through the Searchlight API.  But maybe this all this is obvious to any Elasticsearch administrator, so nothing to worry about?","commit_id":"9032d177d884635f5242b173c162e2e500a9ef27"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"7c5f5a2e6c92441f96882464adc04cec1fc33427","unresolved":false,"context_lines":[{"line_number":160,"context_line":"   later be consumed by Searchlight."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"2. Elasticsearch is started. This analytics engine is used by Searchlight, but"},{"line_number":163,"context_line":"   it is not a part of the Searchlight Eco-system. As a note, other services"},{"line_number":164,"context_line":"   may also be using Elasticsearch."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"3. The admin sets up the Searchlight configuration file."},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3ac371cc_98c68c47","line":164,"range":{"start_line":163,"start_character":51,"end_line":164,"end_character":35},"in_reply_to":"3ac371cc_79f2cf70","updated":"2016-08-16 21:38:54.000000000","message":"The details of an actual deployment are out of the scope for this document. I would like for us to have a separate deployment document that would include this. Once we have this document, we can address these valid concerns.\n\nWithout knowing the details of the particular deployment, it may be hard to make recommendations. Especially with regard to having a separate vs shared Elasticsearch.\n\nIn theory these concerns should be well-known to an experienced Elasticsearch admin. But not all OpenStack admins are experts in all of the back-end technologies used by the different OpenStack services.","commit_id":"9032d177d884635f5242b173c162e2e500a9ef27"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"cb0a2a492894090b387bd0a51427f487c9c2915e","unresolved":false,"context_lines":[{"line_number":160,"context_line":"   later be consumed by Searchlight."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"2. Elasticsearch is started. This analytics engine is used by Searchlight, but"},{"line_number":163,"context_line":"   it is not a part of the Searchlight Eco-system. As a note, other services"},{"line_number":164,"context_line":"   may also be using Elasticsearch."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"3. The admin sets up the Searchlight configuration file."},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3ac371cc_982dc9aa","line":164,"range":{"start_line":163,"start_character":51,"end_line":164,"end_character":35},"in_reply_to":"3ac371cc_98c68c47","updated":"2016-08-17 13:11:36.000000000","message":"Fair enough, agree it\u0027s out of scope for this document.","commit_id":"9032d177d884635f5242b173c162e2e500a9ef27"}]}
