)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"40ea74d585553c0865705ef671f991285d24ad9c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c61cfb42_8da54349","updated":"2022-07-29 12:54:38.000000000","message":"I would gladly support going that direction, if our Nova SMEs could bless it, given some tensions with pymysql support and storing creds in DB (and using templates to hide it)","commit_id":"53840ef946d95316684df7a3cef8da38aa1efe9f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"07ec2a367b207e070bf43c6dfecb21003ffc2209","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"483b89d9_24cc5304","updated":"2022-07-29 13:54:47.000000000","message":"oslo.db  and nova have no offcial supprot for using pymysql config files to store the credentials and not testign of that even on master today.\n\nit came up in the mailing list a while ago but for zed and older branchs i dont think we proceed in this direction unless we actully get jobs running in oslo and nova check pipeline that use it based on devstack.\n\nso -1 untill we have some level of offcal support and testing ","commit_id":"53840ef946d95316684df7a3cef8da38aa1efe9f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8124e8b8dc802f154f87506007134708b82648d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6f13eef1_5317912c","in_reply_to":"483b89d9_24cc5304","updated":"2022-07-29 14:04:16.000000000","message":"I believe tripleo has been using the config files for a while now, no?","commit_id":"53840ef946d95316684df7a3cef8da38aa1efe9f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"93d8076daad5e303b5e27100f6419f105bbfd20c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"27a6eace_23f8e7c4","in_reply_to":"6797078c_e2133bb9","updated":"2022-08-01 13:09:20.000000000","message":"Sean, given that link, could you reconsider your -1?","commit_id":"53840ef946d95316684df7a3cef8da38aa1efe9f"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"a1de77b87ea8fddb03f97c646a982838b8e2b182","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d2bf821f_1e386533","in_reply_to":"6f13eef1_5317912c","updated":"2022-07-29 14:51:30.000000000","message":"Since https://review.opendev.org/c/openstack/tripleo-heat-templates/+/431425","commit_id":"53840ef946d95316684df7a3cef8da38aa1efe9f"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"8e37844ba42d5ca1bc3baa71f243e0efd6856cc7","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"cdfd0f5a_6d10b3d7","in_reply_to":"c61cfb42_8da54349","updated":"2022-07-29 15:47:05.000000000","message":"I don\u0027t see an easy way around storing the creds in the api db. Maybe if nova-manage cell_v2 create/update cell command had a \"--template-creds\" option to replace the username/password with the template tags.\n\nSince we are not building the mq url here we would have to parse it, split it, replace creds with template tags, and re-form it, replicating a lot of the logic from nova e.g https://opendev.org/openstack/nova/src/commit/1a32196074a14788aed45c7a53646a74628ef978/nova/objects/cell_mapping.py#L113","commit_id":"53840ef946d95316684df7a3cef8da38aa1efe9f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"64c3e37e16e77b4f8f5bdaa80891eed9412696a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"56aab138_16c33338","in_reply_to":"cdfd0f5a_6d10b3d7","updated":"2022-08-01 13:08:03.000000000","message":"Done","commit_id":"53840ef946d95316684df7a3cef8da38aa1efe9f"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"b2a46accb4d4d8b8d02b4d77d0e83ae3de9d4883","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6797078c_e2133bb9","in_reply_to":"d2bf821f_1e386533","updated":"2022-07-29 14:54:42.000000000","message":"BTW the pymysql config file do not store credentials, if they did then we would need a unique config file for each service. The conf files just set the client side bind address.","commit_id":"53840ef946d95316684df7a3cef8da38aa1efe9f"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"d2dd739ca78a1cafa2f0f7c967d7f884be584a04","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a7045491_947d69eb","updated":"2022-08-03 13:44:59.000000000","message":"-1 for my own review :-) I think using python the fetch the urls from nova.conf is a more elegant approach - https://review.opendev.org/c/openstack/tripleo-heat-templates/+/851917","commit_id":"36048f93499bc169a1525af7c1420376b8e35ed7"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"53f36511759b1569f3b1d2ecd52dd7f45a2c5eea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9aa31d8f_82af98ef","updated":"2022-08-10 11:31:11.000000000","message":"decided to go with https://review.opendev.org/c/openstack/tripleo-heat-templates/+/851917","commit_id":"36048f93499bc169a1525af7c1420376b8e35ed7"}],"deployment/nova/nova-api-container-puppet.yaml":[{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"8e37844ba42d5ca1bc3baa71f243e0efd6856cc7","unresolved":true,"context_lines":[{"line_number":572,"context_line":"                        - \u0027:\u0027"},{"line_number":573,"context_line":"                        - \u0027{password}\u0027"},{"line_number":574,"context_line":"                        - \u0027@\u0027"},{"line_number":575,"context_line":"                        - \u0027{hostname}\u0027"},{"line_number":576,"context_line":"                        - \u0027:\u0027"},{"line_number":577,"context_line":"                        - \u0027{port}\u0027"},{"line_number":578,"context_line":"                        - \u0027/\u0027"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"69ec60f5_71c9dc26","side":"PARENT","line":575,"updated":"2022-07-29 15:47:05.000000000","message":"FWIW this was always wrong for HA rabbitmq deployments. Should have been using:\n\n    {scheme}://{username1}:{password1}@{hostname1}:{port1},{username2}:{password2}@{hostname2}:{port2},{username3}:{password3}@{hostname3}:{port3}/?{query}.\n\nIt happened to work ok though. When the multi-host url is split and re-formed we happen to get a valid url but most of it from the \"password\" value:\n\n    \u003e\u003e\u003e url\u003durlparse.urlparse(\u0027scheme://username1:password1@hostname1:1,username2:password2@hostname2:2,username3:password3@hostname3:3/?query\u0027)\n    \u003e\u003e\u003e (url.scheme, url.username, url.password, url.hostname, url.port, url.query)\n    (\u0027scheme\u0027, \u0027username1\u0027, \u0027password1@hostname1:1,username2:password2@hostname2:2,username3:password3\u0027, \u0027hostname3\u0027, 3, \u0027query\u0027)","commit_id":"7401aae83c9ca691329c0b81cbcdb714feeb3949"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"3bed484c45d4f83e31941f381c6854328721549a","unresolved":false,"context_lines":[{"line_number":572,"context_line":"                        - \u0027:\u0027"},{"line_number":573,"context_line":"                        - \u0027{password}\u0027"},{"line_number":574,"context_line":"                        - \u0027@\u0027"},{"line_number":575,"context_line":"                        - \u0027{hostname}\u0027"},{"line_number":576,"context_line":"                        - \u0027:\u0027"},{"line_number":577,"context_line":"                        - \u0027{port}\u0027"},{"line_number":578,"context_line":"                        - \u0027/\u0027"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"47252759_6e084b2d","side":"PARENT","line":575,"in_reply_to":"69ec60f5_71c9dc26","updated":"2022-08-01 13:08:39.000000000","message":"let\u0027s track that in a separate LP bug and create another change request to cover this","commit_id":"7401aae83c9ca691329c0b81cbcdb714feeb3949"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"c05369655cfbb1aff6b9baadc9d84c80a75a9902","unresolved":true,"context_lines":[{"line_number":521,"context_line":"                set -e"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"                CELL0DB\u003d$(hiera nova_cell0_database_template)"},{"line_number":524,"context_line":"                CELLDB\u003d$(hiera nova_database_template)"},{"line_number":525,"context_line":"                # Generated by tripleo::profile::base::nova"},{"line_number":526,"context_line":"                TRANSPORTURL\u003d$(cat /etc/nova/transport_url_template)"},{"line_number":527,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"507ae722_5759daf5","line":524,"range":{"start_line":524,"start_character":25,"end_line":524,"end_character":30},"updated":"2022-08-02 13:12:41.000000000","message":"also, we need to rework away off hiera CLI, as it\u0027s deprecated...","commit_id":"feb54facf83f41ff8d505b18d2146fae3325fa1f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"d9d322189dc70a3caabf3b94e1f8c38f5fa18f50","unresolved":true,"context_lines":[{"line_number":521,"context_line":"                set -e"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"                CELL0DB\u003d$(hiera nova_cell0_database_template)"},{"line_number":524,"context_line":"                CELLDB\u003d$(hiera nova_database_template)"},{"line_number":525,"context_line":"                # Generated by tripleo::profile::base::nova"},{"line_number":526,"context_line":"                TRANSPORTURL\u003d$(cat /etc/nova/transport_url_template)"},{"line_number":527,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"01b05c98_5294544a","line":524,"range":{"start_line":524,"start_character":25,"end_line":524,"end_character":53},"updated":"2022-08-02 12:51:21.000000000","message":"this contains wrong template for my testing:\n\n[root@controller-0 heat-admin]# podman exec -it -u root nova_conductor hiera nova_database_template\nmysql+pymysql://nova:%7Bpassword%7D@overcloud.internalapi.redhat.local/nova%3F%7Bquery%7D","commit_id":"feb54facf83f41ff8d505b18d2146fae3325fa1f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"4a948a35d40a3e9dda88d0daf96031490491ddd8","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                set -e"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"                CELL0DB\u003d$(hiera nova_cell0_database_template)"},{"line_number":524,"context_line":"                CELLDB\u003d$(hiera nova_database_template)"},{"line_number":525,"context_line":"                # Generated by tripleo::profile::base::nova"},{"line_number":526,"context_line":"                TRANSPORTURL\u003d$(cat /etc/nova/transport_url_template)"},{"line_number":527,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"2890c7d2_124843f3","line":524,"range":{"start_line":524,"start_character":25,"end_line":524,"end_character":53},"in_reply_to":"01b05c98_5294544a","updated":"2022-08-02 13:51:03.000000000","message":"Done","commit_id":"feb54facf83f41ff8d505b18d2146fae3325fa1f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"7577641d33ec09a6da637ce5d6a39240ba92e313","unresolved":false,"context_lines":[{"line_number":521,"context_line":"                set -e"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"                CELL0DB\u003d$(hiera nova_cell0_database_template)"},{"line_number":524,"context_line":"                CELLDB\u003d$(hiera nova_database_template)"},{"line_number":525,"context_line":"                # Generated by tripleo::profile::base::nova"},{"line_number":526,"context_line":"                TRANSPORTURL\u003d$(cat /etc/nova/transport_url_template)"},{"line_number":527,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"6b948bbe_be25bb47","line":524,"range":{"start_line":524,"start_character":25,"end_line":524,"end_character":30},"in_reply_to":"507ae722_5759daf5","updated":"2022-08-02 13:50:53.000000000","message":"Done","commit_id":"feb54facf83f41ff8d505b18d2146fae3325fa1f"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"fb4aa1e5460daa79cee0603bd7f894ac182cc5dc","unresolved":true,"context_lines":[{"line_number":520,"context_line":"                #!/bin/bash"},{"line_number":521,"context_line":"                set -e"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"                url_replace\u003d\u0027s,%7B,\\{,g;s,%7D,\\},g;s,%3F,\\?,g;s,\",,g\u0027"},{"line_number":524,"context_line":"                CELL0DB\u003d$(puppet lookup --log_level err --render-as json nova_cell0_database_template | sed -r \"$url_replace\")"},{"line_number":525,"context_line":"                CELLDB\u003d$(puppet lookup --log_level err --render-as json nova_database_template | sed -r \"$url_replace\")"},{"line_number":526,"context_line":"                # Generated by tripleo::profile::base::nova"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"b8f78bf9_c78b9cf6","line":523,"range":{"start_line":523,"start_character":16,"end_line":523,"end_character":69},"updated":"2022-08-03 13:53:54.000000000","message":"Cannot un-encode the entire url. E.g mangles this query string:\n\n    $ echo \u0027http://example.com/?foo\u003d%7B%3F\u0027 | sed -r \"$url_replace\"\n    http://example.com/?foo\u003d{?","commit_id":"36048f93499bc169a1525af7c1420376b8e35ed7"}],"deployment/nova/nova-cell0db-client-puppet.yaml":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"4078ef65d35da6f2f81bab3032d8bad1b1b03796","unresolved":true,"context_lines":[{"line_number":44,"context_line":"      config_settings:"},{"line_number":45,"context_line":"        nova_cell0_database_template:"},{"line_number":46,"context_line":"          make_url:"},{"line_number":47,"context_line":"            scheme: {get_param: [EndpointMap, MysqlCellInternal, protocol]}"},{"line_number":48,"context_line":"            username: nova"},{"line_number":49,"context_line":"            password: \u0027{password}\u0027"},{"line_number":50,"context_line":"            host: {get_param: [EndpointMap, MysqlCellInternal, host]}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"08bc68fd_1b23ce17","line":47,"updated":"2022-08-02 14:19:26.000000000","message":"I think we can still use \u0027{scheme}\u0027 there?","commit_id":"3d88fce92d96ce01d4e9012d67f53cfaf2fb167f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"dde08a93ce99f8dcd30c6a9ecdddbf29b76f6e96","unresolved":false,"context_lines":[{"line_number":44,"context_line":"      config_settings:"},{"line_number":45,"context_line":"        nova_cell0_database_template:"},{"line_number":46,"context_line":"          make_url:"},{"line_number":47,"context_line":"            scheme: {get_param: [EndpointMap, MysqlCellInternal, protocol]}"},{"line_number":48,"context_line":"            username: nova"},{"line_number":49,"context_line":"            password: \u0027{password}\u0027"},{"line_number":50,"context_line":"            host: {get_param: [EndpointMap, MysqlCellInternal, host]}"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1dbae4db_2e242dbb","line":47,"in_reply_to":"08bc68fd_1b23ce17","updated":"2022-08-02 14:59:37.000000000","message":"Done","commit_id":"3d88fce92d96ce01d4e9012d67f53cfaf2fb167f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"2bc096fec983d61480e1d4953cafe7eaa97ea7f7","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        nova_cell0_database_template:"},{"line_number":46,"context_line":"          make_url:"},{"line_number":47,"context_line":"            scheme: {get_param: [EndpointMap, MysqlCellInternal, protocol]}"},{"line_number":48,"context_line":"            username: nova"},{"line_number":49,"context_line":"            password: \u0027{password}\u0027"},{"line_number":50,"context_line":"            host: {get_param: [EndpointMap, MysqlCellInternal, host]}"},{"line_number":51,"context_line":"            path: \u0027/nova_cell0?{query}\u0027"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1b4dc307_e7ada27f","line":48,"updated":"2022-08-02 14:18:39.000000000","message":"\u0027{username}\u0027 ?","commit_id":"3d88fce92d96ce01d4e9012d67f53cfaf2fb167f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"dde08a93ce99f8dcd30c6a9ecdddbf29b76f6e96","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        nova_cell0_database_template:"},{"line_number":46,"context_line":"          make_url:"},{"line_number":47,"context_line":"            scheme: {get_param: [EndpointMap, MysqlCellInternal, protocol]}"},{"line_number":48,"context_line":"            username: nova"},{"line_number":49,"context_line":"            password: \u0027{password}\u0027"},{"line_number":50,"context_line":"            host: {get_param: [EndpointMap, MysqlCellInternal, host]}"},{"line_number":51,"context_line":"            path: \u0027/nova_cell0?{query}\u0027"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"b04beee2_7b5f3302","line":48,"in_reply_to":"1b4dc307_e7ada27f","updated":"2022-08-02 14:59:37.000000000","message":"Done","commit_id":"3d88fce92d96ce01d4e9012d67f53cfaf2fb167f"}],"deployment/nova/nova-db-client-puppet.yaml":[{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"091faf5a0ac8ef52f650a0a68506c4f4f79696b7","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        nova_database_template:"},{"line_number":63,"context_line":"          make_url:"},{"line_number":64,"context_line":"            scheme: {get_param: [EndpointMap, MysqlCellInternal, protocol]}"},{"line_number":65,"context_line":"            username: nova"},{"line_number":66,"context_line":"            password: \u0027{password}\u0027"},{"line_number":67,"context_line":"            host: {get_param: [EndpointMap, MysqlCellInternal, host]}"},{"line_number":68,"context_line":"            path: \u0027/nova?{query}\u0027"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"a7f4583a_81ad283d","line":65,"range":{"start_line":65,"start_character":22,"end_line":65,"end_character":26},"updated":"2022-07-31 14:58:39.000000000","message":"TODO: zzzeek tells me at least one user has configured a different username on each controller so we should template this too","commit_id":"feb54facf83f41ff8d505b18d2146fae3325fa1f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"dfb00e74e98a81431203346ba0e67418aca03868","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        nova_database_template:"},{"line_number":63,"context_line":"          make_url:"},{"line_number":64,"context_line":"            scheme: {get_param: [EndpointMap, MysqlCellInternal, protocol]}"},{"line_number":65,"context_line":"            username: nova"},{"line_number":66,"context_line":"            password: \u0027{password}\u0027"},{"line_number":67,"context_line":"            host: {get_param: [EndpointMap, MysqlCellInternal, host]}"},{"line_number":68,"context_line":"            path: \u0027/nova?{query}\u0027"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5d25c0db_e5ed3da6","line":65,"range":{"start_line":65,"start_character":22,"end_line":65,"end_character":26},"in_reply_to":"a7f4583a_81ad283d","updated":"2022-08-01 13:07:48.000000000","message":"That would be a new feature in tripleo, we only support nova user there since the beginning. Let\u0027s leave this out of the patch scope please. Feel free to open LP bug for this.","commit_id":"feb54facf83f41ff8d505b18d2146fae3325fa1f"}]}
