)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"750c24c0088acc27d16d45ee0799279293d0a159","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP - Swift plugin"},{"line_number":8,"context_line":"Pending RBAC and Code tuning."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: Ib9838438e84d957b526fe80371aae62466c07f3e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bae84128_aced81f1","line":9,"updated":"2016-02-25 00:43:50.000000000","message":"Please add the following for future reference.\n\nTo Test:\n\n git review -d 271622\n sudo python setup.py install\n openstack role add --user searchlight --project service ResellerAdmin\n searchlight-manage index sync --type OS::Swift::Account\n\nrestart searchlight-api, restart searchlight-listener\n\nThis doesn\u0027t enable notification updates. For that, please follow the instructions here:\n\n\u003cSteve\u0027s notification patch\u003e","commit_id":"77477631803bf17053341c8a0d3de80b76235fe4"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"c0ffa67a5a2c1f5e015ea99d30e05e4080ca397b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP - Swift plugin"},{"line_number":8,"context_line":"Pending RBAC and Code tuning."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: Ib9838438e84d957b526fe80371aae62466c07f3e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bae84128_399a4ec6","line":9,"in_reply_to":"bae84128_aced81f1","updated":"2016-02-25 01:18:02.000000000","message":"https://review.openstack.org/#/c/249471/","commit_id":"77477631803bf17053341c8a0d3de80b76235fe4"}],"doc/source/plugins.rst":[{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"862e909f9c3f7ab8ab057be52415657d22878cc6","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    admin_only_fields \u003d encrypted,multiattach"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    [resource_plugin:os_swift_account]"},{"line_number":103,"context_line":"    enabled \u003d False"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    [resource_plugin:os_swift_container]"},{"line_number":106,"context_line":"    enabled \u003d False"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_3be23804","line":103,"updated":"2016-03-15 19:22:30.000000000","message":"does this need the reseller prefix?","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"16d2713588abde32292baf7f021517bac7450f76","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    admin_only_fields \u003d encrypted,multiattach"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    [resource_plugin:os_swift_account]"},{"line_number":103,"context_line":"    enabled \u003d False"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    [resource_plugin:os_swift_container]"},{"line_number":106,"context_line":"    enabled \u003d False"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_fbf2906e","line":103,"in_reply_to":"1af94dfe_3be23804","updated":"2016-03-15 19:38:41.000000000","message":"Default is \"AUTH_\" but always good add defaults here.","commit_id":"01c3e92afc082781845ba7344306a8946d209542"}],"doc/source/plugins/swift.rst":[{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8c8ac2de5483c92ebc41c6275b7a70ba6612a96d","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Swift Configuration"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The Swift service currently doesnt send notifications."},{"line_number":70,"context_line":"Apply this patch https://review.openstack.org/#/c/249471"},{"line_number":71,"context_line":"for adding notification middleware to swift."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9aed3d3a_e884fe0b","line":69,"updated":"2016-02-29 17:54:28.000000000","message":"missing apostrophe.\n\ndoesn\u0027t","commit_id":"b8c3db7eafc3e5e8cb982f5200ddab4b8a4d0845"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e5ae07eb168301551f67e5eac09dc14ed4dbf1e3","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Swift Configuration"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The Swift service currently doesnt send notifications."},{"line_number":70,"context_line":"Apply this patch https://review.openstack.org/#/c/249471"},{"line_number":71,"context_line":"for adding notification middleware to swift."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9aed3d3a_3e60dc00","line":69,"in_reply_to":"9aed3d3a_e884fe0b","updated":"2016-02-29 21:17:23.000000000","message":"Done","commit_id":"b8c3db7eafc3e5e8cb982f5200ddab4b8a4d0845"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8c8ac2de5483c92ebc41c6275b7a70ba6612a96d","unresolved":false,"context_lines":[{"line_number":136,"context_line":"using Searchlight with the Swift Mitaka release."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Alternatively, you may set up a cron job to re-index swift"},{"line_number":139,"context_line":"account/container/objects periodically to get updated information."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"You should use the ``--no-delete`` option to prevent the index from"},{"line_number":142,"context_line":"temporarily not containing any data (which otherwise would happen with a full"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9aed3d3a_88f0d292","line":139,"updated":"2016-02-29 17:54:28.000000000","message":"Maybe state that this is not recommended.","commit_id":"b8c3db7eafc3e5e8cb982f5200ddab4b8a4d0845"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e5ae07eb168301551f67e5eac09dc14ed4dbf1e3","unresolved":false,"context_lines":[{"line_number":136,"context_line":"using Searchlight with the Swift Mitaka release."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Alternatively, you may set up a cron job to re-index swift"},{"line_number":139,"context_line":"account/container/objects periodically to get updated information."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"You should use the ``--no-delete`` option to prevent the index from"},{"line_number":142,"context_line":"temporarily not containing any data (which otherwise would happen with a full"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9aed3d3a_de46107a","line":139,"in_reply_to":"9aed3d3a_88f0d292","updated":"2016-02-29 21:17:23.000000000","message":"Done","commit_id":"b8c3db7eafc3e5e8cb982f5200ddab4b8a4d0845"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"    c) Copyright 2016 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7af24918_17a7a3aa","line":2,"updated":"2016-03-03 23:27:16.000000000","message":"As mentioned in the Neutron patch, change \"c)\" to \"(c)\". This is an issue with most of the *.rst files. We could also submit a new patch in the future that changed this for all of the files. Shouldn\u0027t this also be Hewlett Packard Enterprise?","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"    c) Copyright 2016 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7af24918_6faecee8","line":2,"in_reply_to":"7af24918_17a7a3aa","updated":"2016-03-05 00:14:44.000000000","message":"Done. Not sure about \"Enterprise\" though so will leave it and we can change it across all the code","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8e8e6256e67b2438fff8eb7adb0975ea7ccde8b0","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"******************"},{"line_number":17,"context_line":"Swift Plugin Guide"},{"line_number":18,"context_line":"******************"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Integration is provided via a plugin. There are multiple configuration"},{"line_number":21,"context_line":"settings required for proper indexing and incremental updates. Some of the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7af24918_3d4c8b9d","line":18,"updated":"2016-03-02 23:20:37.000000000","message":"Discussions: Add an RST warning here that Swift is currently experimental and notifications aren\u0027t fully supported.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"******************"},{"line_number":17,"context_line":"Swift Plugin Guide"},{"line_number":18,"context_line":"******************"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Integration is provided via a plugin. There are multiple configuration"},{"line_number":21,"context_line":"settings required for proper indexing and incremental updates. Some of the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7af24918_efe77e44","line":18,"in_reply_to":"7af24918_3d4c8b9d","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Users with the Keystone role defined in reseller_admin_role (ResellerAdmin by default)"},{"line_number":77,"context_line":"can operate on any account. The auth system sets the request environ reseller_request"},{"line_number":78,"context_line":"to True if a request is coming from a user with this role"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Searchlight needs this role for its service user to access all the swift accounts"},{"line_number":81,"context_line":"for initial indexing."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7af24918_174323b3","line":78,"updated":"2016-03-03 23:27:16.000000000","message":"Nit: End the sentence with a period.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Users with the Keystone role defined in reseller_admin_role (ResellerAdmin by default)"},{"line_number":77,"context_line":"can operate on any account. The auth system sets the request environ reseller_request"},{"line_number":78,"context_line":"to True if a request is coming from a user with this role"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Searchlight needs this role for its service user to access all the swift accounts"},{"line_number":81,"context_line":"for initial indexing."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7af24918_0f458a16","line":78,"in_reply_to":"7af24918_174323b3","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"The Swift service currently doesn\u0027t send notifications."},{"line_number":75,"context_line":"Apply this patch https://review.openstack.org/#/c/249471"},{"line_number":76,"context_line":"for adding notification middleware to swift."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"reseller_admin_role"}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_a2c5413d","line":75,"range":{"start_line":75,"start_character":6,"end_line":75,"end_character":10},"updated":"2016-03-08 22:39:20.000000000","message":"Did we agree to put this in the SL codebase? in which case the instructions below will need modifying.","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"The Swift service currently doesn\u0027t send notifications."},{"line_number":75,"context_line":"Apply this patch https://review.openstack.org/#/c/249471"},{"line_number":76,"context_line":"for adding notification middleware to swift."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"reseller_admin_role"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3afc51ec_15363103","line":75,"range":{"start_line":75,"start_character":6,"end_line":75,"end_character":10},"in_reply_to":"5aef4532_a2c5413d","updated":"2016-03-11 18:58:41.000000000","message":"Want it leave this instruction for now. Will have another patch which will be move this code to SL code repo and will change this instruction in that patch","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"7a5fc8ba6b6acb8a7fe0941c3a3c78b9e4097d43","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"::"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    openstack role add --user searchlight --project service ResellerAdmin"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"proxy-server.conf"}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_c039c9a5","line":90,"range":{"start_line":90,"start_character":30,"end_line":90,"end_character":41},"updated":"2016-03-10 23:20:44.000000000","message":"Let\u0027s clarify that the user and project here should be the ones used in service_credentials. The end goal is adding the ResellerAdmin role to that user and project","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"::"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    openstack role add --user searchlight --project service ResellerAdmin"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"proxy-server.conf"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3afc51ec_b525bdc3","line":90,"range":{"start_line":90,"start_character":30,"end_line":90,"end_character":41},"in_reply_to":"5aef4532_c039c9a5","updated":"2016-03-11 18:58:41.000000000","message":"Done","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":144,"context_line":"account/container/objects periodically to get updated information. The"},{"line_number":145,"context_line":"recommendation is to use the notifications."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"You should use the ``--no-delete`` option to prevent the index from"},{"line_number":148,"context_line":"temporarily not containing any data (which otherwise would happen with a full"},{"line_number":149,"context_line":"bulk indexing job)::"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_e204697f","line":147,"range":{"start_line":147,"start_character":11,"end_line":147,"end_character":14},"updated":"2016-03-08 22:39:20.000000000","message":"Note that this will mean that deletions are not represented in the index.","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":144,"context_line":"account/container/objects periodically to get updated information. The"},{"line_number":145,"context_line":"recommendation is to use the notifications."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"You should use the ``--no-delete`` option to prevent the index from"},{"line_number":148,"context_line":"temporarily not containing any data (which otherwise would happen with a full"},{"line_number":149,"context_line":"bulk indexing job)::"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"3afc51ec_7544d573","line":147,"range":{"start_line":147,"start_character":11,"end_line":147,"end_character":14},"in_reply_to":"5aef4532_0040d105","updated":"2016-03-11 18:58:41.000000000","message":"If that patch lands first, will remove it.","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"7a5fc8ba6b6acb8a7fe0941c3a3c78b9e4097d43","unresolved":false,"context_lines":[{"line_number":144,"context_line":"account/container/objects periodically to get updated information. The"},{"line_number":145,"context_line":"recommendation is to use the notifications."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"You should use the ``--no-delete`` option to prevent the index from"},{"line_number":148,"context_line":"temporarily not containing any data (which otherwise would happen with a full"},{"line_number":149,"context_line":"bulk indexing job)::"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_0040d105","line":147,"range":{"start_line":147,"start_character":11,"end_line":147,"end_character":14},"in_reply_to":"5aef4532_e204697f","updated":"2016-03-10 23:20:44.000000000","message":"I\u0027ve also just realized that this won\u0027t be an option with zero downtime. The --no-delete option will be going away","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"862e909f9c3f7ab8ab057be52415657d22878cc6","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    [resource_plugin:os_swift_account]"},{"line_number":50,"context_line":"    enabled \u003d true"},{"line_number":51,"context_line":"    index_name \u003d searchlight"},{"line_number":52,"context_line":"    #Specify same value as in swift proxy config for reseller_prefix"},{"line_number":53,"context_line":"    reseller_prefix \u003d AUTH_"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_9bd1ccfe","line":51,"updated":"2016-03-15 19:22:30.000000000","message":"See comment on index name below.","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"16d2713588abde32292baf7f021517bac7450f76","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    [resource_plugin:os_swift_account]"},{"line_number":50,"context_line":"    enabled \u003d true"},{"line_number":51,"context_line":"    index_name \u003d searchlight"},{"line_number":52,"context_line":"    #Specify same value as in swift proxy config for reseller_prefix"},{"line_number":53,"context_line":"    reseller_prefix \u003d AUTH_"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_fb673023","line":51,"in_reply_to":"1af94dfe_9bd1ccfe","updated":"2016-03-15 19:38:41.000000000","message":"Done","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"862e909f9c3f7ab8ab057be52415657d22878cc6","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    enabled \u003d true"},{"line_number":51,"context_line":"    index_name \u003d searchlight"},{"line_number":52,"context_line":"    #Specify same value as in swift proxy config for reseller_prefix"},{"line_number":53,"context_line":"    reseller_prefix \u003d AUTH_"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Plugin: OS::Swift::Container"},{"line_number":56,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_9b20ac4b","line":53,"updated":"2016-03-15 19:22:30.000000000","message":"should this be in local.conf example?","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"92bba153b0df57b24f58f682cbb641a74c3c8d26","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    enabled \u003d true"},{"line_number":51,"context_line":"    index_name \u003d searchlight"},{"line_number":52,"context_line":"    #Specify same value as in swift proxy config for reseller_prefix"},{"line_number":53,"context_line":"    reseller_prefix \u003d AUTH_"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Plugin: OS::Swift::Container"},{"line_number":56,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_c29368a2","line":53,"in_reply_to":"1af94dfe_7fb02bf5","updated":"2016-03-15 21:20:54.000000000","message":"Ultimately we\u0027ll need to support multiple reseller_prefixes. It\u0027s useful for admins for e.g. glance and cinder to have backend stores indexed.","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"16d2713588abde32292baf7f021517bac7450f76","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    enabled \u003d true"},{"line_number":51,"context_line":"    index_name \u003d searchlight"},{"line_number":52,"context_line":"    #Specify same value as in swift proxy config for reseller_prefix"},{"line_number":53,"context_line":"    reseller_prefix \u003d AUTH_"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Plugin: OS::Swift::Container"},{"line_number":56,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_7fb02bf5","line":53,"in_reply_to":"1af94dfe_9b20ac4b","updated":"2016-03-15 19:38:41.000000000","message":"yeah why not since that\u0027s the default and easy to change if it changed in keystone.","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"ad5b063506bbfabc52b147785b5d077c5c1c87e7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    enabled \u003d true"},{"line_number":51,"context_line":"    index_name \u003d searchlight"},{"line_number":52,"context_line":"    #Specify same value as in swift proxy config for reseller_prefix"},{"line_number":53,"context_line":"    reseller_prefix \u003d AUTH_"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Plugin: OS::Swift::Container"},{"line_number":56,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_e848fe5d","line":53,"in_reply_to":"1af94dfe_c29368a2","updated":"2016-03-15 23:42:45.000000000","message":"The key will remain same for multiple prefixes - it will be comma separated.","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"862e909f9c3f7ab8ab057be52415657d22878cc6","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    [resource_plugin:os_swift_container]"},{"line_number":60,"context_line":"    enabled \u003d true"},{"line_number":61,"context_line":"    index_name \u003d searchlight"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Plugin: OS::Swift::Object"},{"line_number":64,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_5bb0e4dd","line":61,"updated":"2016-03-15 19:22:30.000000000","message":"index_name is no longer supported.\n\nI am really wondering if we should suggest \n\nresource_group_name \u003d searchlight-swift\n\nfor swift. Under the theory that there will be so many of them and we\u0027d like to keep indexing operations separated as a best practice.  If so, then same should be reflected in plugins.rst and local.conf sample.\n\nPotentially even hard code a different default.","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"92bba153b0df57b24f58f682cbb641a74c3c8d26","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    [resource_plugin:os_swift_container]"},{"line_number":60,"context_line":"    enabled \u003d true"},{"line_number":61,"context_line":"    index_name \u003d searchlight"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Plugin: OS::Swift::Object"},{"line_number":64,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_c2ac08f0","line":61,"in_reply_to":"1af94dfe_3bbb5874","updated":"2016-03-15 21:20:54.000000000","message":"I agree with suggesting different. For a default configuration (devstack) I doubt people are running gigantic swift clusters, so i could go either way. I\u0027m more swayed by the experimental aspect than performance","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"16d2713588abde32292baf7f021517bac7450f76","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    [resource_plugin:os_swift_container]"},{"line_number":60,"context_line":"    enabled \u003d true"},{"line_number":61,"context_line":"    index_name \u003d searchlight"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Plugin: OS::Swift::Object"},{"line_number":64,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_3bbb5874","line":61,"in_reply_to":"1af94dfe_5bb0e4dd","updated":"2016-03-15 19:38:41.000000000","message":"Thats a good idea to have different resource group for swift with it large set of data vs other plugins.","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"862e909f9c3f7ab8ab057be52415657d22878cc6","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    [resource_plugin:os_swift_object]"},{"line_number":68,"context_line":"    enabled \u003d true"},{"line_number":69,"context_line":"    index_name \u003d searchlight"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Swift Configuration"},{"line_number":72,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_9bca6c4e","line":69,"updated":"2016-03-15 19:22:30.000000000","message":"Same comment on index name as above.","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"16d2713588abde32292baf7f021517bac7450f76","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    [resource_plugin:os_swift_object]"},{"line_number":68,"context_line":"    enabled \u003d true"},{"line_number":69,"context_line":"    index_name \u003d searchlight"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Swift Configuration"},{"line_number":72,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_7bade030","line":69,"in_reply_to":"1af94dfe_9bca6c4e","updated":"2016-03-15 19:38:41.000000000","message":"Done","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"e6e993c5ef64f29713c7ce0562bcc18ad1ccd319","unresolved":false,"context_lines":[{"line_number":97,"context_line":"Notifications must be configured properly for searchlight to process"},{"line_number":98,"context_line":"incremental updates. Use the following::"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    #Add the following new section"},{"line_number":101,"context_line":"    [filter:oslomiddleware]"},{"line_number":102,"context_line":"    paste.filter_factory \u003d swift.common.middleware.oslo_notifications:filter_factory"},{"line_number":103,"context_line":"    publisher_id \u003d swift.localhost"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_1bbc9c6b","line":100,"updated":"2016-03-15 19:26:20.000000000","message":"can we / should we put this into the devstack local.conf sample.  i lean towards no..., but maybe we should be a comment in the devstack setup or local.conf for swift telling them to see docs for enabling updates.","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"ad5b063506bbfabc52b147785b5d077c5c1c87e7","unresolved":false,"context_lines":[{"line_number":97,"context_line":"Notifications must be configured properly for searchlight to process"},{"line_number":98,"context_line":"incremental updates. Use the following::"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    #Add the following new section"},{"line_number":101,"context_line":"    [filter:oslomiddleware]"},{"line_number":102,"context_line":"    paste.filter_factory \u003d swift.common.middleware.oslo_notifications:filter_factory"},{"line_number":103,"context_line":"    publisher_id \u003d swift.localhost"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_a8da7676","line":100,"in_reply_to":"1af94dfe_1bbc9c6b","updated":"2016-03-15 23:42:45.000000000","message":"Added to local.conf as comment under swift","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"be3d153e6f1b909f6cad1e754c62d27e52fd25e3","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    publisher_id \u003d swift.localhost"},{"line_number":104,"context_line":"    transport_url \u003d rabbit://user:password@rabbitip:rabbitport/"},{"line_number":105,"context_line":"    notification_driver \u003d messaging"},{"line_number":106,"context_line":"    notification_topics \u003d notifications"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    #Add oslomiddleware to pipeline:main see example below."},{"line_number":109,"context_line":"    [pipeline:main]"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_df721f7c","line":106,"updated":"2016-03-15 19:41:37.000000000","message":"ValueError: invalid literal for int() with base 10: \u0027rabbitport\u0027","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"9f7d1b99ef29e9190922c8aae9893b629e3cf46b","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    publisher_id \u003d swift.localhost"},{"line_number":104,"context_line":"    transport_url \u003d rabbit://user:password@rabbitip:rabbitport/"},{"line_number":105,"context_line":"    notification_driver \u003d messaging"},{"line_number":106,"context_line":"    notification_topics \u003d notifications"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    #Add oslomiddleware to pipeline:main see example below."},{"line_number":109,"context_line":"    [pipeline:main]"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_e5202e4c","line":106,"in_reply_to":"1af94dfe_df721f7c","updated":"2016-03-15 20:20:45.000000000","message":"Above error was due to transport_url not being obvious that it needed substitution values.\n\nnotifications_topics should be \n\nnotification_topics \u003d searchlight_indexer","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"ad5b063506bbfabc52b147785b5d077c5c1c87e7","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    publisher_id \u003d swift.localhost"},{"line_number":104,"context_line":"    transport_url \u003d rabbit://user:password@rabbitip:rabbitport/"},{"line_number":105,"context_line":"    notification_driver \u003d messaging"},{"line_number":106,"context_line":"    notification_topics \u003d notifications"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    #Add oslomiddleware to pipeline:main see example below."},{"line_number":109,"context_line":"    [pipeline:main]"}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_c896e293","line":106,"in_reply_to":"1af94dfe_e5202e4c","updated":"2016-03-15 23:42:45.000000000","message":"yeah my mistake. copied it over from messaging middleware patch","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"be3d153e6f1b909f6cad1e754c62d27e52fd25e3","unresolved":false,"context_lines":[{"line_number":137,"context_line":"the initial indexing."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"The patch (https://review.openstack.org/#/c/249471) implements this feature."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Searchlight developers/installers should apply the above patch in Swift when"},{"line_number":142,"context_line":"using Searchlight with the Swift Mitaka release."},{"line_number":143,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_5f5e0fea","line":140,"updated":"2016-03-15 19:41:37.000000000","message":"We might mention the for devstack, the easiest way to test is:\n\ncd /opt/stack/swift\ngit review -x 249471","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"ad5b063506bbfabc52b147785b5d077c5c1c87e7","unresolved":false,"context_lines":[{"line_number":137,"context_line":"the initial indexing."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"The patch (https://review.openstack.org/#/c/249471) implements this feature."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Searchlight developers/installers should apply the above patch in Swift when"},{"line_number":142,"context_line":"using Searchlight with the Swift Mitaka release."},{"line_number":143,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"1af94dfe_286306b3","line":140,"in_reply_to":"1af94dfe_5f5e0fea","updated":"2016-03-15 23:42:45.000000000","message":"Done","commit_id":"01c3e92afc082781845ba7344306a8946d209542"}],"releasenotes/notes/bp-swift-plugin-f19776bcd35ff69d.yaml":[{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    -\u003eOS::Swift::Container"},{"line_number":10,"context_line":"    --\u003eOS::Swift::Object"},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - The Swift service currently doesnt send notifications."},{"line_number":13,"context_line":"    Follow the swift plugin documentation for current"},{"line_number":14,"context_line":"    solutions."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7af24918_f2c84557","line":12,"updated":"2016-03-03 23:27:16.000000000","message":"Nit: doesn\u0027t","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    -\u003eOS::Swift::Container"},{"line_number":10,"context_line":"    --\u003eOS::Swift::Object"},{"line_number":11,"context_line":"issues:"},{"line_number":12,"context_line":"  - The Swift service currently doesnt send notifications."},{"line_number":13,"context_line":"    Follow the swift plugin documentation for current"},{"line_number":14,"context_line":"    solutions."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7af24918_4f47921d","line":12,"in_reply_to":"7af24918_f2c84557","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"}],"searchlight/common/utils.py":[{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":462,"context_line":"                    \"Error loading %(plugin_type)s; expected routing plugin \""},{"line_number":463,"context_line":"                    \"%(routing_type)s is not loaded\" %"},{"line_number":464,"context_line":"                    {\"plugin_type\": plugin_type, \"routing_type\": routing_type})"},{"line_number":465,"context_line":"            else:"},{"line_number":466,"context_line":"                if routing_plugin.obj.requires_role_separation:"},{"line_number":467,"context_line":"                    LOG.debug(\"Setting up link between routing (%s) \""},{"line_number":468,"context_line":"                              \"and child (%s)\" % (routing_type, plugin_type))"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_d48a5663","line":465,"updated":"2016-03-03 23:27:16.000000000","message":"I\u0027m not sure what this else is for. The role separation doesn\u0027t seem to have any impact on the parent/child routing. It seems the else and if statements should be removed and the log message kept.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":462,"context_line":"                    \"Error loading %(plugin_type)s; expected routing plugin \""},{"line_number":463,"context_line":"                    \"%(routing_type)s is not loaded\" %"},{"line_number":464,"context_line":"                    {\"plugin_type\": plugin_type, \"routing_type\": routing_type})"},{"line_number":465,"context_line":"            else:"},{"line_number":466,"context_line":"                if routing_plugin.obj.requires_role_separation:"},{"line_number":467,"context_line":"                    LOG.debug(\"Setting up link between routing (%s) \""},{"line_number":468,"context_line":"                              \"and child (%s)\" % (routing_type, plugin_type))"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_af6bb684","line":465,"in_reply_to":"7af24918_d48a5663","updated":"2016-03-05 00:14:44.000000000","message":"This is not required now since routing will be another patch.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"}],"searchlight/elasticsearch/plugins/openstack_clients.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"85eadb13bccd9ac99427aaff458bca05630fdb90","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    return wrapper"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"def get_swiftclient():"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    global _swiftclient"},{"line_number":146,"context_line":"    if _swiftclient:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a68dd71_c498987a","line":143,"range":{"start_line":143,"start_character":4,"end_line":143,"end_character":19},"updated":"2016-01-25 16:23:41.000000000","message":"Let\u0027s have a poke around to see if swiftclient is switching to keystone sessions - https://etherpad.openstack.org/p/keystone-auth-session. Looks like they committed to it in mitaka but it\u0027s not in any released version yet","commit_id":"5b26b3dca4e343d54e9c3e11538c36005e5659ab"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_9d6631eb","line":1,"updated":"2016-03-03 23:27:16.000000000","message":"Add 2016.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_cf08c2dc","line":1,"in_reply_to":"7af24918_9d6631eb","updated":"2016-03-05 00:14:44.000000000","message":"This file was added before 2016 so not sure what\u0027s the process on updated year on all the files. Anyway we should do that as part of separate patch for all files.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    )"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"# Swift still needs special handling because it doesnt support"},{"line_number":126,"context_line":"# keystone sessions. Rather than maintain two codepaths, we\u0027ll do this"},{"line_number":127,"context_line":"_swiftclient \u003d None"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_f4c79261","line":125,"updated":"2016-03-03 23:27:16.000000000","message":"Nit: doesn\u0027t","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    )"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"# Swift still needs special handling because it doesnt support"},{"line_number":126,"context_line":"# keystone sessions. Rather than maintain two codepaths, we\u0027ll do this"},{"line_number":127,"context_line":"_swiftclient \u003d None"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_2f25e65b","line":125,"in_reply_to":"7af24918_f4c79261","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    )"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"# Swift still needs special handling because it doesn\u0027t support"},{"line_number":97,"context_line":"# keystone sessions. Rather than maintain two codepaths, we\u0027ll do this"},{"line_number":98,"context_line":"_swiftclient \u003d None"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_021075a7","line":97,"range":{"start_line":97,"start_character":21,"end_line":97,"end_character":27},"updated":"2016-03-08 22:39:20.000000000","message":"Make a note that this is in-progress at https://bugs.launchpad.net/python-swiftclient/+bug/1518938 and will likely be fixed in newton.","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    global _swiftclient"},{"line_number":117,"context_line":"    if _swiftclient:"},{"line_number":118,"context_line":"        return _swiftclient"},{"line_number":119,"context_line":"    _get_session()"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    service_type \u003d \u0027object-store\u0027"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_fb6ec62d","line":119,"range":{"start_line":119,"start_character":4,"end_line":119,"end_character":16},"updated":"2016-03-08 22:39:20.000000000","message":"Not using the return value?","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":146,"context_line":"# Cached members will be equal to # of accounts at max."},{"line_number":147,"context_line":"def get_swiftclient_st(storageurl):"},{"line_number":148,"context_line":"    service_type \u003d \u0027object-store\u0027"},{"line_number":149,"context_line":"    _get_session()"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    os_options \u003d {"},{"line_number":152,"context_line":"        \u0027service_type\u0027: service_type,"}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_3bc66e48","line":149,"range":{"start_line":149,"start_character":4,"end_line":149,"end_character":16},"updated":"2016-03-08 22:39:20.000000000","message":"Is this intentional? the return value\u0027s not being used.","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"}],"searchlight/elasticsearch/plugins/swift/__init__.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"76cfd88d8e7c67f1c2f6163f9bfd9e3ca29f3c87","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    return document"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"# TODO(lakshmiS): Check if there is a better way to list accounts in swift"},{"line_number":87,"context_line":"@openstack_clients.clear_cached_swiftclient_on_unauthorized"},{"line_number":88,"context_line":"def get_swift_accounts():"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_2eee76b4","line":86,"range":{"start_line":86,"start_character":7,"end_line":86,"end_character":15},"updated":"2016-01-29 19:51:59.000000000","message":"There\u0027s a lot of duplication in these sections. https://review.openstack.org/#/c/267864/ flips things around such that parents index their children, and might make more sense here","commit_id":"fa566290c968355c86ac61f9bb206e01435e0695"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"76cfd88d8e7c67f1c2f6163f9bfd9e3ca29f3c87","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            # 0 index has account summary"},{"line_number":105,"context_line":"            account \u003d swift_client.get_account()[0]"},{"line_number":106,"context_line":"            account[\u0027name\u0027] \u003d tenant.name"},{"line_number":107,"context_line":"            account[\u0027id\u0027] \u003d \"/\" + tenant_id"},{"line_number":108,"context_line":"            accounts.append(account)"},{"line_number":109,"context_line":"        except swiftclient.ClientException:"},{"line_number":110,"context_line":"            LOG.error(_LE(\"Could not get account info for %s; forbidden\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_0ee61a44","line":107,"range":{"start_line":107,"start_character":27,"end_line":107,"end_character":28},"updated":"2016-01-29 19:51:59.000000000","message":"Is this slash leftover from a copy n paste?","commit_id":"fa566290c968355c86ac61f9bb206e01435e0695"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"76cfd88d8e7c67f1c2f6163f9bfd9e3ca29f3c87","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    storage_url \u003d openstack_clients.get_swiftclient().get_auth()[0]"},{"line_number":120,"context_line":"    ks_client \u003d openstack_clients.get_keystoneclient()"},{"line_number":121,"context_line":"    tenants \u003d ks_client.tenants.list()"},{"line_number":122,"context_line":"    auth_prefix \u003d \"AUTH_\""},{"line_number":123,"context_line":"    auth_index \u003d storage_url.index(auth_prefix)"},{"line_number":124,"context_line":"    auth_url_start \u003d storage_url[:auth_index]"},{"line_number":125,"context_line":"    containers \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_6eca2e50","line":122,"range":{"start_line":122,"start_character":4,"end_line":122,"end_character":15},"updated":"2016-01-29 19:51:59.000000000","message":"This will need to be configurable i think. I\u0027m not sure if multiple auth prefixes can coexist","commit_id":"fa566290c968355c86ac61f9bb206e01435e0695"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"76cfd88d8e7c67f1c2f6163f9bfd9e3ca29f3c87","unresolved":false,"context_lines":[{"line_number":142,"context_line":"                        \"/\" + tenant_id + \"/\" + container[\u0027name\u0027]"},{"line_number":143,"context_line":"                    container_details[\u0027name\u0027] \u003d container[\u0027name\u0027]"},{"line_number":144,"context_line":"                    container_details[\u0027account-name\u0027] \u003d tenant.name"},{"line_number":145,"context_line":"                    container_details[\u0027account-id\u0027] \u003d \"/\" + tenant_id"},{"line_number":146,"context_line":"                    containers.append(container_details)"},{"line_number":147,"context_line":"                except swiftclient.ClientException:"},{"line_number":148,"context_line":"                    LOG.error(_LE(\"Could not get container info for %s;\""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_0e54dac7","line":145,"range":{"start_line":145,"start_character":54,"end_line":145,"end_character":57},"updated":"2016-01-29 19:51:59.000000000","message":"Don\u0027t understand why the slashes","commit_id":"fa566290c968355c86ac61f9bb206e01435e0695"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"76cfd88d8e7c67f1c2f6163f9bfd9e3ca29f3c87","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                        objects.append(object)"},{"line_number":192,"context_line":"                except swiftclient.ClientException:"},{"line_number":193,"context_line":"                    LOG.error(_LE(\"Could not get container info for %s; \""},{"line_number":194,"context_line":"                                  \"forbidden.\") % container[\u0027name\u0027])"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        except swiftclient.ClientException:"},{"line_number":197,"context_line":"            LOG.error(_LE(\"Could not get account info for %s; \""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_2ebaf60a","line":194,"range":{"start_line":194,"start_character":35,"end_line":194,"end_character":44},"updated":"2016-01-29 19:51:59.000000000","message":"Not necessarily forbidden. Not sure if we should swallow errors at all during indexing.","commit_id":"fa566290c968355c86ac61f9bb206e01435e0695"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":37,"context_line":"# (objects -\u003e containers -\u003e accounts)"},{"line_number":38,"context_line":"_accounts \u003d []"},{"line_number":39,"context_line":"_containers \u003d []"},{"line_number":40,"context_line":"_objects \u003d []"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"dateformat \u003d \"%a, %d %b %Y %H:%M:%S %Z\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_631e4c60","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":8},"updated":"2016-02-29 19:54:08.000000000","message":"Keeping the entire listing in memory is not going to scale well","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":37,"context_line":"# (objects -\u003e containers -\u003e accounts)"},{"line_number":38,"context_line":"_accounts \u003d []"},{"line_number":39,"context_line":"_containers \u003d []"},{"line_number":40,"context_line":"_objects \u003d []"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"dateformat \u003d \"%a, %d %b %Y %H:%M:%S %Z\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_52a2a49b","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":8},"in_reply_to":"9aed3d3a_631e4c60","updated":"2016-03-04 21:27:06.000000000","message":"I will revert back to how it was in previous patch where there was repetition but with less memory requirement. Its better to still cache accounts(with mininum info required) since those should not be high.","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def serialize_swift_account(account):"},{"line_number":46,"context_line":"    metadocument \u003d {k: account.get(k, None) for k, v in account.items()"},{"line_number":47,"context_line":"                    if k.lower().startswith(\"x-account-meta\")}"},{"line_number":48,"context_line":"    account_fields \u003d (\u0027id\u0027, \u0027name\u0027)"},{"line_number":49,"context_line":"    document \u003d {f: account.get(f, None) for f in account_fields}"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_91b1164a","line":46,"range":{"start_line":46,"start_character":37,"end_line":46,"end_character":38},"updated":"2016-02-29 19:54:08.000000000","message":"k: v for k, v in six.iteritems(account)\n\nSame for other instances of this below","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def serialize_swift_account(account):"},{"line_number":46,"context_line":"    metadocument \u003d {k: account.get(k, None) for k, v in account.items()"},{"line_number":47,"context_line":"                    if k.lower().startswith(\"x-account-meta\")}"},{"line_number":48,"context_line":"    account_fields \u003d (\u0027id\u0027, \u0027name\u0027)"},{"line_number":49,"context_line":"    document \u003d {f: account.get(f, None) for f in account_fields}"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_92ac2c8e","line":46,"range":{"start_line":46,"start_character":37,"end_line":46,"end_character":38},"in_reply_to":"9aed3d3a_91b1164a","updated":"2016-03-04 21:27:06.000000000","message":"Done","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    # though the swift api documentation says it returns it"},{"line_number":91,"context_line":"    # Notifications for container send this field as \u0027updated_at\u0027 instead"},{"line_number":92,"context_line":"    # of \u0027last_modified\u0027"},{"line_number":93,"context_line":"    if container.get(\u0027last_modified\u0027):"},{"line_number":94,"context_line":"        document[\u0027updated_at\u0027] \u003d container[\u0027last_modified\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    if container.get(\u0027updated_at\u0027):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_863efe25","line":93,"range":{"start_line":93,"start_character":20,"end_line":93,"end_character":22},"updated":"2016-02-29 19:54:08.000000000","message":"Last modified will be an RFC2616-format datetime: \u0027Fri, 29 Jan 2016 23:34:29 GMT\u0027. Elasticsearch doesn\u0027t support this from the looks of https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html\n\nI don\u0027t know what updated_at is meant to be.","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    # though the swift api documentation says it returns it"},{"line_number":91,"context_line":"    # Notifications for container send this field as \u0027updated_at\u0027 instead"},{"line_number":92,"context_line":"    # of \u0027last_modified\u0027"},{"line_number":93,"context_line":"    if container.get(\u0027last_modified\u0027):"},{"line_number":94,"context_line":"        document[\u0027updated_at\u0027] \u003d container[\u0027last_modified\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    if container.get(\u0027updated_at\u0027):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_126c9c07","line":93,"range":{"start_line":93,"start_character":20,"end_line":93,"end_character":22},"in_reply_to":"9aed3d3a_863efe25","updated":"2016-03-04 21:27:06.000000000","message":"last_modified will be converted to iso8601 format before indexing, but get_container doesn\u0027t send it as of today, so \nI am inclined to remove this. I kept it since notifications for container send this as updated_at \n(u\u0027updated_at\u0027: u\u00272016-02-25T21:17:59.538910\u0027). I am not sure where does notifications get updated_at information from.","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    return serialize_swift_container(container)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"def serialize_swift_object(object):"},{"line_number":112,"context_line":"    metadocument \u003d {k: object.get(k, None) for k, v in object.items()"},{"line_number":113,"context_line":"                    if k.lower().startswith(\"x-object-meta\")}"},{"line_number":114,"context_line":"    object_fields \u003d (\u0027id\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_261a927d","line":111,"range":{"start_line":111,"start_character":27,"end_line":111,"end_character":33},"updated":"2016-02-29 19:54:08.000000000","message":"Best not to use \u0027object\u0027; it has a built-in meaning in python","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    return serialize_swift_container(container)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"def serialize_swift_object(object):"},{"line_number":112,"context_line":"    metadocument \u003d {k: object.get(k, None) for k, v in object.items()"},{"line_number":113,"context_line":"                    if k.lower().startswith(\"x-object-meta\")}"},{"line_number":114,"context_line":"    object_fields \u003d (\u0027id\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_bc9f0f4f","line":111,"range":{"start_line":111,"start_character":27,"end_line":111,"end_character":33},"in_reply_to":"9aed3d3a_261a927d","updated":"2016-03-04 21:27:06.000000000","message":"Done","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"def serialize_swift_object_notification(object):"},{"line_number":139,"context_line":"    object[\u0027container_id\u0027] \u003d object[\u0027account\u0027] + ID_SEP + object[\u0027container\u0027]"},{"line_number":140,"context_line":"    object[\u0027id\u0027] \u003d object[\u0027container_id\u0027] + ID_SEP + object[\u0027object\u0027]"},{"line_number":141,"context_line":"    object[\u0027name\u0027] \u003d object[\u0027object\u0027]"},{"line_number":142,"context_line":"    object[\u0027account\u0027] \u003d object[\u0027project_name\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_660dbae7","line":139,"range":{"start_line":139,"start_character":12,"end_line":139,"end_character":24},"updated":"2016-02-29 19:54:08.000000000","message":"object[\u0027account\u0027] will include the auth prefix (AUTH_). It\u0027s not necessarily bad to include the prefix but get_objects doesn\u0027t so the ids will end up different","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"def serialize_swift_object_notification(object):"},{"line_number":139,"context_line":"    object[\u0027container_id\u0027] \u003d object[\u0027account\u0027] + ID_SEP + object[\u0027container\u0027]"},{"line_number":140,"context_line":"    object[\u0027id\u0027] \u003d object[\u0027container_id\u0027] + ID_SEP + object[\u0027object\u0027]"},{"line_number":141,"context_line":"    object[\u0027name\u0027] \u003d object[\u0027object\u0027]"},{"line_number":142,"context_line":"    object[\u0027account\u0027] \u003d object[\u0027project_name\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_ed5b11f5","line":139,"range":{"start_line":139,"start_character":12,"end_line":139,"end_character":24},"in_reply_to":"9aed3d3a_660dbae7","updated":"2016-03-04 21:27:06.000000000","message":"object[\u0027account\u0027] is name not and id. object[\u0027account_id\u0027] equals to object[\u0027project_id\u0027] which has id without prefix.","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    object[\u0027account_id\u0027] \u003d object[\u0027project_id\u0027]"},{"line_number":144,"context_line":"    object[\u0027container\u0027] \u003d object[\u0027container\u0027]"},{"line_number":145,"context_line":"    object[\u0027etag\u0027] \u003d object[\u0027hash\u0027]"},{"line_number":146,"context_line":"    object[\u0027content-length\u0027] \u003d object[\u0027content_length\u0027]"},{"line_number":147,"context_line":"    return serialize_swift_object(object)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_6642da69","line":146,"range":{"start_line":146,"start_character":19,"end_line":146,"end_character":20},"updated":"2016-02-29 19:54:08.000000000","message":"We can make the notification handler more consistent with the API to avoid the double-mapping; that was my original aim but i obviously missed in some respects","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    object[\u0027account_id\u0027] \u003d object[\u0027project_id\u0027]"},{"line_number":144,"context_line":"    object[\u0027container\u0027] \u003d object[\u0027container\u0027]"},{"line_number":145,"context_line":"    object[\u0027etag\u0027] \u003d object[\u0027hash\u0027]"},{"line_number":146,"context_line":"    object[\u0027content-length\u0027] \u003d object[\u0027content_length\u0027]"},{"line_number":147,"context_line":"    return serialize_swift_object(object)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_cd99f5d2","line":146,"range":{"start_line":146,"start_character":19,"end_line":146,"end_character":20},"in_reply_to":"9aed3d3a_6642da69","updated":"2016-03-04 21:27:06.000000000","message":"Yeah its easier that way. Will have another patch for that in future","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":150,"context_line":"@openstack_clients.clear_cached_swiftclient_on_unauthorized"},{"line_number":151,"context_line":"def _get_storage_url_prefix():"},{"line_number":152,"context_line":"    storage_url \u003d openstack_clients.get_swiftclient().get_auth()[0]"},{"line_number":153,"context_line":"    return storage_url[:storage_url.index(AUTH_PREFIX)] + AUTH_PREFIX"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"def get_swift_accounts():"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_0065b6b3","line":153,"range":{"start_line":153,"start_character":11,"end_line":153,"end_character":22},"updated":"2016-02-29 19:54:08.000000000","message":"This needs a comment explaining what it\u0027s doing","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":150,"context_line":"@openstack_clients.clear_cached_swiftclient_on_unauthorized"},{"line_number":151,"context_line":"def _get_storage_url_prefix():"},{"line_number":152,"context_line":"    storage_url \u003d openstack_clients.get_swiftclient().get_auth()[0]"},{"line_number":153,"context_line":"    return storage_url[:storage_url.index(AUTH_PREFIX)] + AUTH_PREFIX"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"def get_swift_accounts():"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_0d0e3de5","line":153,"range":{"start_line":153,"start_character":11,"end_line":153,"end_character":22},"in_reply_to":"9aed3d3a_0065b6b3","updated":"2016-03-04 21:27:06.000000000","message":"Done","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":170,"context_line":"    global _accounts, _containers, _objects"},{"line_number":171,"context_line":"    ks_client \u003d openstack_clients.get_keystoneclient()"},{"line_number":172,"context_line":"    for tenant in ks_client.tenants.list():"},{"line_number":173,"context_line":"        storage_url \u003d _get_storage_url_prefix() + tenant.id"},{"line_number":174,"context_line":"        sclient \u003d openstack_clients.get_swiftclient_st(storage_url)"},{"line_number":175,"context_line":"        try:"},{"line_number":176,"context_line":"            # 0 index has account summary"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_51566ece","line":173,"range":{"start_line":173,"start_character":22,"end_line":173,"end_character":45},"updated":"2016-02-29 19:54:08.000000000","message":"What if an account has a different auth prefix? Even if we\u0027re not supporting it we should log something and move on or it\u0027ll fail out","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":170,"context_line":"    global _accounts, _containers, _objects"},{"line_number":171,"context_line":"    ks_client \u003d openstack_clients.get_keystoneclient()"},{"line_number":172,"context_line":"    for tenant in ks_client.tenants.list():"},{"line_number":173,"context_line":"        storage_url \u003d _get_storage_url_prefix() + tenant.id"},{"line_number":174,"context_line":"        sclient \u003d openstack_clients.get_swiftclient_st(storage_url)"},{"line_number":175,"context_line":"        try:"},{"line_number":176,"context_line":"            # 0 index has account summary"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_c8f1e06c","line":173,"range":{"start_line":173,"start_character":22,"end_line":173,"end_character":45},"in_reply_to":"9aed3d3a_51566ece","updated":"2016-03-04 21:27:06.000000000","message":"Changed it to configurable option","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            # 0 index has account summary"},{"line_number":177,"context_line":"            account \u003d sclient.get_account()[0]"},{"line_number":178,"context_line":"            account[\u0027name\u0027] \u003d tenant.name"},{"line_number":179,"context_line":"            account[\u0027id\u0027] \u003d tenant.id"},{"line_number":180,"context_line":"            _accounts.append(account)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"            # 1 index has container list"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_11d2265c","line":179,"range":{"start_line":179,"start_character":28,"end_line":179,"end_character":34},"updated":"2016-02-29 19:54:08.000000000","message":"We\u0027re sure stripping off the AUTH_ is ok?","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            # 0 index has account summary"},{"line_number":177,"context_line":"            account \u003d sclient.get_account()[0]"},{"line_number":178,"context_line":"            account[\u0027name\u0027] \u003d tenant.name"},{"line_number":179,"context_line":"            account[\u0027id\u0027] \u003d tenant.id"},{"line_number":180,"context_line":"            _accounts.append(account)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"            # 1 index has container list"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_888fd8cb","line":179,"range":{"start_line":179,"start_character":28,"end_line":179,"end_character":34},"in_reply_to":"9aed3d3a_11d2265c","updated":"2016-03-04 21:27:06.000000000","message":"Good point. Reverting to keeping AUTH_ in id since deployer can configure it to have SERVICE_ accounts.","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        except swiftclient.ClientException as sce:"},{"line_number":210,"context_line":"            LOG.error(_LE(\"Could not get account info for %s\") % storage_url)"},{"line_number":211,"context_line":"            raise sce"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    return _accounts, _containers, _objects"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_e001b2b0","line":211,"range":{"start_line":211,"start_character":18,"end_line":211,"end_character":21},"updated":"2016-02-29 19:54:08.000000000","message":"Just \u0027raise\u0027","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        except swiftclient.ClientException as sce:"},{"line_number":210,"context_line":"            LOG.error(_LE(\"Could not get account info for %s\") % storage_url)"},{"line_number":211,"context_line":"            raise sce"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    return _accounts, _containers, _objects"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_c83440fd","line":211,"range":{"start_line":211,"start_character":18,"end_line":211,"end_character":21},"in_reply_to":"9aed3d3a_e001b2b0","updated":"2016-03-04 21:27:06.000000000","message":"Done","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8c8ac2de5483c92ebc41c6275b7a70ba6612a96d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":55,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # lakshmiS: swfit get_account() doesnt include update datetime field(?)"},{"line_number":58,"context_line":"    if account.get(\u0027updated_at\u0027):"},{"line_number":59,"context_line":"        document[\u0027updated_at\u0027] \u003d account.get(\u0027updated_at\u0027)"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_e8ea3e73","line":57,"updated":"2016-02-29 17:54:28.000000000","message":"do we have to set updated_at from created_at if not specified? can\u0027t remember if each plugin does this or is normalized by base.","commit_id":"b8c3db7eafc3e5e8cb982f5200ddab4b8a4d0845"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8c8ac2de5483c92ebc41c6275b7a70ba6612a96d","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    # (laskhmiS) get_container doesnt include last_modified field even"},{"line_number":90,"context_line":"    # though the swift api documentation says it returns it"},{"line_number":91,"context_line":"    # Notifications for container send this field as \u0027updated_at\u0027 instead"},{"line_number":92,"context_line":"    # of \u0027last_modified\u0027"},{"line_number":93,"context_line":"    if container.get(\u0027last_modified\u0027):"},{"line_number":94,"context_line":"        document[\u0027updated_at\u0027] \u003d container[\u0027last_modified\u0027]"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_4827eac9","line":92,"updated":"2016-02-29 17:54:28.000000000","message":"Pardon my lack of testing to see what is going in, but we should include all original swift fields as well as any extra we add.  There are swift specific UIs that might depend on those fields.  So, searchlight should be additive.","commit_id":"b8c3db7eafc3e5e8cb982f5200ddab4b8a4d0845"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8c8ac2de5483c92ebc41c6275b7a70ba6612a96d","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    document \u003d {f: object.get(f, None) for f in object_fields}"},{"line_number":123,"context_line":"    document[\u0027content_type\u0027] \u003d object.get(\u0027content-type\u0027, None)"},{"line_number":124,"context_line":"    document[\u0027content_length\u0027] \u003d object.get(\u0027content-length\u0027, None)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    if object.get(\u0027x-timestamp\u0027):"},{"line_number":127,"context_line":"        timestamp \u003d float(object.get(\u0027x-timestamp\u0027))"},{"line_number":128,"context_line":"        document[\u0027created_at\u0027] \u003d \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_e32261a2","line":125,"updated":"2016-02-29 17:54:28.000000000","message":"See comments above.","commit_id":"b8c3db7eafc3e5e8cb982f5200ddab4b8a4d0845"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_3d9efdb8","line":1,"updated":"2016-03-03 23:27:16.000000000","message":"Change to 2016.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_4f1cb213","line":1,"in_reply_to":"7af24918_3d9efdb8","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":"_LE \u003d i18n._LE"},{"line_number":28,"context_line":"_LW \u003d i18n._LW"},{"line_number":29,"context_line":"_LI \u003d i18n._LI"},{"line_number":30,"context_line":"_ \u003d i18n._"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_3a9e03b9","line":28,"updated":"2016-03-03 23:27:16.000000000","message":"Not used.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":"_LE \u003d i18n._LE"},{"line_number":28,"context_line":"_LW \u003d i18n._LW"},{"line_number":29,"context_line":"_LI \u003d i18n._LI"},{"line_number":30,"context_line":"_ \u003d i18n._"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_4fe31206","line":28,"in_reply_to":"7af24918_3a9e03b9","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":"_LE \u003d i18n._LE"},{"line_number":28,"context_line":"_LW \u003d i18n._LW"},{"line_number":29,"context_line":"_LI \u003d i18n._LI"},{"line_number":30,"context_line":"_ \u003d i18n._"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"AUTH_PREFIX \u003d \"AUTH_\""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_1aa187f8","line":29,"updated":"2016-03-03 23:27:16.000000000","message":"Not used.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":"_LE \u003d i18n._LE"},{"line_number":28,"context_line":"_LW \u003d i18n._LW"},{"line_number":29,"context_line":"_LI \u003d i18n._LI"},{"line_number":30,"context_line":"_ \u003d i18n._"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"AUTH_PREFIX \u003d \"AUTH_\""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_8fed1af2","line":29,"in_reply_to":"7af24918_1aa187f8","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"AUTH_PREFIX \u003d \"AUTH_\""},{"line_number":33,"context_line":"ID_SEP \u003d \"/\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# accounts and containers will be populated when get_swift_objects() is called"},{"line_number":36,"context_line":"# its guaranteed for a child to be called before parent"},{"line_number":37,"context_line":"# (objects -\u003e containers -\u003e accounts)"},{"line_number":38,"context_line":"_accounts \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_3ab9e3cc","line":35,"updated":"2016-03-03 23:27:16.000000000","message":"The lists get populated when get_swift_accounts() is called, not get_swift_objects(). If the child is called first, does this imply the order will be get_swift_object() followed by get_swift_container() followed by get_swift_account(). The last method is the one that calls get_data().","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"AUTH_PREFIX \u003d \"AUTH_\""},{"line_number":33,"context_line":"ID_SEP \u003d \"/\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# accounts and containers will be populated when get_swift_objects() is called"},{"line_number":36,"context_line":"# its guaranteed for a child to be called before parent"},{"line_number":37,"context_line":"# (objects -\u003e containers -\u003e accounts)"},{"line_number":38,"context_line":"_accounts \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_6f7b6e2a","line":35,"in_reply_to":"7af24918_3ab9e3cc","updated":"2016-03-05 00:14:44.000000000","message":"Done. code was restructured but the comment at the top for _accounts is corrected","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"ID_SEP \u003d \"/\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# accounts and containers will be populated when get_swift_objects() is called"},{"line_number":36,"context_line":"# its guaranteed for a child to be called before parent"},{"line_number":37,"context_line":"# (objects -\u003e containers -\u003e accounts)"},{"line_number":38,"context_line":"_accounts \u003d []"},{"line_number":39,"context_line":"_containers \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_d75c181b","line":36,"updated":"2016-03-03 23:27:16.000000000","message":"nit: it\u0027s","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"ID_SEP \u003d \"/\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# accounts and containers will be populated when get_swift_objects() is called"},{"line_number":36,"context_line":"# its guaranteed for a child to be called before parent"},{"line_number":37,"context_line":"# (objects -\u003e containers -\u003e accounts)"},{"line_number":38,"context_line":"_accounts \u003d []"},{"line_number":39,"context_line":"_containers \u003d []"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_cf92824b","line":36,"in_reply_to":"7af24918_d75c181b","updated":"2016-03-05 00:14:44.000000000","message":"Comment has been changed in new code.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":55,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # lakshmiS: swfit get_account() doesnt include update datetime field(?)"},{"line_number":58,"context_line":"    if account.get(\u0027updated_at\u0027):"},{"line_number":59,"context_line":"        document[\u0027updated_at\u0027] \u003d account.get(\u0027updated_at\u0027)"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_d78a5863","line":57,"updated":"2016-03-03 23:27:16.000000000","message":"Nit: \"swift\" and \"doesn\u0027t\"","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":55,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # lakshmiS: swfit get_account() doesnt include update datetime field(?)"},{"line_number":58,"context_line":"    if account.get(\u0027updated_at\u0027):"},{"line_number":59,"context_line":"        document[\u0027updated_at\u0027] \u003d account.get(\u0027updated_at\u0027)"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_4fc6724a","line":57,"in_reply_to":"7af24918_d78a5863","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":87,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # (laskhmiS) get_container doesnt include last_modified field even"},{"line_number":90,"context_line":"    # though the swift api documentation says it returns it"},{"line_number":91,"context_line":"    # Notifications for container send this field as \u0027updated_at\u0027 instead"},{"line_number":92,"context_line":"    # of \u0027last_modified\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_57df6839","line":89,"updated":"2016-03-03 23:27:16.000000000","message":"Nit: doesn\u0027t","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":87,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # (laskhmiS) get_container doesnt include last_modified field even"},{"line_number":90,"context_line":"    # though the swift api documentation says it returns it"},{"line_number":91,"context_line":"    # Notifications for container send this field as \u0027updated_at\u0027 instead"},{"line_number":92,"context_line":"    # of \u0027last_modified\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_cfe0c2cf","line":89,"in_reply_to":"7af24918_57df6839","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    # Notifications for container send this field as \u0027updated_at\u0027 instead"},{"line_number":92,"context_line":"    # of \u0027last_modified\u0027"},{"line_number":93,"context_line":"    if container.get(\u0027last_modified\u0027):"},{"line_number":94,"context_line":"        document[\u0027updated_at\u0027] \u003d container[\u0027last_modified\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    if container.get(\u0027updated_at\u0027):"},{"line_number":97,"context_line":"        document[\u0027updated_at\u0027] \u003d container[\u0027updated_at\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_770b847d","line":94,"updated":"2016-03-03 23:27:16.000000000","message":"According to the comment, this code doesnt (excuse me, doesn\u0027t :) do anything. Is it here for the future case where the Swift API works as advertised? If this case comes to pass, will the container\u0027s \"updated_at\" field not be set? Or will container.last_modified always be the same as container.updated_at. Lines 93-97 seem to conflict with each other.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    # Notifications for container send this field as \u0027updated_at\u0027 instead"},{"line_number":92,"context_line":"    # of \u0027last_modified\u0027"},{"line_number":93,"context_line":"    if container.get(\u0027last_modified\u0027):"},{"line_number":94,"context_line":"        document[\u0027updated_at\u0027] \u003d container[\u0027last_modified\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    if container.get(\u0027updated_at\u0027):"},{"line_number":97,"context_line":"        document[\u0027updated_at\u0027] \u003d container[\u0027updated_at\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_aff1f697","line":94,"in_reply_to":"7af24918_770b847d","updated":"2016-03-05 00:14:44.000000000","message":"Yes it was meant for future but I have removed it for now since i don\u0027t know what format the incoming date will be.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"def serialize_swift_container_notification(container):"},{"line_number":104,"context_line":"    container[\u0027id\u0027] \u003d container[\u0027project_id\u0027] + ID_SEP + container[\u0027container\u0027]"},{"line_number":105,"context_line":"    container[\u0027name\u0027] \u003d container[\u0027container\u0027]"},{"line_number":106,"context_line":"    container[\u0027account\u0027] \u003d container[\u0027project_name\u0027]"},{"line_number":107,"context_line":"    container[\u0027account_id\u0027] \u003d container[\u0027project_id\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_daa71fa5","line":104,"updated":"2016-03-03 23:27:16.000000000","message":"Is container[\u0027project_id\u0027] supposed to be container[\u0027project_name\u0027]? The account name as opposed to the account ID.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"def serialize_swift_container_notification(container):"},{"line_number":104,"context_line":"    container[\u0027id\u0027] \u003d container[\u0027project_id\u0027] + ID_SEP + container[\u0027container\u0027]"},{"line_number":105,"context_line":"    container[\u0027name\u0027] \u003d container[\u0027container\u0027]"},{"line_number":106,"context_line":"    container[\u0027account\u0027] \u003d container[\u0027project_name\u0027]"},{"line_number":107,"context_line":"    container[\u0027account_id\u0027] \u003d container[\u0027project_id\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_cf98c21e","line":104,"in_reply_to":"7af24918_daa71fa5","updated":"2016-03-05 00:14:44.000000000","message":"No it has to be an id. container[\u0027id\u0027] format is project_id + container name\nAdded documentation for clarity","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"def serialize_swift_object_notification(object):"},{"line_number":139,"context_line":"    object[\u0027container_id\u0027] \u003d object[\u0027account\u0027] + ID_SEP + object[\u0027container\u0027]"},{"line_number":140,"context_line":"    object[\u0027id\u0027] \u003d object[\u0027container_id\u0027] + ID_SEP + object[\u0027object\u0027]"},{"line_number":141,"context_line":"    object[\u0027name\u0027] \u003d object[\u0027object\u0027]"},{"line_number":142,"context_line":"    object[\u0027account\u0027] \u003d object[\u0027project_name\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_b7b34c97","line":139,"updated":"2016-03-03 23:27:16.000000000","message":"Do we want to use object[\u0027project_name\u0027] instead of object\u0027[account\u0027]. Is object[\u0027account] even set now? If so we are overriding it on line 142.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"def serialize_swift_object_notification(object):"},{"line_number":139,"context_line":"    object[\u0027container_id\u0027] \u003d object[\u0027account\u0027] + ID_SEP + object[\u0027container\u0027]"},{"line_number":140,"context_line":"    object[\u0027id\u0027] \u003d object[\u0027container_id\u0027] + ID_SEP + object[\u0027object\u0027]"},{"line_number":141,"context_line":"    object[\u0027name\u0027] \u003d object[\u0027object\u0027]"},{"line_number":142,"context_line":"    object[\u0027account\u0027] \u003d object[\u0027project_name\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_8ae34833","line":139,"in_reply_to":"7af24918_b7b34c97","updated":"2016-03-05 00:14:44.000000000","message":"No, it has to be object[\u0027account\u0027] which has the account id from the notification payload(u\u0027account\u0027: u\u0027AUTH_15b9a454cee34dbe9933ad575a0a6930\u0027) and it is set from the notification.  container_id format is account_Id + container name\n\nWe need to override it in line 142 since serialize_swift_object expects object[\u0027account\u0027] to be a account name as defined in mapping.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    object[\u0027name\u0027] \u003d object[\u0027object\u0027]"},{"line_number":142,"context_line":"    object[\u0027account\u0027] \u003d object[\u0027project_name\u0027]"},{"line_number":143,"context_line":"    object[\u0027account_id\u0027] \u003d object[\u0027project_id\u0027]"},{"line_number":144,"context_line":"    object[\u0027container\u0027] \u003d object[\u0027container\u0027]"},{"line_number":145,"context_line":"    object[\u0027etag\u0027] \u003d object[\u0027hash\u0027]"},{"line_number":146,"context_line":"    object[\u0027content-length\u0027] \u003d object[\u0027content_length\u0027]"},{"line_number":147,"context_line":"    return serialize_swift_object(object)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_f7a95425","line":144,"updated":"2016-03-03 23:27:16.000000000","message":"??? We are overriding the value with itself?","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    object[\u0027name\u0027] \u003d object[\u0027object\u0027]"},{"line_number":142,"context_line":"    object[\u0027account\u0027] \u003d object[\u0027project_name\u0027]"},{"line_number":143,"context_line":"    object[\u0027account_id\u0027] \u003d object[\u0027project_id\u0027]"},{"line_number":144,"context_line":"    object[\u0027container\u0027] \u003d object[\u0027container\u0027]"},{"line_number":145,"context_line":"    object[\u0027etag\u0027] \u003d object[\u0027hash\u0027]"},{"line_number":146,"context_line":"    object[\u0027content-length\u0027] \u003d object[\u0027content_length\u0027]"},{"line_number":147,"context_line":"    return serialize_swift_object(object)"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_cf660229","line":144,"in_reply_to":"7af24918_f7a95425","updated":"2016-03-05 00:14:44.000000000","message":"Have to remind myself to not work on patch in late night :)","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    return _accounts"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"def get_swift_containers():"},{"line_number":162,"context_line":"    return _containers"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_ba57b356","line":161,"updated":"2016-03-03 23:27:16.000000000","message":"The assumption here is that get_swift_accounts has been called, which will populate _containers. Should we verify this by:\n    if not _containers:\n        gert_data\n    return _containers\n\nSame below with get_swift_objects().","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    return _accounts"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"def get_swift_containers():"},{"line_number":162,"context_line":"    return _containers"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_4a6e6097","line":161,"in_reply_to":"7af24918_ba57b356","updated":"2016-03-05 00:14:44.000000000","message":"Not required anymore since the reorg of code on container loading.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":210,"context_line":"            LOG.error(_LE(\"Could not get account info for %s\") % storage_url)"},{"line_number":211,"context_line":"            raise sce"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    return _accounts, _containers, _objects"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_baea13d9","line":213,"updated":"2016-03-03 23:27:16.000000000","message":"The caller is not using any return values. Instead we are updating the global lists.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":210,"context_line":"            LOG.error(_LE(\"Could not get account info for %s\") % storage_url)"},{"line_number":211,"context_line":"            raise sce"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    return _accounts, _containers, _objects"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_8a686889","line":213,"in_reply_to":"7af24918_baea13d9","updated":"2016-03-05 00:14:44.000000000","message":"Not required anymore since the reorg of code on account, container and object loading.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # (laskhmiS) get_container doesn\u0027t include last_modified field even"},{"line_number":86,"context_line":"    # though the swift api documentation says it returns it. Include it"},{"line_number":87,"context_line":"    # when it starts sending it."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # Notifications for container sends this field as \u0027updated_at\u0027 instead"},{"line_number":90,"context_line":"    # of \u0027last_modified\u0027."}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_e2c74910","line":87,"range":{"start_line":87,"start_character":31,"end_line":87,"end_character":32},"updated":"2016-03-08 22:39:20.000000000","message":"Is there a bug reported for this?","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # (laskhmiS) get_container doesn\u0027t include last_modified field even"},{"line_number":86,"context_line":"    # though the swift api documentation says it returns it. Include it"},{"line_number":87,"context_line":"    # when it starts sending it."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    # Notifications for container sends this field as \u0027updated_at\u0027 instead"},{"line_number":90,"context_line":"    # of \u0027last_modified\u0027."}],"source_content_type":"text/x-python","patch_set":18,"id":"3afc51ec_b8e77411","line":87,"range":{"start_line":87,"start_character":31,"end_line":87,"end_character":32},"in_reply_to":"5aef4532_e2c74910","updated":"2016-03-11 18:58:41.000000000","message":"Haven\u0027t found one. will file it","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"def get_swift_accounts(auth_prefix):"},{"line_number":163,"context_line":"    global AUTH_PREFIX"},{"line_number":164,"context_line":"    # TODO(lakshmiS): Add support for SERVICE_ accounts"},{"line_number":165,"context_line":"    AUTH_PREFIX \u003d auth_prefix"},{"line_number":166,"context_line":"    ks_client \u003d openstack_clients.get_keystoneclient()"},{"line_number":167,"context_line":"    for tenant in ks_client.tenants.list():"}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_055b5f2f","line":164,"range":{"start_line":164,"start_character":26,"end_line":164,"end_character":33},"updated":"2016-03-08 22:39:20.000000000","message":"IIRC, SERVICE_ accounts will be used for e.g. cinder, glance backends (and there can be many prefixes - GLANCE_, CINDER_) which may be of use but i\u0027d be ok for now concentrating on user data. It looks like we\u0027re storing the account name as-is now which allows for expansion later.","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"def get_swift_accounts(auth_prefix):"},{"line_number":163,"context_line":"    global AUTH_PREFIX"},{"line_number":164,"context_line":"    # TODO(lakshmiS): Add support for SERVICE_ accounts"},{"line_number":165,"context_line":"    AUTH_PREFIX \u003d auth_prefix"},{"line_number":166,"context_line":"    ks_client \u003d openstack_clients.get_keystoneclient()"},{"line_number":167,"context_line":"    for tenant in ks_client.tenants.list():"}],"source_content_type":"text/x-python","patch_set":18,"id":"3afc51ec_f8f1fcce","line":164,"range":{"start_line":164,"start_character":26,"end_line":164,"end_character":33},"in_reply_to":"5aef4532_055b5f2f","updated":"2016-03-11 18:58:41.000000000","message":"Yup for future patch.","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        # store it for later usage in retrieving containers"},{"line_number":176,"context_line":"        # and objects"},{"line_number":177,"context_line":"        account_detail \u003d dict()"},{"line_number":178,"context_line":"        account_detail[\u0027id\u0027] \u003d account[\u0027id\u0027]"},{"line_number":179,"context_line":"        account_detail[\u0027name\u0027] \u003d tenant.name"},{"line_number":180,"context_line":"        account_detail[\u0027storage.url\u0027] \u003d storage_url"}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_e58f5321","line":177,"range":{"start_line":177,"start_character":29,"end_line":177,"end_character":31},"updated":"2016-03-08 22:39:20.000000000","message":"Nit - more common to use \naccount_detail \u003d {\n  \u0027id\u0027: account[\u0027id\u0027],\n  \u0027name\u0027: tenant.name...}","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        # store it for later usage in retrieving containers"},{"line_number":176,"context_line":"        # and objects"},{"line_number":177,"context_line":"        account_detail \u003d dict()"},{"line_number":178,"context_line":"        account_detail[\u0027id\u0027] \u003d account[\u0027id\u0027]"},{"line_number":179,"context_line":"        account_detail[\u0027name\u0027] \u003d tenant.name"},{"line_number":180,"context_line":"        account_detail[\u0027storage.url\u0027] \u003d storage_url"}],"source_content_type":"text/x-python","patch_set":18,"id":"3afc51ec_d8eec0eb","line":177,"range":{"start_line":177,"start_character":29,"end_line":177,"end_character":31},"in_reply_to":"5aef4532_e58f5321","updated":"2016-03-11 18:58:41.000000000","message":"Done. Thanks for the suggestion. makes it much simpler","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            ctr, obj \u003d sclient.get_container(sctr[\u0027name\u0027])"},{"line_number":207,"context_line":"            for sobject in obj:"},{"line_number":208,"context_line":"                sobj \u003d sclient.head_object(sctr[\u0027name\u0027], sobject[\u0027name\u0027])"},{"line_number":209,"context_line":"                sobj[\u0027account\u0027] \u003d account[\u0027name\u0027]"},{"line_number":210,"context_line":"                sobj[\u0027account_id\u0027] \u003d account[\u0027id\u0027]"},{"line_number":211,"context_line":"                sobj[\u0027container\u0027] \u003d sctr[\u0027name\u0027]"},{"line_number":212,"context_line":"                sobj[\u0027container_id\u0027] \u003d account[\u0027id\u0027] + ID_SEP + sctr[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_85ee4fb2","line":209,"range":{"start_line":209,"start_character":22,"end_line":209,"end_character":29},"updated":"2016-03-08 22:39:20.000000000","message":"Any reason to do translation (from the head_object response to a dict) here as well as in serialize? Same comment for accounts and containers","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            ctr, obj \u003d sclient.get_container(sctr[\u0027name\u0027])"},{"line_number":207,"context_line":"            for sobject in obj:"},{"line_number":208,"context_line":"                sobj \u003d sclient.head_object(sctr[\u0027name\u0027], sobject[\u0027name\u0027])"},{"line_number":209,"context_line":"                sobj[\u0027account\u0027] \u003d account[\u0027name\u0027]"},{"line_number":210,"context_line":"                sobj[\u0027account_id\u0027] \u003d account[\u0027id\u0027]"},{"line_number":211,"context_line":"                sobj[\u0027container\u0027] \u003d sctr[\u0027name\u0027]"},{"line_number":212,"context_line":"                sobj[\u0027container_id\u0027] \u003d account[\u0027id\u0027] + ID_SEP + sctr[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":18,"id":"3afc51ec_d87ec0ad","line":209,"range":{"start_line":209,"start_character":22,"end_line":209,"end_character":29},"in_reply_to":"5aef4532_85ee4fb2","updated":"2016-03-11 18:58:41.000000000","message":"i am not sure i understand your question. are you asking why translate or why use dict? translation is obviously needed for matching with mapping.","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"92bba153b0df57b24f58f682cbb641a74c3c8d26","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    document[\u0027domain_id\u0027] \u003d account.get(\u0027x-account-project-domain-id\u0027, None)"},{"line_number":47,"context_line":"    if account.get(\u0027x-timestamp\u0027):"},{"line_number":48,"context_line":"        timestamp \u003d float(account.get(\u0027x-timestamp\u0027))"},{"line_number":49,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":50,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # lakshmiS: swift get_account() doesn\u0027t include update datetime field(?)"}],"source_content_type":"text/x-python","patch_set":26,"id":"1af94dfe_ae6e03c7","line":49,"range":{"start_line":49,"start_character":18,"end_line":49,"end_character":28},"updated":"2016-03-15 21:20:54.000000000","message":"Is this right? I could go for updated_at, but not created_at. x-timestamp is updated on changes, i think?","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"ad5b063506bbfabc52b147785b5d077c5c1c87e7","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    document[\u0027domain_id\u0027] \u003d account.get(\u0027x-account-project-domain-id\u0027, None)"},{"line_number":47,"context_line":"    if account.get(\u0027x-timestamp\u0027):"},{"line_number":48,"context_line":"        timestamp \u003d float(account.get(\u0027x-timestamp\u0027))"},{"line_number":49,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":50,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # lakshmiS: swift get_account() doesn\u0027t include update datetime field(?)"}],"source_content_type":"text/x-python","patch_set":26,"id":"1af94dfe_c802623e","line":49,"range":{"start_line":49,"start_character":18,"end_line":49,"end_character":28},"in_reply_to":"1af94dfe_ae6e03c7","updated":"2016-03-15 23:42:45.000000000","message":"Yes. x-timestamp gives created time. API documentation confirms the same","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"92bba153b0df57b24f58f682cbb641a74c3c8d26","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    document \u003d {f: container.get(f, None) for f in container_fields}"},{"line_number":80,"context_line":"    if container.get(\u0027x-timestamp\u0027):"},{"line_number":81,"context_line":"        timestamp \u003d float(container.get(\u0027x-timestamp\u0027))"},{"line_number":82,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":83,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # (laskhmiS) get_container doesn\u0027t include last_modified field even"}],"source_content_type":"text/x-python","patch_set":26,"id":"1af94dfe_ce654fe2","line":82,"range":{"start_line":82,"start_character":18,"end_line":82,"end_character":28},"updated":"2016-03-15 21:20:54.000000000","message":"Same comment about x-timestamp as above. updated_at should be there too and is the same as x-timestamp but formatted as iso8601","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"ad5b063506bbfabc52b147785b5d077c5c1c87e7","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    document \u003d {f: container.get(f, None) for f in container_fields}"},{"line_number":80,"context_line":"    if container.get(\u0027x-timestamp\u0027):"},{"line_number":81,"context_line":"        timestamp \u003d float(container.get(\u0027x-timestamp\u0027))"},{"line_number":82,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":83,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # (laskhmiS) get_container doesn\u0027t include last_modified field even"}],"source_content_type":"text/x-python","patch_set":26,"id":"1af94dfe_08fd6a3a","line":82,"range":{"start_line":82,"start_character":18,"end_line":82,"end_character":28},"in_reply_to":"1af94dfe_ce654fe2","updated":"2016-03-15 23:42:45.000000000","message":"Same as above","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"92bba153b0df57b24f58f682cbb641a74c3c8d26","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    if sobject.get(\u0027x-timestamp\u0027):"},{"line_number":124,"context_line":"        timestamp \u003d float(sobject.get(\u0027x-timestamp\u0027))"},{"line_number":125,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":126,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":127,"context_line":"    if sobject.get(\u0027last-modified\u0027):"},{"line_number":128,"context_line":"        updated_dt \u003d datetime.datetime.strptime("}],"source_content_type":"text/x-python","patch_set":26,"id":"1af94dfe_2e6313de","line":125,"range":{"start_line":125,"start_character":16,"end_line":125,"end_character":18},"updated":"2016-03-15 21:20:54.000000000","message":"Same comment as above","commit_id":"01c3e92afc082781845ba7344306a8946d209542"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"ad5b063506bbfabc52b147785b5d077c5c1c87e7","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    if sobject.get(\u0027x-timestamp\u0027):"},{"line_number":124,"context_line":"        timestamp \u003d float(sobject.get(\u0027x-timestamp\u0027))"},{"line_number":125,"context_line":"        document[\u0027created_at\u0027] \u003d \\"},{"line_number":126,"context_line":"            timeutils.isotime(datetime.datetime.fromtimestamp(timestamp))"},{"line_number":127,"context_line":"    if sobject.get(\u0027last-modified\u0027):"},{"line_number":128,"context_line":"        updated_dt \u003d datetime.datetime.strptime("}],"source_content_type":"text/x-python","patch_set":26,"id":"1af94dfe_889fba02","line":125,"range":{"start_line":125,"start_character":16,"end_line":125,"end_character":18},"in_reply_to":"1af94dfe_2e6313de","updated":"2016-03-15 23:42:45.000000000","message":"Same as above","commit_id":"01c3e92afc082781845ba7344306a8946d209542"}],"searchlight/elasticsearch/plugins/swift/accounts.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"3a6a7b513dd1c3f3869812934782878b9c1ee747","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                        \u0027raw\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027}"},{"line_number":48,"context_line":"                    },"},{"line_number":49,"context_line":"                },"},{"line_number":50,"context_line":"                \u0027content-length\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":51,"context_line":"                \u0027x-account-object-count\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":52,"context_line":"                \u0027x-account-project-domain-id\u0027:"},{"line_number":53,"context_line":"                    {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027},"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_5cb8eb10","line":50,"range":{"start_line":50,"start_character":17,"end_line":50,"end_character":24},"updated":"2016-01-25 22:41:10.000000000","message":"What does content-length mean for accounts?","commit_id":"55c5aae49544a0ccea8d33bb25110f737fe82723"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"3a6a7b513dd1c3f3869812934782878b9c1ee747","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                    },"},{"line_number":49,"context_line":"                },"},{"line_number":50,"context_line":"                \u0027content-length\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":51,"context_line":"                \u0027x-account-object-count\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":52,"context_line":"                \u0027x-account-project-domain-id\u0027:"},{"line_number":53,"context_line":"                    {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027},"},{"line_number":54,"context_line":"                # TODO(lakshmis): change to dynamic property"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_fcd51f1b","line":51,"range":{"start_line":51,"start_character":27,"end_line":51,"end_character":33},"updated":"2016-01-25 22:41:10.000000000","message":"This won\u0027t be available directly in notifications; we\u0027d need to reindex accounts on every object change, which doesn\u0027t mean we shouldn\u0027t store this, but we need to be aware of the complications","commit_id":"55c5aae49544a0ccea8d33bb25110f737fe82723"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"3a6a7b513dd1c3f3869812934782878b9c1ee747","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                },"},{"line_number":50,"context_line":"                \u0027content-length\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":51,"context_line":"                \u0027x-account-object-count\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":52,"context_line":"                \u0027x-account-project-domain-id\u0027:"},{"line_number":53,"context_line":"                    {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027},"},{"line_number":54,"context_line":"                # TODO(lakshmis): change to dynamic property"},{"line_number":55,"context_line":"                \u0027x-account-storage-policy-policy-0-bytes-used\u0027:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_7cd12f22","line":52,"range":{"start_line":52,"start_character":34,"end_line":52,"end_character":35},"updated":"2016-01-25 22:41:10.000000000","message":"Should we strip off the x-account- prefix, at least for stuff like domain/tenant information?","commit_id":"55c5aae49544a0ccea8d33bb25110f737fe82723"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"3a6a7b513dd1c3f3869812934782878b9c1ee747","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                #    \u0027type\u0027: \u0027date\u0027,"},{"line_number":65,"context_line":"                #    \"format\": \"EEE dd MMM yyyy HH:mm:ss \u0027GMT\u0027\""},{"line_number":66,"context_line":"                # },"},{"line_number":67,"context_line":"                \u0027date\u0027: {"},{"line_number":68,"context_line":"                    \u0027type\u0027: \u0027string\u0027"},{"line_number":69,"context_line":"                },"},{"line_number":70,"context_line":"                \u0027x-account-bytes-used\u0027: {\u0027type\u0027: \u0027long\u0027},"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_fca3dfaf","line":67,"range":{"start_line":67,"start_character":17,"end_line":67,"end_character":21},"updated":"2016-01-25 22:41:10.000000000","message":"Is this the timestamp field? We should (in addition) store updated_at and created_at for ordering purposes","commit_id":"55c5aae49544a0ccea8d33bb25110f737fe82723"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_7da40507","line":1,"updated":"2016-03-03 23:27:16.000000000","message":"Change to 2016.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_aa0284b2","line":1,"in_reply_to":"7af24918_7da40507","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from searchlight.elasticsearch.plugins import base"},{"line_number":20,"context_line":"from searchlight.elasticsearch.plugins.swift import get_swift_accounts"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_bab33397","line":17,"updated":"2016-03-03 23:27:16.000000000","message":"Not used.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from searchlight.elasticsearch.plugins import base"},{"line_number":20,"context_line":"from searchlight.elasticsearch.plugins.swift import get_swift_accounts"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_8a16a8ef","line":17,"in_reply_to":"7af24918_bab33397","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"_ \u003d i18n._"},{"line_number":29,"context_line":"_LW \u003d i18n._LW"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class AccountIndex(base.IndexBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_9aae372c","line":29,"updated":"2016-03-03 23:27:16.000000000","message":"Not used.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"_ \u003d i18n._"},{"line_number":29,"context_line":"_LW \u003d i18n._LW"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class AccountIndex(base.IndexBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_ead12c31","line":29,"in_reply_to":"7af24918_9aae372c","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    NotificationHandlerCls \u003d swift_notification_handler.SwiftAccountHandler"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def __init__(self, policy_enforcer\u003dNone):"},{"line_number":36,"context_line":"        super(AccountIndex, self).__init__()"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    # swift_owner_headers"},{"line_number":39,"context_line":"    ADMIN_ONLY_FIELDS \u003d [\u0027x-account-meta-temp-url-key\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_fafbfb44","line":36,"updated":"2016-03-03 23:27:16.000000000","message":"Do we need to pass policy_enforcer to __init__()?","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    NotificationHandlerCls \u003d swift_notification_handler.SwiftAccountHandler"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def __init__(self, policy_enforcer\u003dNone):"},{"line_number":36,"context_line":"        super(AccountIndex, self).__init__()"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    # swift_owner_headers"},{"line_number":39,"context_line":"    ADMIN_ONLY_FIELDS \u003d [\u0027x-account-meta-temp-url-key\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_0fd2a734","line":36,"in_reply_to":"7af24918_fafbfb44","updated":"2016-03-05 00:14:44.000000000","message":"Nope. Was leftover from plugin template i initially based swift on. thanks","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        return \u0027OS::Swift::Account\u0027"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def get_mapping(self):"},{"line_number":48,"context_line":"        return {"},{"line_number":49,"context_line":"            \u0027dynamic\u0027: True,"},{"line_number":50,"context_line":"            \u0027properties\u0027: {"},{"line_number":51,"context_line":"                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027},"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_5aa14f45","line":48,"updated":"2016-03-03 23:27:16.000000000","message":"Reminder. This will change to MappingTypes when that patch merges.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        return \u0027OS::Swift::Account\u0027"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def get_mapping(self):"},{"line_number":48,"context_line":"        return {"},{"line_number":49,"context_line":"            \u0027dynamic\u0027: True,"},{"line_number":50,"context_line":"            \u0027properties\u0027: {"},{"line_number":51,"context_line":"                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027},"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_aa9e0461","line":48,"in_reply_to":"7af24918_5aa14f45","updated":"2016-03-05 00:14:44.000000000","message":"Yes, Will be another patch since its pending","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"a2bb8c5985d43521ab1b06a4f3996a9ab03d2fdc","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        from_conf \u003d super(AccountIndex, self).admin_only_fields"},{"line_number":83,"context_line":"        return AccountIndex.ADMIN_ONLY_FIELDS + from_conf"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @classmethod"},{"line_number":86,"context_line":"    def is_plugin_enabled_by_default(cls):"},{"line_number":87,"context_line":"        return False"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"1af94dfe_31221453","line":85,"updated":"2016-03-16 21:07:38.000000000","message":"I think you need to also update the swift plugin RST to tell people it is disabled by default. They must explicitly enable it.","commit_id":"1fa7ce59ce1a68beea50d26fe02aaf4e70053cd2"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"7309025a2263151a89222da8dacda728e2ff3f17","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        from_conf \u003d super(AccountIndex, self).admin_only_fields"},{"line_number":83,"context_line":"        return AccountIndex.ADMIN_ONLY_FIELDS + from_conf"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @classmethod"},{"line_number":86,"context_line":"    def is_plugin_enabled_by_default(cls):"},{"line_number":87,"context_line":"        return False"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"1af94dfe_31d0541f","line":85,"in_reply_to":"1af94dfe_31221453","updated":"2016-03-16 21:18:35.000000000","message":"Done","commit_id":"1fa7ce59ce1a68beea50d26fe02aaf4e70053cd2"}],"searchlight/elasticsearch/plugins/swift/containers.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"3a6a7b513dd1c3f3869812934782878b9c1ee747","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                        \u0027raw\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027}"},{"line_number":54,"context_line":"                    },"},{"line_number":55,"context_line":"                },"},{"line_number":56,"context_line":"                \u0027content-length\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":57,"context_line":"                \u0027x-container-object-count\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":58,"context_line":"                \u0027x-storage-policy\u0027: {"},{"line_number":59,"context_line":"                    \u0027type\u0027: \u0027string\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_9c7ae322","line":56,"range":{"start_line":56,"start_character":25,"end_line":56,"end_character":31},"updated":"2016-01-25 22:41:10.000000000","message":"What is content-length for containers?","commit_id":"55c5aae49544a0ccea8d33bb25110f737fe82723"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_7df24507","line":1,"updated":"2016-03-03 23:27:16.000000000","message":"Change to 2016.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_6f91ab52","line":1,"in_reply_to":"7af24918_7df24507","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from searchlight.elasticsearch.plugins import base"},{"line_number":20,"context_line":"from searchlight.elasticsearch.plugins.swift import get_swift_containers"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_3a66032a","line":17,"updated":"2016-03-03 23:27:16.000000000","message":"Not used.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from searchlight.elasticsearch.plugins import base"},{"line_number":20,"context_line":"from searchlight.elasticsearch.plugins.swift import get_swift_containers"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_cf9eff62","line":17,"in_reply_to":"7af24918_3a66032a","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"_ \u003d i18n._"},{"line_number":29,"context_line":"_LW \u003d i18n._LW"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class ContainerIndex(base.IndexBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_ba7a13bb","line":29,"updated":"2016-03-03 23:27:16.000000000","message":"Not used.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"_ \u003d i18n._"},{"line_number":29,"context_line":"_LW \u003d i18n._LW"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class ContainerIndex(base.IndexBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_ef8bfb1c","line":29,"in_reply_to":"7af24918_ba7a13bb","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    NotificationHandlerCls \u003d swift_notification_handler.SwiftContainerHandler"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def __init__(self, policy_enforcer\u003dNone):"},{"line_number":36,"context_line":"        super(ContainerIndex, self).__init__()"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    # swift_owner_headers"},{"line_number":39,"context_line":"    ADMIN_ONLY_FIELDS \u003d [\u0027x-container-write\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_1a1ea76f","line":36,"updated":"2016-03-03 23:27:16.000000000","message":"Do we need to pass policy_enforcer to __init__()?","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    NotificationHandlerCls \u003d swift_notification_handler.SwiftContainerHandler"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def __init__(self, policy_enforcer\u003dNone):"},{"line_number":36,"context_line":"        super(ContainerIndex, self).__init__()"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    # swift_owner_headers"},{"line_number":39,"context_line":"    ADMIN_ONLY_FIELDS \u003d [\u0027x-container-write\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_4f982f6b","line":36,"in_reply_to":"7af24918_1a1ea76f","updated":"2016-03-05 00:14:44.000000000","message":"Nope.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        return \u0027OS::Swift::Container\u0027"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def get_mapping(self):"},{"line_number":54,"context_line":"        return {"},{"line_number":55,"context_line":"            \u0027dynamic\u0027: True,"},{"line_number":56,"context_line":"            \u0027properties\u0027: {"},{"line_number":57,"context_line":"                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027},"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_da7b9fbc","line":54,"updated":"2016-03-03 23:27:16.000000000","message":"Reminder. This will change to MappingTypes when that patch merges.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        return \u0027OS::Swift::Container\u0027"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def get_mapping(self):"},{"line_number":54,"context_line":"        return {"},{"line_number":55,"context_line":"            \u0027dynamic\u0027: True,"},{"line_number":56,"context_line":"            \u0027properties\u0027: {"},{"line_number":57,"context_line":"                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027},"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_afa9f37d","line":54,"in_reply_to":"7af24918_da7b9fbc","updated":"2016-03-05 00:14:44.000000000","message":"Yes, Will be another patch once that merges.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def serialize(self, obj):"},{"line_number":121,"context_line":"        document \u003d serialize_swift_container(obj)"},{"line_number":122,"context_line":"        return document"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_3d29dd8a","line":122,"updated":"2016-03-03 23:27:16.000000000","message":"Looks like this is left over from debugging. Change back to:\n    \n    return serialize_swift_containers(obj)","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def serialize(self, obj):"},{"line_number":121,"context_line":"        document \u003d serialize_swift_container(obj)"},{"line_number":122,"context_line":"        return document"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_efb93bcd","line":122,"in_reply_to":"7af24918_3d29dd8a","updated":"2016-03-05 00:14:44.000000000","message":"Yes","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"460f5ab88eda95f530134beafc8d0d1421faf1e8","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    },"},{"line_number":99,"context_line":"                    {"},{"line_number":100,"context_line":"                        \u0027terms\u0027: {"},{"line_number":101,"context_line":"                            \u0027x-container-read\u0027: [tenant_member, single_user]"},{"line_number":102,"context_line":"                        }"},{"line_number":103,"context_line":"                    }"},{"line_number":104,"context_line":"                ]"}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_20fea438","line":101,"range":{"start_line":101,"start_character":31,"end_line":101,"end_character":40},"updated":"2016-03-11 05:27:49.000000000","message":"Looking at the debugger, this is putting in ids which won\u0027t match with tenant names:\n\n{\"terms\": {\"x-container-read\": [\"733e14efbff3440cbdc902565bd94218:*\", \"733e14efbff3440cbdc902565bd94218:f3376116f18843989f95dcab8853ad76\"]}","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"4a7542f47c9b7ebd5ed1d8c619e2f2fab353e99c","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    },"},{"line_number":99,"context_line":"                    {"},{"line_number":100,"context_line":"                        \u0027terms\u0027: {"},{"line_number":101,"context_line":"                            \u0027x-container-read\u0027: [tenant_member, single_user]"},{"line_number":102,"context_line":"                        }"},{"line_number":103,"context_line":"                    }"},{"line_number":104,"context_line":"                ]"}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_a0bf545f","line":101,"range":{"start_line":101,"start_character":31,"end_line":101,"end_character":40},"in_reply_to":"5aef4532_20fea438","updated":"2016-03-11 05:30:28.000000000","message":"Additionally, making a container public appears to set .r:* - i don\u0027t see if that\u0027s covered?","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    },"},{"line_number":99,"context_line":"                    {"},{"line_number":100,"context_line":"                        \u0027terms\u0027: {"},{"line_number":101,"context_line":"                            \u0027x-container-read\u0027: [tenant_member, single_user]"},{"line_number":102,"context_line":"                        }"},{"line_number":103,"context_line":"                    }"},{"line_number":104,"context_line":"                ]"}],"source_content_type":"text/x-python","patch_set":18,"id":"3afc51ec_35c7ed13","line":101,"range":{"start_line":101,"start_character":31,"end_line":101,"end_character":40},"in_reply_to":"5aef4532_20fea438","updated":"2016-03-11 18:58:41.000000000","message":"Its supposed to be tenant id\u0027s. names are deprecated.  If you check the indexed container, you will see id\u0027s being used there too so it should match","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    },"},{"line_number":99,"context_line":"                    {"},{"line_number":100,"context_line":"                        \u0027terms\u0027: {"},{"line_number":101,"context_line":"                            \u0027x-container-read\u0027: [tenant_member, single_user]"},{"line_number":102,"context_line":"                        }"},{"line_number":103,"context_line":"                    }"},{"line_number":104,"context_line":"                ]"}],"source_content_type":"text/x-python","patch_set":18,"id":"3afc51ec_b5b01d8d","line":101,"range":{"start_line":101,"start_character":31,"end_line":101,"end_character":40},"in_reply_to":"5aef4532_a0bf545f","updated":"2016-03-11 18:58:41.000000000","message":"Yes i intentionally removed that feature, since allowing read access to public means you can avoid keystone which we dont want to experiment at this time for Searchlight where we allow users to not have a keystone token. Its best to not show something than having to deal with security concerns for the first plugin release...","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"}],"searchlight/elasticsearch/plugins/swift/objects.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"3a6a7b513dd1c3f3869812934782878b9c1ee747","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                        \u0027raw\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027}"},{"line_number":48,"context_line":"                    },"},{"line_number":49,"context_line":"                },"},{"line_number":50,"context_line":"                \u0027account-name\u0027: {"},{"line_number":51,"context_line":"                    \u0027type\u0027: \u0027string\u0027,"},{"line_number":52,"context_line":"                    \u0027fields\u0027: {"},{"line_number":53,"context_line":"                        \u0027raw\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027}"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_bc97a738","line":50,"range":{"start_line":50,"start_character":24,"end_line":50,"end_character":25},"updated":"2016-01-25 22:41:10.000000000","message":"Just call these \u0027account\u0027 and \u0027container\u0027?","commit_id":"55c5aae49544a0ccea8d33bb25110f737fe82723"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"3a6a7b513dd1c3f3869812934782878b9c1ee747","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                                \u0027index\u0027: \u0027not_analyzed\u0027}"},{"line_number":61,"context_line":"                    },"},{"line_number":62,"context_line":"                },"},{"line_number":63,"context_line":"                \u0027content-length\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":64,"context_line":"                \u0027bytes\u0027: {\u0027type\u0027: \u0027long\u0027},"},{"line_number":65,"context_line":"                # \u0027date\u0027:  {"},{"line_number":66,"context_line":"                #    \u0027type\u0027: \u0027date\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_3cc3b739","line":63,"range":{"start_line":63,"start_character":25,"end_line":63,"end_character":31},"updated":"2016-01-25 22:41:10.000000000","message":"Difference between content-length and bytes?","commit_id":"55c5aae49544a0ccea8d33bb25110f737fe82723"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"3a6a7b513dd1c3f3869812934782878b9c1ee747","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                \u0027last-modified\u0027: {"},{"line_number":70,"context_line":"                    \u0027type\u0027: \u0027string\u0027"},{"line_number":71,"context_line":"                },"},{"line_number":72,"context_line":"                \u0027hash\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":73,"context_line":"                \u0027content-type\u0027: {\u0027type\u0027: \u0027string\u0027,"},{"line_number":74,"context_line":"                                 \u0027index\u0027: \u0027not_analyzed\u0027}"},{"line_number":75,"context_line":"            },"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_fc143fa0","line":72,"range":{"start_line":72,"start_character":17,"end_line":72,"end_character":21},"updated":"2016-01-25 22:41:10.000000000","message":"This is called etag elsewhere (the http header name)","commit_id":"55c5aae49544a0ccea8d33bb25110f737fe82723"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"8c8ac2de5483c92ebc41c6275b7a70ba6612a96d","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def get_routing_plugin_type(self):"},{"line_number":123,"context_line":"        return \"OS::Swift::Account\""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def get_objects(self):"},{"line_number":126,"context_line":"        return get_swift_objects()"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_231f2909","line":124,"updated":"2016-02-29 17:54:28.000000000","message":"Please add:\n\n   @property\n    def facets_with_options(self):\n        return (\u0027container\u0027, \u0027content_type\u0027)\n\nSteve, these facet option are done within the context of the current logged in user, right?","commit_id":"b8c3db7eafc3e5e8cb982f5200ddab4b8a4d0845"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c2d5fc6f77c5ec95abadea9b9edb295372904330","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def get_routing_plugin_type(self):"},{"line_number":123,"context_line":"        return \"OS::Swift::Account\""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def get_objects(self):"},{"line_number":126,"context_line":"        return get_swift_objects()"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9aed3d3a_9160f602","line":124,"in_reply_to":"9aed3d3a_231f2909","updated":"2016-02-29 19:54:54.000000000","message":"Correct.","commit_id":"b8c3db7eafc3e5e8cb982f5200ddab4b8a4d0845"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_5df5c9ea","line":1,"updated":"2016-03-03 23:27:16.000000000","message":"Change to 2016.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_efe01bcf","line":1,"in_reply_to":"7af24918_5df5c9ea","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from searchlight.elasticsearch.plugins import base"},{"line_number":20,"context_line":"from searchlight.elasticsearch.plugins.swift import get_swift_objects"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_bd75ed64","line":17,"updated":"2016-03-03 23:27:16.000000000","message":"Not used.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from searchlight.elasticsearch.plugins import base"},{"line_number":20,"context_line":"from searchlight.elasticsearch.plugins.swift import get_swift_objects"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_4fe66fe9","line":17,"in_reply_to":"7af24918_bd75ed64","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from searchlight import i18n"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"_ \u003d i18n._"},{"line_number":29,"context_line":"_LW \u003d i18n._LW"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_dd66f9b9","line":27,"updated":"2016-03-03 23:27:16.000000000","message":"Not used.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from searchlight import i18n"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"_ \u003d i18n._"},{"line_number":29,"context_line":"_LW \u003d i18n._LW"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_2feb23b2","line":27,"in_reply_to":"7af24918_dd66f9b9","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"_ \u003d i18n._"},{"line_number":29,"context_line":"_LW \u003d i18n._LW"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class ObjectIndex(base.IndexBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_3d08bdd9","line":29,"updated":"2016-03-03 23:27:16.000000000","message":"Not used.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"_ \u003d i18n._"},{"line_number":29,"context_line":"_LW \u003d i18n._LW"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class ObjectIndex(base.IndexBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_8fd077f9","line":29,"in_reply_to":"7af24918_3d08bdd9","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    NotificationHandlerCls \u003d swift_notification_handler.SwiftObjectHandler"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def __init__(self, policy_enforcer\u003dNone):"},{"line_number":36,"context_line":"        super(ObjectIndex, self).__init__()"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @classmethod"},{"line_number":39,"context_line":"    def parent_plugin_type(cls):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_5a14af4b","line":36,"updated":"2016-03-03 23:27:16.000000000","message":"Do we need to pass policy_enforcer to __init__()?","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        return \u0027OS::Swift::Object\u0027"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def get_mapping(self):"},{"line_number":47,"context_line":"        return {"},{"line_number":48,"context_line":"            \u0027dynamic\u0027: True,"},{"line_number":49,"context_line":"            \u0027properties\u0027: {"},{"line_number":50,"context_line":"                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027},"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_1a506731","line":47,"updated":"2016-03-03 23:27:16.000000000","message":"Reminder. This will change to MappingTypes when that patch merges.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        return \u0027OS::Swift::Object\u0027"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def get_mapping(self):"},{"line_number":47,"context_line":"        return {"},{"line_number":48,"context_line":"            \u0027dynamic\u0027: True,"},{"line_number":49,"context_line":"            \u0027properties\u0027: {"},{"line_number":50,"context_line":"                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027index\u0027: \u0027not_analyzed\u0027},"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_afee13b2","line":47,"in_reply_to":"7af24918_1a506731","updated":"2016-03-05 00:14:44.000000000","message":"once it merges...","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def serialize(self, obj):"},{"line_number":133,"context_line":"        document \u003d serialize_swift_object(obj)"},{"line_number":134,"context_line":"        return document"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_7ddc0546","line":134,"updated":"2016-03-03 23:27:16.000000000","message":"Looks like this is left over from debugging. Change back to:\n    \n    return serialize_swift_objects(obj)","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def serialize(self, obj):"},{"line_number":133,"context_line":"        document \u003d serialize_swift_object(obj)"},{"line_number":134,"context_line":"        return document"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_8ff7d78b","line":134,"in_reply_to":"7af24918_7ddc0546","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                \"has_parent\": {"},{"line_number":90,"context_line":"                    \"type\": self.parent_plugin_type(),"},{"line_number":91,"context_line":"                    \"query\": {"},{"line_number":92,"context_line":"                        \"filtered\": {"},{"line_number":93,"context_line":"                            \"query\": {\"match_all\": {}},"},{"line_number":94,"context_line":"                            \"filter\": {"},{"line_number":95,"context_line":"                                \"or\": ["}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_a04c1971","line":92,"range":{"start_line":92,"start_character":25,"end_line":92,"end_character":33},"updated":"2016-03-08 22:39:20.000000000","message":"I don\u0027t think \"filtered\" is necessary. The RBAC filters are operating in a filter context (the return value of this function is ANDed with the type filter) and so has_parent will already be operating in a filter (non scoring) context. It should be sufficient just to put the \"or\" query directly into \"has_parent\": {\"query\": {","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                \"has_parent\": {"},{"line_number":90,"context_line":"                    \"type\": self.parent_plugin_type(),"},{"line_number":91,"context_line":"                    \"query\": {"},{"line_number":92,"context_line":"                        \"filtered\": {"},{"line_number":93,"context_line":"                            \"query\": {\"match_all\": {}},"},{"line_number":94,"context_line":"                            \"filter\": {"},{"line_number":95,"context_line":"                                \"or\": ["}],"source_content_type":"text/x-python","patch_set":18,"id":"3afc51ec_f8557cc6","line":92,"range":{"start_line":92,"start_character":25,"end_line":92,"end_character":33},"in_reply_to":"5aef4532_a04c1971","updated":"2016-03-11 18:58:41.000000000","message":"Tried but doesn\u0027t seem to work, with ES throwing exception on query format","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"}],"searchlight/elasticsearch/plugins/swift/swift_notification_handler.py":[{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_fde65542","line":1,"updated":"2016-03-03 23:27:16.000000000","message":"2014! This is one long patch set! Change to 2016.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_ef2e5bf9","line":1,"in_reply_to":"7af24918_fde65542","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def create_or_update(self, payload):"},{"line_number":43,"context_line":"        payload \u003d serialize_swift_account_notification(payload)"},{"line_number":44,"context_line":"        self.index_helper.save_document(payload)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def delete(self, payload):"},{"line_number":47,"context_line":"        id \u003d payload[\u0027account\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_ddd559e5","line":44,"updated":"2016-03-03 23:27:16.000000000","message":"Should we catch any ES exceptions from save_document? save_document() does not catch any.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def create_or_update(self, payload):"},{"line_number":43,"context_line":"        payload \u003d serialize_swift_account_notification(payload)"},{"line_number":44,"context_line":"        self.index_helper.save_document(payload)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def delete(self, payload):"},{"line_number":47,"context_line":"        id \u003d payload[\u0027account\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_afa61351","line":44,"in_reply_to":"7af24918_ddd559e5","updated":"2016-03-05 00:14:44.000000000","message":"Why not. Better than placing it in index_helper","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def delete(self, payload):"},{"line_number":47,"context_line":"        id \u003d payload[\u0027account\u0027]"},{"line_number":48,"context_line":"        self.index_helper.delete_document_by_id(id)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class SwiftContainerHandler(base.NotificationBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_9df6318d","line":48,"updated":"2016-03-03 23:27:16.000000000","message":"Should we catch any ES exceptions from delete_document_by_id?","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def delete(self, payload):"},{"line_number":47,"context_line":"        id \u003d payload[\u0027account\u0027]"},{"line_number":48,"context_line":"        self.index_helper.delete_document_by_id(id)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class SwiftContainerHandler(base.NotificationBase):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_0f62a716","line":48,"in_reply_to":"7af24918_9df6318d","updated":"2016-03-05 00:14:44.000000000","message":"Done","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"823efd65597d65ee353be3ffbf69d5e5c350ad19","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \"account.delete\": self.delete"},{"line_number":48,"context_line":"        }"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def create_or_update(self, payload):"},{"line_number":51,"context_line":"        payload \u003d serialize_swift_account_notification(payload)"},{"line_number":52,"context_line":"        try:"},{"line_number":53,"context_line":"            self.index_helper.save_document(payload)"}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_3a5d14ea","line":50,"range":{"start_line":50,"start_character":31,"end_line":50,"end_character":38},"updated":"2016-03-11 20:55:05.000000000","message":"These functions all need to accept a \u0027timestamp\u0027 parameter which is intended to be used for versioning. Even if we\u0027re not using verisoning the functions need to take that parameter","commit_id":"1fece66efac363e1d4c5906fb37905e59f12db88"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"cecc7b7259177c55a3e2e7aef0c3f95c300b6156","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \"account.delete\": self.delete"},{"line_number":48,"context_line":"        }"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def create_or_update(self, payload):"},{"line_number":51,"context_line":"        payload \u003d serialize_swift_account_notification(payload)"},{"line_number":52,"context_line":"        try:"},{"line_number":53,"context_line":"            self.index_helper.save_document(payload)"}],"source_content_type":"text/x-python","patch_set":20,"id":"3afc51ec_1a04987c","line":50,"range":{"start_line":50,"start_character":31,"end_line":50,"end_character":38},"in_reply_to":"3afc51ec_3a5d14ea","updated":"2016-03-11 21:04:23.000000000","message":"Done","commit_id":"1fece66efac363e1d4c5906fb37905e59f12db88"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"99046d52bb81f90236a87f6a4a47ba326f0f70ef","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        payload[\u0027updated_at\u0027] \u003d timestamp"},{"line_number":163,"context_line":"        version \u003d self.get_version(payload, timestamp)"},{"line_number":164,"context_line":"        del payload[\u0027updated_at\u0027]"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        id \u003d payload[\u0027account\u0027] + swift.ID_SEP + \\"},{"line_number":167,"context_line":"            payload[\u0027container\u0027] + swift.ID_SEP + \\"},{"line_number":168,"context_line":"            payload[\u0027object\u0027]"}],"source_content_type":"text/x-python","patch_set":28,"id":"1af94dfe_313b6ad3","line":165,"updated":"2016-03-16 04:09:04.000000000","message":"if we don\u0027t specify version, it will auto increment, but that could also result in being added back. steve and i talked about this on neutron and i don\u0027t feel like there was ever a perfect solution. so i\u0027m okay with this for now.","commit_id":"e3c0af195a831a1fadd7530ef355da1888c64178"}],"searchlight/elasticsearch/plugins/utils.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                \u0027_source\u0027: doc"},{"line_number":220,"context_line":"            }"},{"line_number":221,"context_line":"            parent_field \u003d self.plugin.get_parent_id_field()"},{"line_number":222,"context_line":"            routing_field \u003d self.plugin.get_routing_id_field()"},{"line_number":223,"context_line":"            if parent_field:"},{"line_number":224,"context_line":"                if self.plugin.parent_plugin.requires_role_separation:"},{"line_number":225,"context_line":"                    action[\u0027_parent\u0027] \u003d doc[parent_field] + ADMIN_ID_SUFFIX"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_0df7b48b","line":222,"range":{"start_line":222,"start_character":40,"end_line":222,"end_character":60},"updated":"2016-02-29 19:54:08.000000000","message":"Can this go into a separate patch? It\u0027s easier to review two separate patches than if they\u0027re bundled together, and easier to set up dependencies for other patches","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":219,"context_line":"                \u0027_source\u0027: doc"},{"line_number":220,"context_line":"            }"},{"line_number":221,"context_line":"            parent_field \u003d self.plugin.get_parent_id_field()"},{"line_number":222,"context_line":"            routing_field \u003d self.plugin.get_routing_id_field()"},{"line_number":223,"context_line":"            if parent_field:"},{"line_number":224,"context_line":"                if self.plugin.parent_plugin.requires_role_separation:"},{"line_number":225,"context_line":"                    action[\u0027_parent\u0027] \u003d doc[parent_field] + ADMIN_ID_SUFFIX"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_9ba9e427","line":222,"range":{"start_line":222,"start_character":40,"end_line":222,"end_character":60},"in_reply_to":"9aed3d3a_0df7b48b","updated":"2016-03-04 21:27:06.000000000","message":"Done","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":222,"context_line":"            routing_field \u003d self.plugin.get_routing_id_field()"},{"line_number":223,"context_line":"            if parent_field:"},{"line_number":224,"context_line":"                if self.plugin.parent_plugin.requires_role_separation:"},{"line_number":225,"context_line":"                    action[\u0027_parent\u0027] \u003d doc[parent_field] + ADMIN_ID_SUFFIX"},{"line_number":226,"context_line":"                else:"},{"line_number":227,"context_line":"                    action[\u0027_parent\u0027] \u003d doc[parent_field]"},{"line_number":228,"context_line":"            if routing_field:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_713e1229","line":225,"range":{"start_line":225,"start_character":60,"end_line":225,"end_character":75},"updated":"2016-02-29 19:54:08.000000000","message":"Should this always be ADMIN_ID_SUFFIX? Surely if this plugin requires it, it should be the same as this one. It may be simpler conceptually to insist that if parents are role separated, children are too. See https://bugs.launchpad.net/searchlight/+bug/1550440","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":222,"context_line":"            routing_field \u003d self.plugin.get_routing_id_field()"},{"line_number":223,"context_line":"            if parent_field:"},{"line_number":224,"context_line":"                if self.plugin.parent_plugin.requires_role_separation:"},{"line_number":225,"context_line":"                    action[\u0027_parent\u0027] \u003d doc[parent_field] + ADMIN_ID_SUFFIX"},{"line_number":226,"context_line":"                else:"},{"line_number":227,"context_line":"                    action[\u0027_parent\u0027] \u003d doc[parent_field]"},{"line_number":228,"context_line":"            if routing_field:"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_fb3e28d9","line":225,"range":{"start_line":225,"start_character":60,"end_line":225,"end_character":75},"in_reply_to":"9aed3d3a_713e1229","updated":"2016-03-04 21:27:06.000000000","message":"Either admin_id suffix or user_id suffix has to be provided when children are not role separated but parent is.","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"c48a14ca6cba19bac4ef83994af3209ea9d1d5b0","unresolved":false,"context_lines":[{"line_number":227,"context_line":"                    action[\u0027_parent\u0027] \u003d doc[parent_field]"},{"line_number":228,"context_line":"            if routing_field:"},{"line_number":229,"context_line":"                if self.plugin.routing_parent_plugin.requires_role_separation:"},{"line_number":230,"context_line":"                    action[\u0027_routing\u0027] \u003d doc[routing_field] + ADMIN_ID_SUFFIX"},{"line_number":231,"context_line":"                else:"},{"line_number":232,"context_line":"                    action[\u0027_routing\u0027] \u003d doc[routing_field]"},{"line_number":233,"context_line":"            return action"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aed3d3a_310f6a89","line":230,"range":{"start_line":230,"start_character":58,"end_line":230,"end_character":59},"updated":"2016-02-29 19:54:08.000000000","message":"This doesn\u0027t make sense to me. Why would we set the routing differently depending on the role separation?","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b55130f69cdba84a5a102dc5d193a2404079053","unresolved":false,"context_lines":[{"line_number":227,"context_line":"                    action[\u0027_parent\u0027] \u003d doc[parent_field]"},{"line_number":228,"context_line":"            if routing_field:"},{"line_number":229,"context_line":"                if self.plugin.routing_parent_plugin.requires_role_separation:"},{"line_number":230,"context_line":"                    action[\u0027_routing\u0027] \u003d doc[routing_field] + ADMIN_ID_SUFFIX"},{"line_number":231,"context_line":"                else:"},{"line_number":232,"context_line":"                    action[\u0027_routing\u0027] \u003d doc[routing_field]"},{"line_number":233,"context_line":"            return action"}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_bb1b0080","line":230,"range":{"start_line":230,"start_character":58,"end_line":230,"end_character":59},"in_reply_to":"9aed3d3a_310f6a89","updated":"2016-03-04 21:27:06.000000000","message":"Instead of parent/grandparent based routing, will be using tenant based routing as discussed.  But to your question if we used parent based routing, the reason is same as above.","commit_id":"a5c682051f7210821b2914377716ee8ef8bedee8"},{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Hewlett-Packard Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_3dd39d61","line":1,"updated":"2016-03-03 23:27:16.000000000","message":"Add 2016.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Hewlett-Packard Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_ef4dbb9a","line":1,"in_reply_to":"7af24918_3dd39d61","updated":"2016-03-05 00:14:44.000000000","message":"This file was only modified now, so i am not sure. we can do this for all files as separate patch.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"}],"searchlight/tests/functional/__init__.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"95684ee80260cd822207f642ba0a68b358ce1c1e","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            (\u0027nova\u0027, \u0027servers\u0027)"},{"line_number":396,"context_line":"            (\u0027swift\u0027, \u0027accounts\u0027), (\u0027swift\u0027, \u0027containers\u0027),"},{"line_number":397,"context_line":"            (\u0027swift\u0027, \u0027objects\u0027)"},{"line_number":398,"context_line":"        )"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        plugins \u003d filter(lambda plugin: plugin not in exclude_plugins, plugins)"},{"line_number":401,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"5aef4532_a0bff9f9","line":398,"range":{"start_line":398,"start_character":8,"end_line":398,"end_character":9},"updated":"2016-03-08 22:39:20.000000000","message":"The neutron changes are showing as removed - rebasing error? Unless there are functional tests for these they don\u0027t need adding to this list","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e9c89a036d22cbf7fe7cfaa5e5e8f2d9f03544e6","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            (\u0027nova\u0027, \u0027servers\u0027)"},{"line_number":396,"context_line":"            (\u0027swift\u0027, \u0027accounts\u0027), (\u0027swift\u0027, \u0027containers\u0027),"},{"line_number":397,"context_line":"            (\u0027swift\u0027, \u0027objects\u0027)"},{"line_number":398,"context_line":"        )"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        plugins \u003d filter(lambda plugin: plugin not in exclude_plugins, plugins)"},{"line_number":401,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"3afc51ec_38824453","line":398,"range":{"start_line":398,"start_character":8,"end_line":398,"end_character":9},"in_reply_to":"5aef4532_a0bff9f9","updated":"2016-03-11 18:58:41.000000000","message":"Yeah will add functional tests in another patch","commit_id":"d59ba323db817c5e7a0b8384ffde41d416a10dda"}],"searchlight/tests/unit/v1/test_search.py":[{"author":{"_account_id":14680,"name":"Rick Aulino","email":"rick.aulino@hpe.com","username":"ricka"},"change_message_id":"dfb2d0d829c916e6c5fc82bf28fd154874e7265b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Hewlett-Packard Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_bdc7ad94","line":1,"updated":"2016-03-03 23:27:16.000000000","message":"Add 2016.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"09085725c8b3ef1d79f8ba8b4db5290d86237a9b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Hewlett-Packard Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":11,"id":"7af24918_2f484387","line":1,"in_reply_to":"7af24918_bdc7ad94","updated":"2016-03-05 00:14:44.000000000","message":"This file was only modified now, so i am not sure. we can do this for all files as separate patch.","commit_id":"02dfcf4e06c3f5c5469fd8e2202741dae8bbd133"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"a2bb8c5985d43521ab1b06a4f3996a9ab03d2fdc","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        self.assertEqual(expected_query, output[\u0027query\u0027])"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def test_rbac_admin(self):"},{"line_number":589,"context_line":"        \"\"\"Test that admins have RBAC applied unless \u0027all_projects\u0027 is true\"\"\""},{"line_number":590,"context_line":"        request \u003d unit_test_utils.get_fake_request(is_admin\u003dTrue)"},{"line_number":591,"context_line":"        request.body \u003d six.b(jsonutils.dumps({"},{"line_number":592,"context_line":"            \u0027query\u0027: {\u0027match_all\u0027: {}},"}],"source_content_type":"text/x-python","patch_set":30,"id":"1af94dfe_f1cb8ca3","line":589,"updated":"2016-03-16 21:07:38.000000000","message":"This is now not true. (comment should change) since test did.","commit_id":"1fa7ce59ce1a68beea50d26fe02aaf4e70053cd2"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"7309025a2263151a89222da8dacda728e2ff3f17","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        self.assertEqual(expected_query, output[\u0027query\u0027])"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def test_rbac_admin(self):"},{"line_number":589,"context_line":"        \"\"\"Test that admins have RBAC applied unless \u0027all_projects\u0027 is true\"\"\""},{"line_number":590,"context_line":"        request \u003d unit_test_utils.get_fake_request(is_admin\u003dTrue)"},{"line_number":591,"context_line":"        request.body \u003d six.b(jsonutils.dumps({"},{"line_number":592,"context_line":"            \u0027query\u0027: {\u0027match_all\u0027: {}},"}],"source_content_type":"text/x-python","patch_set":30,"id":"1af94dfe_51eec0ec","line":589,"in_reply_to":"1af94dfe_f1cb8ca3","updated":"2016-03-16 21:18:35.000000000","message":"Done","commit_id":"1fa7ce59ce1a68beea50d26fe02aaf4e70053cd2"}],"setup.cfg":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"76cfd88d8e7c67f1c2f6163f9bfd9e3ca29f3c87","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    os_designate_zone \u003d searchlight.elasticsearch.plugins.designate.zones:ZoneIndex"},{"line_number":34,"context_line":"    os_swift_account \u003d searchlight.elasticsearch.plugins.swift.accounts:AccountIndex"},{"line_number":35,"context_line":"    os_swift_container \u003d searchlight.elasticsearch.plugins.swift.containers:ContainerIndex"},{"line_number":36,"context_line":"    os_swift_object \u003d searchlight.elasticsearch.plugins.swift.objects:ObjectIndex"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"[build_sphinx]"},{"line_number":39,"context_line":"all_files \u003d 1"}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"7a5de9d1_6e546e52","line":36,"range":{"start_line":36,"start_character":19,"end_line":36,"end_character":20},"updated":"2016-01-29 19:51:59.000000000","message":"Likely need to disable these in the default devstack configuration; swift is not part of the standard devstack deployment","commit_id":"fa566290c968355c86ac61f9bb206e01435e0695"}]}
