)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"be03853c50c9ac726fd97fe427a720f1db91d94e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a6971274_c80a65da","updated":"2023-07-27 07:37:59.000000000","message":"Hi, could we use root:root for all databases? as this can also resolve this problem: https://storyboard.openstack.org/#!/story/2010599","commit_id":"fa231d028df5290390f7b279b9d3b4eeca8faf5f"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"4341befde33a82e990719ba024e0366279126fc6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a68755a8_354fc955","in_reply_to":"7319a97f_55b0f8ec","updated":"2023-07-27 08:13:28.000000000","message":"the user/group - that use to grant folders need ensure docker image container can run with that user/group.\n\nIn my environment, some docker image require like as descriptions of story.","commit_id":"fa231d028df5290390f7b279b9d3b4eeca8faf5f"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"be785ae04c9402908cb80cfa849657df291f2035","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0edb5f10_480a277a","in_reply_to":"a68755a8_354fc955","updated":"2023-07-27 08:25:12.000000000","message":"OK，I will test it in  my environment, if the root user doesn\u0027t work, i will try to change the \"/var/run\"directory to a durable directory.","commit_id":"fa231d028df5290390f7b279b9d3b4eeca8faf5f"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"bafd8143d78ff70509132cb3b6af047759303864","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e5507fa9_cfd43195","in_reply_to":"a6971274_c80a65da","updated":"2023-07-27 07:49:16.000000000","message":"This problem not is common. I had met this problem when do restart nova instance instead by restart trove instance.\nI think this is step by step to reproceduce:\n1. openstack server reboot \u003cphysical_id\u003e\nthis process not ensure directories being grant with correct user/group.\nSo, to resolve this problem, we simple just need use \"openstack database instance reboot \u003cinstance_id\u003e\"\n\nThis patch just make we can flexible use any docker image that require other permissions.\nAnw, I think, we can config user:group to root:root to resolve above problem if they want.","commit_id":"fa231d028df5290390f7b279b9d3b4eeca8faf5f"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"d0fc4170bc2eb7c674626dfa72b4c7c0972af0dc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7319a97f_55b0f8ec","in_reply_to":"e5507fa9_cfd43195","updated":"2023-07-27 08:07:50.000000000","message":"Yes,, sometimes, nova instance may be stopped by an accident. we expect the trove can  recovery from the accident as soon as possible other than reboot the instance. thanks, i will take a try.","commit_id":"fa231d028df5290390f7b279b9d3b4eeca8faf5f"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"a0ac4f67e07efb83df05533a4c45ecc257b6daa6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"21f4f73a_425085de","updated":"2024-04-02 03:19:44.000000000","message":"let review this patch. help me, please.","commit_id":"2fb04b5a0aae85928bbf1347fc040f30b507dc0c"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"8c8e5e17e92b68e8b50cea3457376634ac7468eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"172dd6a9_9d8e4238","updated":"2024-04-02 03:22:46.000000000","message":"Hi, Bo, do we still need this patch?","commit_id":"04fdf447fcf6a4d5c4d9d67220cfdcd0f943ee7c"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"812f879ff739262162d0bb154686cb7eafc0779c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"231a4286_cc377179","updated":"2024-04-02 10:00:14.000000000","message":"recheck","commit_id":"04fdf447fcf6a4d5c4d9d67220cfdcd0f943ee7c"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"f636eeac475b5c7fc63fac3bc00fe14dad008d45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"08307998_011ba433","in_reply_to":"172dd6a9_9d8e4238","updated":"2024-04-02 03:27:05.000000000","message":"yup. we running spilo as docker image to provision a postgresql database. I think, it\u0027s base to I can publish my source code as public or as my description in story","commit_id":"04fdf447fcf6a4d5c4d9d67220cfdcd0f943ee7c"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"29ed1fac20618bd415d9426b2f3a400b6a080eec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"92c1cb29_f0ba7cf4","updated":"2024-07-24 01:24:59.000000000","message":"@wchy1001@gmail.com can you help me how to fix error in CI?","commit_id":"282d49c9e77acedc2400a8cf11f58ebd04b03b67"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"e88d65cfc4e9116209c05e1c35c7aff4c3947e5e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"aed54e2b_86a3f608","updated":"2024-07-22 10:15:04.000000000","message":"recheck","commit_id":"282d49c9e77acedc2400a8cf11f58ebd04b03b67"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"785a66b700a414fa20c19296ebe62ff9c1d50a21","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"cb2a82f7_e8bc04bd","in_reply_to":"92c1cb29_f0ba7cf4","updated":"2024-07-24 14:16:28.000000000","message":"ok, I am also working on this bug now.","commit_id":"282d49c9e77acedc2400a8cf11f58ebd04b03b67"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"64a00a6590a797d7063947f2c128b8b9be962f39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"fb9e75a2_88db9cbe","updated":"2024-08-02 06:59:10.000000000","message":"please remove \"database_service_uid\" in here: https://github.com/openstack/trove/blob/master/doc/source/admin/run_trove_in_production.rst#configuring-trove\n\nalso you need to add a release note for this feature.","commit_id":"ec5732e991fec8aee0925d3337d598a293669a65"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"bcb53a686faf8004b3b5bcab032b2685cbd735d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"41fac32f_d33e5bb3","updated":"2024-07-25 10:01:38.000000000","message":"recheck","commit_id":"ec5732e991fec8aee0925d3337d598a293669a65"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"197f633faa9fac6b9da73b9cdf4d9641bf47260b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"c6331c1a_ba5e1f89","updated":"2024-08-12 02:45:54.000000000","message":"recheck","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"d4ae4a2109697f4b9c710e1287dc7d1543e64190","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"20fbbe85_ac742957","updated":"2024-08-12 04:48:49.000000000","message":"Look good. I will push new patch in the afternoon","commit_id":"b058d16cbd9d93a95b10a6a1f2a8b884b0816903"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"f2f425e40cfb729201c92391b2f2341c3b834b90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"b348da84_820508fa","updated":"2024-08-16 06:19:47.000000000","message":"Great! thanks for the working. I also update the commit message","commit_id":"27778a90d0f9094286f018b5e7b5a6fc712c47b4"}],"doc/source/admin/run_trove_in_production.rst":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"31d3c916f511c373e16d1be3599f8b1953ffe894","unresolved":true,"context_lines":[{"line_number":233,"context_line":"    Maximum time (in seconds) to wait for Guest Agent \u0027slow\u0027 requests (such as"},{"line_number":234,"context_line":"    restarting the instance server) to complete."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"  database_service_uid"},{"line_number":237,"context_line":"    The UID of database service user."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"  database_service_gid"},{"line_number":240,"context_line":"    The GID of database service user."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"keystone_authtoken group"},{"line_number":243,"context_line":"  Like most of other OpenStack services, Trove uses `Keystone Authentication"}],"source_content_type":"text/x-rst","patch_set":11,"id":"8ff931d2_1a8481ce","line":240,"range":{"start_line":236,"start_character":0,"end_line":240,"end_character":37},"updated":"2024-08-09 09:06:23.000000000","message":"These opts were not in DEFUALT group, I suggest to remove these from this doc as this is just an example here.","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":233,"context_line":"    Maximum time (in seconds) to wait for Guest Agent \u0027slow\u0027 requests (such as"},{"line_number":234,"context_line":"    restarting the instance server) to complete."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"  database_service_uid"},{"line_number":237,"context_line":"    The UID(GID) of database service user."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"keystone_authtoken group"},{"line_number":240,"context_line":"  Like most of other OpenStack services, Trove uses `Keystone Authentication"},{"line_number":241,"context_line":"  Middleware"}],"source_content_type":"text/x-rst","patch_set":14,"id":"ec8f3b00_1554c73f","side":"PARENT","line":238,"range":{"start_line":236,"start_character":1,"end_line":238,"end_character":0},"updated":"2024-08-12 03:31:54.000000000","message":"remain it here.","commit_id":"be9bd3f3a034d9e31b32fa194db8e42ed0ee4155"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":300,"context_line":"      docker_image \u003d your-registry/your-repo/mysql"},{"line_number":301,"context_line":"      backup_docker_image \u003d your-registry/your-repo/db-backup-mysql"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"* Change owner of database instance"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"  Current, when a database container running, it being chown with"},{"line_number":306,"context_line":"  user: database (uid: 1001) and group: database (gid: 1001)."}],"source_content_type":"text/x-rst","patch_set":14,"id":"cc03b046_2d0cc976","line":303,"range":{"start_line":303,"start_character":2,"end_line":303,"end_character":35},"updated":"2024-08-12 03:31:54.000000000","message":"Setting username, uid, gid for each datastore\n\nI think this title is more appropriate for this commit.","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":302,"context_line":""},{"line_number":303,"context_line":"* Change owner of database instance"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"  Current, when a database container running, it being chown with"},{"line_number":306,"context_line":"  user: database (uid: 1001) and group: database (gid: 1001)."},{"line_number":307,"context_line":"  In the some case, you need chown with database:root to make container"},{"line_number":308,"context_line":"  work with your logic? How to do it?"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3efd1c5b_ec7d9885","line":305,"updated":"2024-08-12 03:31:54.000000000","message":"this sentence are not grammatically  correct.\n\nthe following is an example for your reference.\n\nCurrently, when a database container is running, it is owned by user: database (UID: 1001) and group: database (GID: 1001).\n\nIn some cases, you may need to set the owner of files, directories or container to adapt to your own datastore image.\n\nTo achieve this,  you can configure the option `database_service_uname`,`database_service_uid`, `database_service_gid` in `trove-guestagent.conf` with following:","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":312,"context_line":""},{"line_number":313,"context_line":"  .. code-block:: ini"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"      [\u003cdatastore_manage\u003e]"},{"line_number":316,"context_line":"      database_service_uid \u003d 1001"},{"line_number":317,"context_line":"      database_service_gid \u003d 0"},{"line_number":318,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"f80b761d_f604cc02","line":315,"updated":"2024-08-12 03:31:54.000000000","message":"also add `database_service_uname` in example","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"}],"releasenotes/notes/add-support-configuring-uid,gid-for-each-datastore-c86377b0dde47495.yaml":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"  - We can change owner for databases container with separate between"},{"line_number":5,"context_line":"    \u003cuser\u003e:\u003cgroup\u003e such as database:root by config for"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"a40932d3_9228220a","line":2,"updated":"2024-08-12 03:31:54.000000000","message":"features ？","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"  - We can change owner for databases container with separate between"},{"line_number":5,"context_line":"    \u003cuser\u003e:\u003cgroup\u003e such as database:root by config for"},{"line_number":6,"context_line":"    database_service_uid \u0026 database_service_gid"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"018752c7_8bcc4e19","line":3,"range":{"start_line":3,"start_character":0,"end_line":3,"end_character":5},"updated":"2024-08-12 03:31:54.000000000","message":"remove this line.","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"  - We can change owner for databases container with separate between"},{"line_number":5,"context_line":"    \u003cuser\u003e:\u003cgroup\u003e such as database:root by config for"},{"line_number":6,"context_line":"    database_service_uid \u0026 database_service_gid"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"e68b511f_416db626","line":6,"range":{"start_line":4,"start_character":4,"end_line":6,"end_character":47},"updated":"2024-08-12 03:31:54.000000000","message":"I can\u0027t understand the meaning of the sentence. you can refer to the following note.\n\nAdd support of setting owner,uid,gid for each datastore instances by configuring `database_service_uname`, `database_service_uid` and `database_service_gid`\n`Story 2010827 \u003chttps://storyboard.openstack.org/#!/story/2010827\u003e`__","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"}],"releasenotes/notes/bobcat-permission-folder-data.yaml":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"31d3c916f511c373e16d1be3599f8b1953ffe894","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - We can change owner for data folders with separate between"},{"line_number":4,"context_line":"    \u003cuser\u003e:\u003cgroup\u003e such as database:root by config for"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5eaa612b_07cfc45d","line":1,"updated":"2024-08-09 09:06:23.000000000","message":"Note：please use tox to generate this file. refer to: https://docs.openstack.org/trove/latest/contributor/release-notes.html","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"31d3c916f511c373e16d1be3599f8b1953ffe894","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - We can change owner for data folders with separate between"},{"line_number":4,"context_line":"    \u003cuser\u003e:\u003cgroup\u003e such as database:root by config for"},{"line_number":5,"context_line":"    database_service_uid \u0026 database_service_gid"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"d77fd084_215801a0","line":3,"range":{"start_line":3,"start_character":18,"end_line":3,"end_character":40},"updated":"2024-08-09 09:06:23.000000000","message":"This user was not only used for data folders but also used for \"databases\" container.","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"31d3c916f511c373e16d1be3599f8b1953ffe894","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - We can change owner for data folders with separate between"},{"line_number":4,"context_line":"    \u003cuser\u003e:\u003cgroup\u003e such as database:root by config for"},{"line_number":5,"context_line":"    database_service_uid \u0026 database_service_gid"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"57a0583e_e0c120f9","line":5,"range":{"start_line":3,"start_character":0,"end_line":5,"end_character":47},"updated":"2024-08-09 09:06:23.000000000","message":"Maybe we need restructure this note.\neg: Add support of configuring username,uid,gid for each datastore.","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"}],"trove/cmd/guest.py":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"64a00a6590a797d7063947f2c128b8b9be962f39","unresolved":true,"context_lines":[{"line_number":99,"context_line":"                 device_path, mount_point)"},{"line_number":100,"context_line":"        device.format()"},{"line_number":101,"context_line":"        device.mount(mount_point)"},{"line_number":102,"context_line":"        operating_system.chown(mount_point, CONF.database_service_uid,"},{"line_number":103,"context_line":"                               CONF.database_service_uid,"},{"line_number":104,"context_line":"                               recursive\u003dTrue, as_root\u003dTrue)"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"8fd15303_22e8c6eb","line":102,"range":{"start_line":102,"start_character":44,"end_line":102,"end_character":70},"updated":"2024-08-02 06:59:10.000000000","message":"this opt was already removed in this patch. we need to use uid, gid instead.\nrefer: https://zuul.opendev.org/t/openstack/build/034ee18209da4e92bfdcf9b92ddf750f/log/controller/logs/guest-agent-logs/94fdbab9-8971-41d4-9d35-3590462102ad/log/trove/trove-guestagent_log.txt#52","commit_id":"ec5732e991fec8aee0925d3337d598a293669a65"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    # Create user and group for running docker container."},{"line_number":85,"context_line":"    LOG.info(\u0027Creating user and group for database service\u0027)"},{"line_number":86,"context_line":"    uid \u003d CONF.get(CONF.datastore_manager).database_service_uid"},{"line_number":87,"context_line":"    gid \u003d CONF.get(CONF.datastore_manager).database_service_gid"},{"line_number":88,"context_line":"    uname \u003d CONF.get(CONF.datastore_manager).database_service_uname"},{"line_number":89,"context_line":"    operating_system.create_user(uname, user_id\u003duid, group_id\u003dgid)"}],"source_content_type":"text/x-python","patch_set":14,"id":"e1685d36_bafded24","line":86,"range":{"start_line":86,"start_character":4,"end_line":86,"end_character":63},"updated":"2024-08-12 03:31:54.000000000","message":"uid \u003d CONF.get(CONF.datastore_manager).database_service_uid or CONF.database_service_uid","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":84,"context_line":"    # Create user and group for running docker container."},{"line_number":85,"context_line":"    LOG.info(\u0027Creating user and group for database service\u0027)"},{"line_number":86,"context_line":"    uid \u003d CONF.get(CONF.datastore_manager).database_service_uid"},{"line_number":87,"context_line":"    gid \u003d CONF.get(CONF.datastore_manager).database_service_gid"},{"line_number":88,"context_line":"    uname \u003d CONF.get(CONF.datastore_manager).database_service_uname"},{"line_number":89,"context_line":"    operating_system.create_user(uname, user_id\u003duid, group_id\u003dgid)"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7dfd88d1_a409b20d","line":87,"range":{"start_line":87,"start_character":10,"end_line":87,"end_character":63},"updated":"2024-08-12 03:31:54.000000000","message":"gid \u003d CONF.get(CONF.datastore_manager).database_service_gid or CONF.database_service_uid","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"}],"trove/common/cfg.py":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"64a00a6590a797d7063947f2c128b8b9be962f39","unresolved":true,"context_lines":[{"line_number":545,"context_line":"    cfg.StrOpt(\u0027database_service_uname\u0027, default\u003d\u0027database\u0027,"},{"line_number":546,"context_line":"               help\u003d\u0027The name of database service user.\u0027),"},{"line_number":547,"context_line":"    cfg.StrOpt(\u0027database_service_uid\u0027, default\u003d\u00271001\u0027,"},{"line_number":548,"context_line":"               help\u003d\u0027The UID(GID) of database service user.\u0027),"},{"line_number":549,"context_line":"    cfg.StrOpt(\u0027database_service_gid\u0027, default\u003d\u00271001\u0027,"},{"line_number":550,"context_line":"               help\u003d\u0027The GID of database service user.\u0027),"},{"line_number":551,"context_line":"    cfg.BoolOpt(\u0027icmp\u0027, default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":9,"id":"36c612f8_86bace7e","line":548,"range":{"start_line":548,"start_character":29,"end_line":548,"end_character":33},"updated":"2024-08-02 06:59:10.000000000","message":"remove \"GID\" in this entire file. AS there is already a GID config opt below.","commit_id":"ec5732e991fec8aee0925d3337d598a293669a65"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"31d3c916f511c373e16d1be3599f8b1953ffe894","unresolved":true,"context_lines":[{"line_number":544,"context_line":"mysql_opts \u003d ["},{"line_number":545,"context_line":"    cfg.StrOpt(\u0027database_service_uname\u0027, default\u003d\u0027database\u0027,"},{"line_number":546,"context_line":"               help\u003d\u0027The name of database service user.\u0027),"},{"line_number":547,"context_line":"    cfg.StrOpt(\u0027database_service_uid\u0027, default\u003d\u00271001\u0027,"},{"line_number":548,"context_line":"               help\u003d\u0027The UID of database service user.\u0027),"},{"line_number":549,"context_line":"    cfg.StrOpt(\u0027database_service_gid\u0027, default\u003d\u00271001\u0027,"},{"line_number":550,"context_line":"               help\u003d\u0027The GID of database service user.\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"4c4d5167_62cf8323","line":547,"updated":"2024-08-09 09:06:23.000000000","message":"Hi，For users who already configured this value in configure file, they may need to update configure file for upgrade, this may be not friendly to them. \nso i consider whether is there a way to use something like \"default.database_service_uid\" as default value? and keep the previous opts for compatibility？","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"ed017f1a7e77b42faa063b20fb8793ae5f0c9c31","unresolved":true,"context_lines":[{"line_number":544,"context_line":"mysql_opts \u003d ["},{"line_number":545,"context_line":"    cfg.StrOpt(\u0027database_service_uname\u0027, default\u003d\u0027database\u0027,"},{"line_number":546,"context_line":"               help\u003d\u0027The name of database service user.\u0027),"},{"line_number":547,"context_line":"    cfg.StrOpt(\u0027database_service_uid\u0027, default\u003d\u00271001\u0027,"},{"line_number":548,"context_line":"               help\u003d\u0027The UID of database service user.\u0027),"},{"line_number":549,"context_line":"    cfg.StrOpt(\u0027database_service_gid\u0027, default\u003d\u00271001\u0027,"},{"line_number":550,"context_line":"               help\u003d\u0027The GID of database service user.\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"c8206c9d_6b3a9c46","line":547,"in_reply_to":"01fbd83b_635573d2","updated":"2024-08-12 02:20:24.000000000","message":"i think the compatible opts just need if the upgrade make change to current database instance running and make them working not right.","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"98c187e82417155d4f65dc59f986252ab3102e5e","unresolved":true,"context_lines":[{"line_number":544,"context_line":"mysql_opts \u003d ["},{"line_number":545,"context_line":"    cfg.StrOpt(\u0027database_service_uname\u0027, default\u003d\u0027database\u0027,"},{"line_number":546,"context_line":"               help\u003d\u0027The name of database service user.\u0027),"},{"line_number":547,"context_line":"    cfg.StrOpt(\u0027database_service_uid\u0027, default\u003d\u00271001\u0027,"},{"line_number":548,"context_line":"               help\u003d\u0027The UID of database service user.\u0027),"},{"line_number":549,"context_line":"    cfg.StrOpt(\u0027database_service_gid\u0027, default\u003d\u00271001\u0027,"},{"line_number":550,"context_line":"               help\u003d\u0027The GID of database service user.\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"b024fb0b_6806060b","line":547,"in_reply_to":"4c4d5167_62cf8323","updated":"2024-08-09 10:28:33.000000000","message":"why do you think it may be not friendly to them and need compatibility?\n\nCurrently in the master branch, container database being chown with 1001:1001 through database_service_uid (1001). This patch had default all options with 1001. So, when user upgrade to that have this patch. the CONF.database_service_uid being remove and don\u0027t have any effect, trove \u0026 container still working right.","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"7c688a604c2d822b86e3138b77cb240d6834365a","unresolved":true,"context_lines":[{"line_number":544,"context_line":"mysql_opts \u003d ["},{"line_number":545,"context_line":"    cfg.StrOpt(\u0027database_service_uname\u0027, default\u003d\u0027database\u0027,"},{"line_number":546,"context_line":"               help\u003d\u0027The name of database service user.\u0027),"},{"line_number":547,"context_line":"    cfg.StrOpt(\u0027database_service_uid\u0027, default\u003d\u00271001\u0027,"},{"line_number":548,"context_line":"               help\u003d\u0027The UID of database service user.\u0027),"},{"line_number":549,"context_line":"    cfg.StrOpt(\u0027database_service_gid\u0027, default\u003d\u00271001\u0027,"},{"line_number":550,"context_line":"               help\u003d\u0027The GID of database service user.\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"01fbd83b_635573d2","line":547,"in_reply_to":"8ff046d2_65db11fe","updated":"2024-08-12 02:17:41.000000000","message":"I haven\u0027t see any the difference between make new config \u0026 make a other compative config (example: default_database_uid).\n\nif user use 1002 (or others), user need config new config is default_database_uid. and the current database don\u0027t have any problems because the new config just have effective with new database instance. Users still have to read the docs and do the config.\n\nif user upgrade, user should read docs and re-test the system whether the system work right after upgrade and reality was that (it\u0027s must).\n\nWhy do we need make a new configuration? It\u0027s just make more logic complex and I think this don\u0027t need.","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"736cc231c0b57f6539c8f6d0ad4cf4ff86e12c9c","unresolved":true,"context_lines":[{"line_number":544,"context_line":"mysql_opts \u003d ["},{"line_number":545,"context_line":"    cfg.StrOpt(\u0027database_service_uname\u0027, default\u003d\u0027database\u0027,"},{"line_number":546,"context_line":"               help\u003d\u0027The name of database service user.\u0027),"},{"line_number":547,"context_line":"    cfg.StrOpt(\u0027database_service_uid\u0027, default\u003d\u00271001\u0027,"},{"line_number":548,"context_line":"               help\u003d\u0027The UID of database service user.\u0027),"},{"line_number":549,"context_line":"    cfg.StrOpt(\u0027database_service_gid\u0027, default\u003d\u00271001\u0027,"},{"line_number":550,"context_line":"               help\u003d\u0027The GID of database service user.\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"8ff046d2_65db11fe","line":547,"in_reply_to":"b024fb0b_6806060b","updated":"2024-08-11 02:32:03.000000000","message":"yes, the users who use default value are ok to upgrade. however, if users don\u0027t use the default id (eg. 1002:1002), then they may need to change all datastore configs to 1002 after upgrade.","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":544,"context_line":"mysql_opts \u003d ["},{"line_number":545,"context_line":"    cfg.StrOpt(\u0027database_service_uname\u0027, default\u003d\u0027database\u0027,"},{"line_number":546,"context_line":"               help\u003d\u0027The name of database service user.\u0027),"},{"line_number":547,"context_line":"    cfg.StrOpt(\u0027database_service_uid\u0027, default\u003d\u00271001\u0027,"},{"line_number":548,"context_line":"               help\u003d\u0027The UID of database service user.\u0027),"},{"line_number":549,"context_line":"    cfg.StrOpt(\u0027database_service_gid\u0027, default\u003d\u00271001\u0027,"},{"line_number":550,"context_line":"               help\u003d\u0027The GID of database service user.\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"b17e4d84_247b165e","line":547,"in_reply_to":"c8206c9d_6b3a9c46","updated":"2024-08-12 03:31:54.000000000","message":"yes, this may not affect for the present instance. but this will affect the new created instance.\n\nI also understand user should do more tests and verification when upgrade the trove, however, what we can do is to make upgrade more smoothly.\n\nIn my opinion, I think we don\u0027t have to remove the \"database_service_uid\" in the default group, and remove the default value of `database_service_uid` in other group.\nafter that, we just need to change a little code. see the discussion in the code.\n\nfinally， remember  to remove `releasenotes/notes/bobcat-permission-folder-data.yaml` file","commit_id":"aee863fda2f906fb4c5c13c0579fb81558d728a9"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":525,"context_line":"               help\u003d\u0027Key (OpenSSL aes_cbc) to encrypt instance keys in DB.\u0027),"},{"line_number":526,"context_line":"    cfg.StrOpt(\u0027instance_rpc_encr_key\u0027,"},{"line_number":527,"context_line":"               help\u003d\u0027Key (OpenSSL aes_cbc) for instance RPC encryption.\u0027),"},{"line_number":528,"context_line":"    cfg.StrOpt(\u0027database_service_uid\u0027, default\u003d\u00271001\u0027,"},{"line_number":529,"context_line":"               help\u003d\u0027The UID(GID) of database service user.\u0027),"},{"line_number":530,"context_line":"    cfg.ListOpt(\u0027reserved_network_cidrs\u0027, default\u003d[],"},{"line_number":531,"context_line":"                help\u003d\u0027Network CIDRs reserved for Trove guest instance \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"7d614433_8ba7a117","side":"PARENT","line":528,"updated":"2024-08-12 03:31:54.000000000","message":"remain this value here.","commit_id":"be9bd3f3a034d9e31b32fa194db8e42ed0ee4155"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":544,"context_line":"mysql_opts \u003d ["},{"line_number":545,"context_line":"    cfg.StrOpt(\u0027database_service_uname\u0027, default\u003d\u0027database\u0027,"},{"line_number":546,"context_line":"               help\u003d\u0027The name of database service user.\u0027),"},{"line_number":547,"context_line":"    cfg.StrOpt(\u0027database_service_uid\u0027, default\u003d\u00271001\u0027,"},{"line_number":548,"context_line":"               help\u003d\u0027The UID of database service user.\u0027),"},{"line_number":549,"context_line":"    cfg.StrOpt(\u0027database_service_gid\u0027, default\u003d\u00271001\u0027,"},{"line_number":550,"context_line":"               help\u003d\u0027The GID of database service user.\u0027),"}],"source_content_type":"text/x-python","patch_set":14,"id":"b88b1c10_0ad538ce","line":547,"updated":"2024-08-12 03:31:54.000000000","message":"remove all the default parameter in this file.(only needed for database_service_uid \u0026 database_service_gid)","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"}],"trove/guestagent/datastore/postgres/manager.py":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"64a00a6590a797d7063947f2c128b8b9be962f39","unresolved":true,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def is_log_enabled(self, logname):"},{"line_number":201,"context_line":"        return self.configuration_manager.get_value("},{"line_number":202,"context_line":"            \u0027logging_collector\u0027, default\u003dFalse)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def create_backup(self, context, backup_info):"},{"line_number":205,"context_line":"        \"\"\"Create backup for the database."}],"source_content_type":"text/x-python","patch_set":9,"id":"9c72f1ae_bc6271a1","line":202,"updated":"2024-08-02 06:59:10.000000000","message":"I think this change is unnecessary.","commit_id":"ec5732e991fec8aee0925d3337d598a293669a65"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"5e5f840c73897dda07f9806fceaa6cd783934824","unresolved":true,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def is_log_enabled(self, logname):"},{"line_number":201,"context_line":"        return self.configuration_manager.get_value("},{"line_number":202,"context_line":"            \u0027logging_collector\u0027, default\u003dFalse)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def create_backup(self, context, backup_info):"},{"line_number":205,"context_line":"        \"\"\"Create backup for the database."}],"source_content_type":"text/x-python","patch_set":9,"id":"a3e9f0cf_cdcc6fde","line":202,"in_reply_to":"9c72f1ae_bc6271a1","updated":"2024-08-09 04:58:26.000000000","message":"this line(201) was reached to 88 characters per line. it conflict with PEP8","commit_id":"ec5732e991fec8aee0925d3337d598a293669a65"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"0350c91700387bb0c5ee85b1612a14010a90a8b9","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    def is_log_enabled(self, logname):"},{"line_number":201,"context_line":"        return self.configuration_manager.get_value("},{"line_number":202,"context_line":"            \u0027logging_collector\u0027, default\u003dFalse)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def create_backup(self, context, backup_info):"},{"line_number":205,"context_line":"        \"\"\"Create backup for the database."}],"source_content_type":"text/x-python","patch_set":9,"id":"a894775e_eff58012","line":202,"in_reply_to":"a3e9f0cf_cdcc6fde","updated":"2024-08-09 05:55:03.000000000","message":"ACK, I am curious why the CI didn\u0027t report it.","commit_id":"ec5732e991fec8aee0925d3337d598a293669a65"}],"trove/guestagent/datastore/postgres/service.py":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"64a00a6590a797d7063947f2c128b8b9be962f39","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import psycopg2"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo_log import log as logging"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from trove.common import cfg"},{"line_number":22,"context_line":"from trove.common import constants"}],"source_content_type":"text/x-python","patch_set":9,"id":"8ca4c4b4_e7a30a3f","line":19,"updated":"2024-08-02 06:59:10.000000000","message":"I don\u0027t think we need add a new block for \"oslo_log\" package.","commit_id":"ec5732e991fec8aee0925d3337d598a293669a65"}],"trove/guestagent/datastore/service.py":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    @property"},{"line_number":567,"context_line":"    def database_service_uid(self):"},{"line_number":568,"context_line":"        return cfg.get_configuration_property(\u0027database_service_uid\u0027)"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    @property"},{"line_number":571,"context_line":"    def database_service_gid(self):"}],"source_content_type":"text/x-python","patch_set":14,"id":"6e674166_e3ee34d0","line":568,"range":{"start_line":568,"start_character":15,"end_line":568,"end_character":69},"updated":"2024-08-12 03:31:54.000000000","message":"cfg.get_configuration_property(\u0027database_service_uid\u0027) or CONF.database_service_uid","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"27f08dfb3d5164be4d3a90e25123cd869f554a8c","unresolved":true,"context_lines":[{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    @property"},{"line_number":571,"context_line":"    def database_service_gid(self):"},{"line_number":572,"context_line":"        return cfg.get_configuration_property(\u0027database_service_gid\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"43f2b81f_1e9743c7","line":572,"range":{"start_line":572,"start_character":15,"end_line":572,"end_character":69},"updated":"2024-08-12 03:31:54.000000000","message":"cfg.get_configuration_property(\u0027database_service_gid\u0027) or CONF.database_service_uid","commit_id":"8a8a8738b13cb607d484a311b042c30d7f329086"}]}
