)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"456ea65ddeb38bd507022dfacb95df39de852eb8","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2021-05-08 06:57:32 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Running Cyborg with rootwrap as a daemon"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I1904efd872d7ab41ce6d835ce8dd8ab199b6a081"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"b8a1101a_eaaf534d","line":8,"updated":"2021-05-14 13:45:44.000000000","message":"missing bp links","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2021-05-08 06:57:32 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Running Cyborg with rootwrap as a daemon"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I1904efd872d7ab41ce6d835ce8dd8ab199b6a081"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"a167fa06_e4cf534c","line":8,"in_reply_to":"b8a1101a_eaaf534d","updated":"2021-05-17 08:45:22.000000000","message":"Done","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"}],"specs/xena/approved/cyborg-rootwrap-daemon-mode.rst":[{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"456ea65ddeb38bd507022dfacb95df39de852eb8","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Cyborg is one of projects that heavily depends on executing actions on compute"},{"line_number":15,"context_line":"nodes that require root priviledges on Linux system. Currently this"},{"line_number":16,"context_line":"is achieved with oslo.rootwrap that has to be run with sudo. Both sudo and"},{"line_number":17,"context_line":"rootwrap produce significant performance overhead. This blueprint is one of the"},{"line_number":18,"context_line":"series of blueprints that would cover mitigating rootwrap part of the overhead"},{"line_number":19,"context_line":"using new mode of operations for rootwrap - daemon mode. Nova and Neutron have"},{"line_number":20,"context_line":"already adopted this approach."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ea7c82ba_80c3210c","line":17,"range":{"start_line":16,"start_character":61,"end_line":17,"end_character":49},"updated":"2021-05-14 13:45:44.000000000","message":"why? could you please explain more?","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Cyborg is one of projects that heavily depends on executing actions on compute"},{"line_number":15,"context_line":"nodes that require root priviledges on Linux system. Currently this"},{"line_number":16,"context_line":"is achieved with oslo.rootwrap that has to be run with sudo. Both sudo and"},{"line_number":17,"context_line":"rootwrap produce significant performance overhead. This blueprint is one of the"},{"line_number":18,"context_line":"series of blueprints that would cover mitigating rootwrap part of the overhead"},{"line_number":19,"context_line":"using new mode of operations for rootwrap - daemon mode. Nova and Neutron have"},{"line_number":20,"context_line":"already adopted this approach."}],"source_content_type":"text/x-rst","patch_set":2,"id":"74487615_e26e2d26","line":17,"range":{"start_line":16,"start_character":61,"end_line":17,"end_character":49},"in_reply_to":"ea7c82ba_80c3210c","updated":"2021-05-17 08:45:22.000000000","message":"this maybe wrong, we havenot perfomances overhead, removed.","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"456ea65ddeb38bd507022dfacb95df39de852eb8","unresolved":true,"context_lines":[{"line_number":14,"context_line":"Cyborg is one of projects that heavily depends on executing actions on compute"},{"line_number":15,"context_line":"nodes that require root priviledges on Linux system. Currently this"},{"line_number":16,"context_line":"is achieved with oslo.rootwrap that has to be run with sudo. Both sudo and"},{"line_number":17,"context_line":"rootwrap produce significant performance overhead. This blueprint is one of the"},{"line_number":18,"context_line":"series of blueprints that would cover mitigating rootwrap part of the overhead"},{"line_number":19,"context_line":"using new mode of operations for rootwrap - daemon mode. Nova and Neutron have"},{"line_number":20,"context_line":"already adopted this approach."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"885952f7_244e42d3","line":18,"range":{"start_line":17,"start_character":76,"end_line":18,"end_character":20},"updated":"2021-05-14 13:45:44.000000000","message":"do we need other bp to complete this feature?","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":true,"context_lines":[{"line_number":14,"context_line":"Cyborg is one of projects that heavily depends on executing actions on compute"},{"line_number":15,"context_line":"nodes that require root priviledges on Linux system. Currently this"},{"line_number":16,"context_line":"is achieved with oslo.rootwrap that has to be run with sudo. Both sudo and"},{"line_number":17,"context_line":"rootwrap produce significant performance overhead. This blueprint is one of the"},{"line_number":18,"context_line":"series of blueprints that would cover mitigating rootwrap part of the overhead"},{"line_number":19,"context_line":"using new mode of operations for rootwrap - daemon mode. Nova and Neutron have"},{"line_number":20,"context_line":"already adopted this approach."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"112d4705_c92e3d83","line":18,"range":{"start_line":17,"start_character":76,"end_line":18,"end_character":20},"in_reply_to":"885952f7_244e42d3","updated":"2021-05-17 08:45:22.000000000","message":"removed.","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"456ea65ddeb38bd507022dfacb95df39de852eb8","unresolved":true,"context_lines":[{"line_number":22,"context_line":"Problem description"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Today, if the user uses Cyborg to manage NVMe SSD, it will raise"},{"line_number":26,"context_line":"`permission denied` by executing the `lvdisplay` command line to get the"},{"line_number":27,"context_line":"root disk with stack user."},{"line_number":28,"context_line":"As you can see in [#ne_ml]_ rootwrap presents big performance overhead for"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d4631f54_edb0166f","line":25,"range":{"start_line":25,"start_character":14,"end_line":25,"end_character":19},"updated":"2021-05-14 13:45:44.000000000","message":"this is admin user, right?","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":true,"context_lines":[{"line_number":22,"context_line":"Problem description"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Today, if the user uses Cyborg to manage NVMe SSD, it will raise"},{"line_number":26,"context_line":"`permission denied` by executing the `lvdisplay` command line to get the"},{"line_number":27,"context_line":"root disk with stack user."},{"line_number":28,"context_line":"As you can see in [#ne_ml]_ rootwrap presents big performance overhead for"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f5645a6f_a65f7d0f","line":25,"range":{"start_line":25,"start_character":14,"end_line":25,"end_character":19},"in_reply_to":"d4631f54_edb0166f","updated":"2021-05-17 08:45:22.000000000","message":"no, this is cloud platform user.","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"a8a2491258f1c3cd5f02d6fec07f41ce1a5e3275","unresolved":true,"context_lines":[{"line_number":33,"context_line":"Use Cases"},{"line_number":34,"context_line":"----------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"When the user is using Cyborg to manage accelerators such as NVMe SSD, AEP and"},{"line_number":37,"context_line":"so on, we need to make the `lvdisplay` and `ndctl` commands excuted with root"},{"line_number":38,"context_line":"priviledged."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"0237c7cc_dbbb9ad7","line":36,"range":{"start_line":36,"start_character":69,"end_line":36,"end_character":75},"updated":"2021-05-14 01:08:33.000000000","message":"I would like you remove this point, now we are not support manage AEP devices although we want to do that.","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"456ea65ddeb38bd507022dfacb95df39de852eb8","unresolved":true,"context_lines":[{"line_number":33,"context_line":"Use Cases"},{"line_number":34,"context_line":"----------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"When the user is using Cyborg to manage accelerators such as NVMe SSD, AEP and"},{"line_number":37,"context_line":"so on, we need to make the `lvdisplay` and `ndctl` commands excuted with root"},{"line_number":38,"context_line":"priviledged."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"302cfc2b_4e2b9d77","line":36,"range":{"start_line":36,"start_character":71,"end_line":36,"end_character":75},"updated":"2021-05-14 13:45:44.000000000","message":"persistent memory, AEP is a device model","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Use Cases"},{"line_number":34,"context_line":"----------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"When the user is using Cyborg to manage accelerators such as NVMe SSD, AEP and"},{"line_number":37,"context_line":"so on, we need to make the `lvdisplay` and `ndctl` commands excuted with root"},{"line_number":38,"context_line":"priviledged."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"680a2eec_c6c6c76e","line":36,"range":{"start_line":36,"start_character":69,"end_line":36,"end_character":75},"in_reply_to":"0237c7cc_dbbb9ad7","updated":"2021-05-17 08:45:22.000000000","message":"Done","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Use Cases"},{"line_number":34,"context_line":"----------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"When the user is using Cyborg to manage accelerators such as NVMe SSD, AEP and"},{"line_number":37,"context_line":"so on, we need to make the `lvdisplay` and `ndctl` commands excuted with root"},{"line_number":38,"context_line":"priviledged."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"31367816_1011bd9b","line":36,"range":{"start_line":36,"start_character":71,"end_line":36,"end_character":75},"in_reply_to":"302cfc2b_4e2b9d77","updated":"2021-05-17 08:45:22.000000000","message":"Done","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"a8a2491258f1c3cd5f02d6fec07f41ce1a5e3275","unresolved":true,"context_lines":[{"line_number":34,"context_line":"----------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"When the user is using Cyborg to manage accelerators such as NVMe SSD, AEP and"},{"line_number":37,"context_line":"so on, we need to make the `lvdisplay` and `ndctl` commands excuted with root"},{"line_number":38,"context_line":"priviledged."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":2,"id":"606dda60_bf9093e9","line":37,"range":{"start_line":37,"start_character":39,"end_line":37,"end_character":50},"updated":"2021-05-14 01:08:33.000000000","message":"ditto","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":false,"context_lines":[{"line_number":34,"context_line":"----------"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"When the user is using Cyborg to manage accelerators such as NVMe SSD, AEP and"},{"line_number":37,"context_line":"so on, we need to make the `lvdisplay` and `ndctl` commands excuted with root"},{"line_number":38,"context_line":"priviledged."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bcae318b_02a0ff6a","line":37,"range":{"start_line":37,"start_character":39,"end_line":37,"end_character":50},"in_reply_to":"606dda60_bf9093e9","updated":"2021-05-17 08:45:22.000000000","message":"Done","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"456ea65ddeb38bd507022dfacb95df39de852eb8","unresolved":true,"context_lines":[{"line_number":56,"context_line":"have access to the daemon. Further details of rootwrap daemon are covered in"},{"line_number":57,"context_line":"[#rw_bp]_."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"``use_rootwrap_daemon`` configuration option should be added that will make"},{"line_number":60,"context_line":"``utils.execute`` use daemon instead of usual rootwrap."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"153fc8cc_8c787af9","line":61,"range":{"start_line":59,"start_character":0,"end_line":61,"end_character":0},"updated":"2021-05-14 13:45:44.000000000","message":"nova and other project already adopt to oslo.privsep to limit the privieleged operation context. I think we should also support that.  what do you think?","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":true,"context_lines":[{"line_number":56,"context_line":"have access to the daemon. Further details of rootwrap daemon are covered in"},{"line_number":57,"context_line":"[#rw_bp]_."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"``use_rootwrap_daemon`` configuration option should be added that will make"},{"line_number":60,"context_line":"``utils.execute`` use daemon instead of usual rootwrap."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ee3ccb59_2a40d458","line":61,"range":{"start_line":59,"start_character":0,"end_line":61,"end_character":0},"in_reply_to":"153fc8cc_8c787af9","updated":"2021-05-17 08:45:22.000000000","message":"yes, and it\u0027s need to do.","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"a8a2491258f1c3cd5f02d6fec07f41ce1a5e3275","unresolved":true,"context_lines":[{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternative approaches have been discussed for Neutron in [#ne_eth]_."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Data model impact"},{"line_number":68,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d1d2669c_a4ad7f2e","line":65,"updated":"2021-05-14 01:08:33.000000000","message":"Although this is not belongs to Cyborg, but this idea comes from nova, so I think it\u0027s ok to leave this alternatives option.","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternative approaches have been discussed for Neutron in [#ne_eth]_."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Data model impact"},{"line_number":68,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a343e055_22d54d30","line":65,"in_reply_to":"d1d2669c_a4ad7f2e","updated":"2021-05-17 08:45:22.000000000","message":"Done","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"a8a2491258f1c3cd5f02d6fec07f41ce1a5e3275","unresolved":true,"context_lines":[{"line_number":126,"context_line":"Assignee(s)"},{"line_number":127,"context_line":"-----------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Primary assignee:"},{"line_number":130,"context_line":"  Davanum Srinivas \u003cdavanum@gmail.com\u003e"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Work Items"},{"line_number":133,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"0e4a8ef0_3bd68e78","line":130,"range":{"start_line":129,"start_character":0,"end_line":130,"end_character":38},"updated":"2021-05-14 01:08:33.000000000","message":"I think this is copied from nova project, this need to be changed.","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Assignee(s)"},{"line_number":127,"context_line":"-----------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Primary assignee:"},{"line_number":130,"context_line":"  Davanum Srinivas \u003cdavanum@gmail.com\u003e"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Work Items"},{"line_number":133,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"b2c2b79f_094654fc","line":130,"range":{"start_line":129,"start_character":0,"end_line":130,"end_character":38},"in_reply_to":"0e4a8ef0_3bd68e78","updated":"2021-05-17 08:45:22.000000000","message":"Done","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"a8a2491258f1c3cd5f02d6fec07f41ce1a5e3275","unresolved":true,"context_lines":[{"line_number":164,"context_line":"   https://etherpad.openstack.org/p/neutron-agent-exec-performance"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":".. [#cyborg_perf] Cyborg check-tempest-dsvm-full comparison:"},{"line_number":167,"context_line":"   https://docs.google.com/spreadsheets/d/1sxhan2fRg6eshY4559O8z1g8sFPRXma00xz53nZ6sAI/edit#gid\u003d870990378"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d71b9b57_90701b8d","line":167,"range":{"start_line":167,"start_character":3,"end_line":167,"end_character":105},"updated":"2021-05-14 01:08:33.000000000","message":"You should remove this reference, it\u0027s described nova needed roorwrap info.","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a9948c8c9871de674f64cbdfcc67101cf08d615f","unresolved":false,"context_lines":[{"line_number":164,"context_line":"   https://etherpad.openstack.org/p/neutron-agent-exec-performance"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":".. [#cyborg_perf] Cyborg check-tempest-dsvm-full comparison:"},{"line_number":167,"context_line":"   https://docs.google.com/spreadsheets/d/1sxhan2fRg6eshY4559O8z1g8sFPRXma00xz53nZ6sAI/edit#gid\u003d870990378"}],"source_content_type":"text/x-rst","patch_set":2,"id":"eeab60b0_98092ab1","line":167,"range":{"start_line":167,"start_character":3,"end_line":167,"end_character":105},"in_reply_to":"d71b9b57_90701b8d","updated":"2021-05-17 08:45:22.000000000","message":"Done","commit_id":"3ef20bdfc81450dfce232a10ea2c8ddf2b8182b9"}]}
