)]}'
{"goals/proposed/migrate-to-privsep.rst":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"1429d03b92ce4b65ab7681e5c8bfd13daa6c707e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Along with the main goal of replacing oslo.rootwrap, a secondary but important"},{"line_number":17,"context_line":"goal during the migration, is the correct implementation of oslo.privsep"},{"line_number":18,"context_line":"security model. As commented in the OpenStack mailing list [1]_, the security"},{"line_number":19,"context_line":"idea is based on the principal of least privilege. That means any command"},{"line_number":20,"context_line":"executed inside a privsep context [2]_ should gain the minimum needed"},{"line_number":21,"context_line":"privileges to execute the task and exit. Unfortunately some projects have"},{"line_number":22,"context_line":"implemented all privileged commands under a single privsep context, containing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df33271e_ad449f1a","line":19,"range":{"start_line":19,"start_character":21,"end_line":19,"end_character":30},"updated":"2020-04-07 17:23:43.000000000","message":"principle","commit_id":"af1c2b00968cbc1bb37ca848e3ed62eff64a69b0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"706adcb94b6ffca43f58884eaff4fb728e4a556a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Along with the main goal of replacing oslo.rootwrap, a secondary but important"},{"line_number":17,"context_line":"goal during the migration, is the correct implementation of oslo.privsep"},{"line_number":18,"context_line":"security model. As commented in the OpenStack mailing list [1]_, the security"},{"line_number":19,"context_line":"idea is based on the principal of least privilege. That means any command"},{"line_number":20,"context_line":"executed inside a privsep context [2]_ should gain the minimum needed"},{"line_number":21,"context_line":"privileges to execute the task and exit. Unfortunately some projects have"},{"line_number":22,"context_line":"implemented all privileged commands under a single privsep context, containing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df33271e_0df02bc9","line":19,"range":{"start_line":19,"start_character":21,"end_line":19,"end_character":30},"in_reply_to":"df33271e_ad449f1a","updated":"2020-04-07 17:31:19.000000000","message":"Done","commit_id":"af1c2b00968cbc1bb37ca848e3ed62eff64a69b0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"1429d03b92ce4b65ab7681e5c8bfd13daa6c707e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Current State / Anticipated Impact"},{"line_number":61,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* neutron"},{"line_number":66,"context_line":"* os-brick"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df33271e_6d43b714","line":63,"updated":"2020-04-07 17:23:43.000000000","message":"what about those implementing it wrong?","commit_id":"af1c2b00968cbc1bb37ca848e3ed62eff64a69b0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"706adcb94b6ffca43f58884eaff4fb728e4a556a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Current State / Anticipated Impact"},{"line_number":61,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* neutron"},{"line_number":66,"context_line":"* os-brick"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df33271e_adc93f7a","line":63,"in_reply_to":"df33271e_6d43b714","updated":"2020-04-07 17:31:19.000000000","message":"This is not a goal of this project. The existing implementation should be refactored but not tracked in this proposal. Of course, any new patch submitted should comply with this secondary goal.","commit_id":"af1c2b00968cbc1bb37ca848e3ed62eff64a69b0"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"21dcf7d73393e9d40348dcfe296508d6078555cc","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Current State / Anticipated Impact"},{"line_number":61,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* neutron"},{"line_number":66,"context_line":"* os-brick"}],"source_content_type":"text/x-rst","patch_set":1,"id":"df33271e_ed7a27b8","line":63,"in_reply_to":"df33271e_adc93f7a","updated":"2020-04-07 17:50:40.000000000","message":"Ah, the wording is a bit unfortunate then, I read this as this is \u0027secondary goal\u0027 as in being run in addition to main.","commit_id":"af1c2b00968cbc1bb37ca848e3ed62eff64a69b0"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f96263beee8672252b5b99d76696036ef0c9ab16","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Migrate from oslo.rootwrap to oslo.privsep"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The oslo.rootwrap library is a precursor of oslo.privsep to allow code to run"},{"line_number":6,"context_line":"commands under \"sudo\" if they match a predefined filter. Beyond the bad"},{"line_number":7,"context_line":"performance of calling full commands in order to accomplish simple tasks,"},{"line_number":8,"context_line":"oslo.rootwrap also led to bad security; it was difficult to filter commands in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"df33271e_b48f9e21","line":5,"range":{"start_line":5,"start_character":57,"end_line":5,"end_character":65},"updated":"2020-04-08 19:53:56.000000000","message":"nit: I would say \"that allows\"","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b13fbca5b780686f6253404567e686f0ad00ba7f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Migrate from oslo.rootwrap to oslo.privsep"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The oslo.rootwrap library is a precursor of oslo.privsep to allow code to run"},{"line_number":6,"context_line":"commands under \"sudo\" if they match a predefined filter. Beyond the bad"},{"line_number":7,"context_line":"performance of calling full commands in order to accomplish simple tasks,"},{"line_number":8,"context_line":"oslo.rootwrap also led to bad security; it was difficult to filter commands in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f4c43b2_43f4d886","line":5,"range":{"start_line":5,"start_character":57,"end_line":5,"end_character":65},"in_reply_to":"df33271e_b48f9e21","updated":"2020-04-15 16:42:46.000000000","message":"Done","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f96263beee8672252b5b99d76696036ef0c9ab16","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The oslo.rootwrap library is a precursor of oslo.privsep to allow code to run"},{"line_number":6,"context_line":"commands under \"sudo\" if they match a predefined filter. Beyond the bad"},{"line_number":7,"context_line":"performance of calling full commands in order to accomplish simple tasks,"},{"line_number":8,"context_line":"oslo.rootwrap also led to bad security; it was difficult to filter commands in"},{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"df33271e_94941a39","line":6,"range":{"start_line":6,"start_character":25,"end_line":6,"end_character":29},"updated":"2020-04-08 19:53:56.000000000","message":"nit: Since \"code\" (as in source code) is an uncountable noun in English you would consider it singular so the properly agreeing words would be \"to allow code ... if it matches\".","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b13fbca5b780686f6253404567e686f0ad00ba7f","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The oslo.rootwrap library is a precursor of oslo.privsep to allow code to run"},{"line_number":6,"context_line":"commands under \"sudo\" if they match a predefined filter. Beyond the bad"},{"line_number":7,"context_line":"performance of calling full commands in order to accomplish simple tasks,"},{"line_number":8,"context_line":"oslo.rootwrap also led to bad security; it was difficult to filter commands in"},{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f4c43b2_c35c6880","line":6,"range":{"start_line":6,"start_character":25,"end_line":6,"end_character":29},"in_reply_to":"df33271e_94941a39","updated":"2020-04-15 16:42:46.000000000","message":"Done","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f96263beee8672252b5b99d76696036ef0c9ab16","unresolved":false,"context_lines":[{"line_number":5,"context_line":"The oslo.rootwrap library is a precursor of oslo.privsep to allow code to run"},{"line_number":6,"context_line":"commands under \"sudo\" if they match a predefined filter. Beyond the bad"},{"line_number":7,"context_line":"performance of calling full commands in order to accomplish simple tasks,"},{"line_number":8,"context_line":"oslo.rootwrap also led to bad security; it was difficult to filter commands in"},{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"oslo.privsep offers a superior security model, faster and more secure. During"}],"source_content_type":"text/x-rst","patch_set":3,"id":"df33271e_74d7d6ef","line":8,"range":{"start_line":8,"start_character":30,"end_line":8,"end_character":39},"updated":"2020-04-08 19:53:56.000000000","message":"nit: I would use a colon here; you can use a colon to connect two sentences when the second sentence summarizes, sharpens, or explains the first","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"bcce2085249909a66d8dd9df4f7e2bec7388b737","unresolved":false,"context_lines":[{"line_number":5,"context_line":"The oslo.rootwrap library is a precursor of oslo.privsep to allow code to run"},{"line_number":6,"context_line":"commands under \"sudo\" if they match a predefined filter. Beyond the bad"},{"line_number":7,"context_line":"performance of calling full commands in order to accomplish simple tasks,"},{"line_number":8,"context_line":"oslo.rootwrap also led to bad security; it was difficult to filter commands in"},{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"oslo.privsep offers a superior security model, faster and more secure. During"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f4c43b2_7bbff8cf","line":8,"range":{"start_line":8,"start_character":30,"end_line":8,"end_character":39},"in_reply_to":"3f4c43b2_23e0ac96","updated":"2020-04-15 18:34:02.000000000","message":"No, you are using a semicolon (;) which connects two complete sentences that are independent from each other; the colon (:) connects two sentences when the latter depends on or is tightly related to the former.","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b13fbca5b780686f6253404567e686f0ad00ba7f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"The oslo.rootwrap library is a precursor of oslo.privsep to allow code to run"},{"line_number":6,"context_line":"commands under \"sudo\" if they match a predefined filter. Beyond the bad"},{"line_number":7,"context_line":"performance of calling full commands in order to accomplish simple tasks,"},{"line_number":8,"context_line":"oslo.rootwrap also led to bad security; it was difficult to filter commands in"},{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"oslo.privsep offers a superior security model, faster and more secure. During"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f4c43b2_23e0ac96","line":8,"range":{"start_line":8,"start_character":30,"end_line":8,"end_character":39},"in_reply_to":"df33271e_74d7d6ef","updated":"2020-04-15 16:42:46.000000000","message":"But I\u0027m using a colon there. Sorry, I don\u0027t get this comment","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f96263beee8672252b5b99d76696036ef0c9ab16","unresolved":false,"context_lines":[{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"oslo.privsep offers a superior security model, faster and more secure. During"},{"line_number":12,"context_line":"the last cycles and since oslo.privsep was released, the Community has"},{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"df33271e_d401826c","line":12,"range":{"start_line":12,"start_character":57,"end_line":12,"end_character":66},"updated":"2020-04-08 19:53:56.000000000","message":"nit: I don\u0027t think the community should be capitalized here.","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b13fbca5b780686f6253404567e686f0ad00ba7f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"oslo.privsep offers a superior security model, faster and more secure. During"},{"line_number":12,"context_line":"the last cycles and since oslo.privsep was released, the Community has"},{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f4c43b2_83f0a069","line":12,"range":{"start_line":12,"start_character":57,"end_line":12,"end_character":66},"in_reply_to":"df33271e_d401826c","updated":"2020-04-15 16:42:46.000000000","message":"Done","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f96263beee8672252b5b99d76696036ef0c9ab16","unresolved":false,"context_lines":[{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Along with the main goal of replacing oslo.rootwrap, a secondary but important"},{"line_number":17,"context_line":"goal during the migration, is the correct implementation of oslo.privsep"},{"line_number":18,"context_line":"security model. As commented in the OpenStack mailing list [1]_, the security"},{"line_number":19,"context_line":"idea is based on the principle of least privilege. That means any command"},{"line_number":20,"context_line":"executed inside a privsep context [2]_ should gain the minimum needed"},{"line_number":21,"context_line":"privileges to execute the task and exit. Unfortunately some projects have"}],"source_content_type":"text/x-rst","patch_set":3,"id":"df33271e_f458068b","line":18,"range":{"start_line":16,"start_character":0,"end_line":18,"end_character":15},"updated":"2020-04-08 19:53:56.000000000","message":"I would remove the entire concept of a secondary goal here as it is misleading.  I would suggest wording something like this: \"Replacing instances of oslo.rootwrap usage requires more than just a drop-in replacement.  The oslo.privsep approach is different and will require rethinking the way each privileged operation is conducted in a way that precludes a blind or programmatic substitution.\"","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b13fbca5b780686f6253404567e686f0ad00ba7f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Along with the main goal of replacing oslo.rootwrap, a secondary but important"},{"line_number":17,"context_line":"goal during the migration, is the correct implementation of oslo.privsep"},{"line_number":18,"context_line":"security model. As commented in the OpenStack mailing list [1]_, the security"},{"line_number":19,"context_line":"idea is based on the principle of least privilege. That means any command"},{"line_number":20,"context_line":"executed inside a privsep context [2]_ should gain the minimum needed"},{"line_number":21,"context_line":"privileges to execute the task and exit. Unfortunately some projects have"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f4c43b2_ae7303b1","line":18,"range":{"start_line":16,"start_character":0,"end_line":18,"end_character":15},"in_reply_to":"df33271e_f458068b","updated":"2020-04-15 16:42:46.000000000","message":"Done and thanks!! I had problems with this \"secondary goal\" concept.","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"f96263beee8672252b5b99d76696036ef0c9ab16","unresolved":false,"context_lines":[{"line_number":43,"context_line":"related patch."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Completion Criteria"},{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"#. A migrated project should not import oslo.rootwrap, the rootwrap filters"}],"source_content_type":"text/x-rst","patch_set":3,"id":"df33271e_548c52d6","line":46,"range":{"start_line":46,"start_character":0,"end_line":46,"end_character":19},"updated":"2020-04-08 19:53:56.000000000","message":"Would it make sense to also declare implementation complete when we add a check for oslo.rootwrap import to hacking [1]?\n\n[1] https://opendev.org/openstack/hacking/src/branch/master/hacking/checks/imports.py","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b13fbca5b780686f6253404567e686f0ad00ba7f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"related patch."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Completion Criteria"},{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"#. A migrated project should not import oslo.rootwrap, the rootwrap filters"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f4c43b2_ae81434d","line":46,"range":{"start_line":46,"start_character":0,"end_line":46,"end_character":19},"in_reply_to":"df33271e_548c52d6","updated":"2020-04-15 16:42:46.000000000","message":"Sure","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"c3b1eae53d3e5b5c830836c98de44b17ab373fbf","unresolved":false,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"#. A migrated project should not import oslo.rootwrap, the rootwrap filters"},{"line_number":50,"context_line":"should be deleted and the library should be be required anymore during the"},{"line_number":51,"context_line":"project installation."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f4c43b2_aa182cd3","line":50,"range":{"start_line":50,"start_character":41,"end_line":50,"end_character":46},"updated":"2020-04-14 13:08:03.000000000","message":"not be ?","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b13fbca5b780686f6253404567e686f0ad00ba7f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"#. A migrated project should not import oslo.rootwrap, the rootwrap filters"},{"line_number":50,"context_line":"should be deleted and the library should be be required anymore during the"},{"line_number":51,"context_line":"project installation."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f4c43b2_6e873b63","line":50,"range":{"start_line":50,"start_character":41,"end_line":50,"end_character":46},"in_reply_to":"3f4c43b2_aa182cd3","updated":"2020-04-15 16:42:46.000000000","message":"Done","commit_id":"3e1897fccbcbd464355ebbd73ca26ff2fa1371c0"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"8ad9391fdca988b16286ad779283eb9488db8bda","unresolved":false,"context_lines":[{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Replacing instances of oslo.rootwrap usage requires more than just a drop-in"},{"line_number":17,"context_line":"replacement. The oslo.privsep approach is different and will require rethinking"},{"line_number":18,"context_line":"the way each privileged operation is conducted in a way that precludes a blind"},{"line_number":19,"context_line":"or programmatic substitution. As commented in the OpenStack mailing list [1]_,"},{"line_number":20,"context_line":"the security idea is based on the principle of least privilege. That means any"},{"line_number":21,"context_line":"command executed inside a privsep context [2]_ should gain the minimum needed"},{"line_number":22,"context_line":"privileges to execute the task and exit. Unfortunately some projects have"},{"line_number":23,"context_line":"implemented all privileged commands under a single privsep context, containing"},{"line_number":24,"context_line":"all needed capabilities [3]_ to execute all those commands. This is an"},{"line_number":25,"context_line":"incorrect implementation of oslo.privsep and should be considered during the"},{"line_number":26,"context_line":"migration."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Champion"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4c43b2_3bff2102","line":26,"range":{"start_line":16,"start_character":0,"end_line":26,"end_character":10},"updated":"2020-04-16 12:58:00.000000000","message":"While this is technically true, it\u0027s not linked to any completion criteria.\n\nShould this text be moved to the reference instead? Or maybe add a stretch goal in the completion criteria?","commit_id":"6c22598bac3b8cc67f80118100d961e515dbbe51"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"19763ae28f27852a2a402c8ea19b7f37cf33f92a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Replacing instances of oslo.rootwrap usage requires more than just a drop-in"},{"line_number":17,"context_line":"replacement. The oslo.privsep approach is different and will require rethinking"},{"line_number":18,"context_line":"the way each privileged operation is conducted in a way that precludes a blind"},{"line_number":19,"context_line":"or programmatic substitution. As commented in the OpenStack mailing list [1]_,"},{"line_number":20,"context_line":"the security idea is based on the principle of least privilege. That means any"},{"line_number":21,"context_line":"command executed inside a privsep context [2]_ should gain the minimum needed"},{"line_number":22,"context_line":"privileges to execute the task and exit. Unfortunately some projects have"},{"line_number":23,"context_line":"implemented all privileged commands under a single privsep context, containing"},{"line_number":24,"context_line":"all needed capabilities [3]_ to execute all those commands. This is an"},{"line_number":25,"context_line":"incorrect implementation of oslo.privsep and should be considered during the"},{"line_number":26,"context_line":"migration."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Champion"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4c43b2_9b3635e7","line":26,"range":{"start_line":16,"start_character":0,"end_line":26,"end_character":10},"in_reply_to":"3f4c43b2_3bff2102","updated":"2020-04-16 13:00:08.000000000","message":"To note: Because the \"secondary objective\" was already discussed, and we want to avoid the back and forth, it\u0027s probably wise to either put it in reference, or to rephrase this paragraph to clarify its purpose.","commit_id":"6c22598bac3b8cc67f80118100d961e515dbbe51"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ad08b52342fc5a6fe4390348d3be5bf9ea476500","unresolved":false,"context_lines":[{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Replacing instances of oslo.rootwrap usage requires more than just a drop-in"},{"line_number":17,"context_line":"replacement. The oslo.privsep approach is different and will require rethinking"},{"line_number":18,"context_line":"the way each privileged operation is conducted in a way that precludes a blind"},{"line_number":19,"context_line":"or programmatic substitution. As commented in the OpenStack mailing list [1]_,"},{"line_number":20,"context_line":"the security idea is based on the principle of least privilege. That means any"},{"line_number":21,"context_line":"command executed inside a privsep context [2]_ should gain the minimum needed"},{"line_number":22,"context_line":"privileges to execute the task and exit. Unfortunately some projects have"},{"line_number":23,"context_line":"implemented all privileged commands under a single privsep context, containing"},{"line_number":24,"context_line":"all needed capabilities [3]_ to execute all those commands. This is an"},{"line_number":25,"context_line":"incorrect implementation of oslo.privsep and should be considered during the"},{"line_number":26,"context_line":"migration."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Champion"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4c43b2_26db851b","line":26,"range":{"start_line":16,"start_character":0,"end_line":26,"end_character":10},"in_reply_to":"3f4c43b2_9b3635e7","updated":"2020-04-16 16:18:18.000000000","message":"This isn\u0027t a goal of this proposal but a technical recommendation. When I proposed it in the mailing list, there were many recommendations to make this migration properly. That\u0027s why I added this paragraph. I\u0027ll move it to \"reference\".","commit_id":"6c22598bac3b8cc67f80118100d961e515dbbe51"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"90422d0f69bb2e0c2a29f7dd2519f774f8231900","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* neutron"},{"line_number":105,"context_line":"* os-brick"},{"line_number":106,"context_line":"* designate"},{"line_number":107,"context_line":"* cinder"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4c43b2_09d0311f","line":104,"updated":"2020-04-15 17:46:23.000000000","message":"Probably just my OCD, but having this sorted alphabetically could make it easier to locate projects of interest in the list.","commit_id":"6c22598bac3b8cc67f80118100d961e515dbbe51"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"e8806a8d3aa0eafc094a761f5df190ba8c9be5ff","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* neutron"},{"line_number":105,"context_line":"* os-brick"},{"line_number":106,"context_line":"* designate"},{"line_number":107,"context_line":"* cinder"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4c43b2_ba404f37","line":104,"in_reply_to":"3f4c43b2_09d0311f","updated":"2020-04-16 10:11:10.000000000","message":"++","commit_id":"6c22598bac3b8cc67f80118100d961e515dbbe51"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ad08b52342fc5a6fe4390348d3be5bf9ea476500","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* neutron"},{"line_number":105,"context_line":"* os-brick"},{"line_number":106,"context_line":"* designate"},{"line_number":107,"context_line":"* cinder"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4c43b2_46097193","line":104,"in_reply_to":"3f4c43b2_40315c0b","updated":"2020-04-16 16:18:18.000000000","message":"done","commit_id":"6c22598bac3b8cc67f80118100d961e515dbbe51"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"8ad9391fdca988b16286ad779283eb9488db8bda","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* neutron"},{"line_number":105,"context_line":"* os-brick"},{"line_number":106,"context_line":"* designate"},{"line_number":107,"context_line":"* cinder"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4c43b2_40315c0b","line":104,"in_reply_to":"3f4c43b2_ba404f37","updated":"2020-04-16 12:58:00.000000000","message":"agreed too.","commit_id":"6c22598bac3b8cc67f80118100d961e515dbbe51"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2a2b449f5727bb62438242a9a93d93f0e8665489","unresolved":false,"context_lines":[{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"oslo.privsep offers a superior security model, faster and more secure. During"},{"line_number":12,"context_line":"the last cycles and since oslo.privsep was released, the community has"},{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f493fa4_3fb508ce","line":12,"range":{"start_line":12,"start_character":4,"end_line":12,"end_character":8},"updated":"2020-04-27 21:44:48.000000000","message":"you mean train?","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"98b2d64397d3329c549de9f8d124b9e8ff78da7d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"oslo.privsep offers a superior security model, faster and more secure. During"},{"line_number":12,"context_line":"the last cycles and since oslo.privsep was released, the community has"},{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f493fa4_685dd813","line":12,"range":{"start_line":12,"start_character":4,"end_line":12,"end_character":8},"in_reply_to":"1f493fa4_3fb508ce","updated":"2020-04-30 09:33:28.000000000","message":"Not only Train but since oslo.privsep was released, as a replacement for rootwrap","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"2053168e887b3cc77fd61acc4a0191386b7ff9a4","unresolved":false,"context_lines":[{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"oslo.privsep offers a superior security model, faster and more secure. During"},{"line_number":12,"context_line":"the last cycles and since oslo.privsep was released, the community has"},{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f493fa4_d5db20ea","line":12,"range":{"start_line":12,"start_character":4,"end_line":12,"end_character":8},"in_reply_to":"1f493fa4_3fb508ce","updated":"2020-04-28 07:44:18.000000000","message":"nit: This file can be read at any time, so \"During the last cycles\" is vague, and should probably be removed.\nI therefore agree with gmann on clarification of what you meant.","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"98b2d64397d3329c549de9f8d124b9e8ff78da7d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"a way that would not easily allow privilege escalation."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"oslo.privsep offers a superior security model, faster and more secure. During"},{"line_number":12,"context_line":"the last cycles and since oslo.privsep was released, the community has"},{"line_number":13,"context_line":"encouraged the usage of oslo.privsep and the deprecation of any existing code"},{"line_number":14,"context_line":"still using oslo.rootwrap."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f493fa4_48b1fc46","line":12,"range":{"start_line":12,"start_character":4,"end_line":12,"end_character":8},"in_reply_to":"1f493fa4_d5db20ea","updated":"2020-04-30 09:33:28.000000000","message":"I\u0027ll keep \"since oslo.privsep was released\"","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"f3e7ca28058cea834a02b1a549177468075d9a58","unresolved":false,"context_lines":[{"line_number":40,"context_line":"project installation."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"#. The migration will be considered complete when no project inherits"},{"line_number":43,"context_line":"oslo.rootwrap and this import is added to hacking [1]_."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4c43b2_75740369","line":43,"updated":"2020-04-17 11:39:28.000000000","message":"those completion criteria sounds for me like this could be \"multiple cycles\" goal :)","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"98b2d64397d3329c549de9f8d124b9e8ff78da7d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"project installation."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"#. The migration will be considered complete when no project inherits"},{"line_number":43,"context_line":"oslo.rootwrap and this import is added to hacking [1]_."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f493fa4_68b2f84a","line":43,"in_reply_to":"3f4c43b2_75740369","updated":"2020-04-30 09:33:28.000000000","message":"For sure it will take several cycles. Let\u0027s go for it!","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"2053168e887b3cc77fd61acc4a0191386b7ff9a4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"project installation."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"#. The migration will be considered complete when no project inherits"},{"line_number":43,"context_line":"oslo.rootwrap and this import is added to hacking [1]_."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f493fa4_55f1d06a","line":43,"in_reply_to":"3f4c43b2_75740369","updated":"2020-04-28 07:44:18.000000000","message":"Should we be optimistic? :D","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2a2b449f5727bb62438242a9a93d93f0e8665489","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Current State / Anticipated Impact"},{"line_number":101,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* ceilometer"},{"line_number":106,"context_line":"* cinder"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f493fa4_1fdf6c0d","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":23},"updated":"2020-04-27 21:44:48.000000000","message":"is this complete list who need migration or at least these are known projects to perform migration?","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"98b2d64397d3329c549de9f8d124b9e8ff78da7d","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Current State / Anticipated Impact"},{"line_number":101,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* ceilometer"},{"line_number":106,"context_line":"* cinder"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f493fa4_a8d7e04a","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":23},"in_reply_to":"1f493fa4_1fdf6c0d","updated":"2020-04-30 09:33:28.000000000","message":"I obtained this list from codesearch. This should be the complete list of projects to migrate. kolla is using rootwrap as far as other projects use it. But you are right, we should add kolla too.","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"2053168e887b3cc77fd61acc4a0191386b7ff9a4","unresolved":false,"context_lines":[{"line_number":100,"context_line":"Current State / Anticipated Impact"},{"line_number":101,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"These are the projects still using oslo.rootwrap that should migrate:"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* ceilometer"},{"line_number":106,"context_line":"* cinder"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f493fa4_554d5098","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":23},"in_reply_to":"1f493fa4_1fdf6c0d","updated":"2020-04-28 07:44:18.000000000","message":"this is an almost exhaustive list. Some other projects still have oslo.rootwrap in their repos, like kolla. According to codesearch.o.o.","commit_id":"ee05f6ebfb05605a8dd3ad2138471287ca6c450c"}]}
