)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2542b1d507e349a435393884a14f0d3c72538c28","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Future work:"},{"line_number":36,"context_line":"- optimize for large files"},{"line_number":37,"context_line":"  - could we get away with comparing timestamps and sizes?"},{"line_number":38,"context_line":"    container\u0027s should have a newer timestamp due to copy,"},{"line_number":39,"context_line":"    could also preserve it"},{"line_number":40,"context_line":"- optimize config by doing local generation and mass rsync"},{"line_number":41,"context_line":"- support for reloads"},{"line_number":42,"context_line":"- unconditional restart/reload (separate action)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_abd245cf","line":39,"range":{"start_line":37,"start_character":0,"end_line":39,"end_character":26},"updated":"2020-08-07 16:25:30.000000000","message":"We should look at filecmp","commit_id":"166ec7c7815b4596d55ae5bd8f3dd6edeceb77e5"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2542b1d507e349a435393884a14f0d3c72538c28","unresolved":false,"context_lines":[{"line_number":40,"context_line":"- optimize config by doing local generation and mass rsync"},{"line_number":41,"context_line":"- support for reloads"},{"line_number":42,"context_line":"- unconditional restart/reload (separate action)"},{"line_number":43,"context_line":"- make \u0027reconfigure\u0027 act like \u0027genconfig\u0027 + \u0027deploy-containers\u0027"},{"line_number":44,"context_line":"  - this would avoid calling bootstrapping each time but might"},{"line_number":45,"context_line":"    be tricky as it would break current compatibility"},{"line_number":46,"context_line":"  - could call this \u0027reconfigure-containers\u0027 and deprecate"},{"line_number":47,"context_line":"    \u0027reconfigure\u0027"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"WIP: PoC for Neutron to let you validate the approach."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f560f44_2bde35d9","line":47,"range":{"start_line":43,"start_character":0,"end_line":47,"end_character":17},"updated":"2020-08-07 16:25:30.000000000","message":"I was thinking about this. We could do the same with tags on the task imports:\n\n--skip-tags bootstrap,register","commit_id":"166ec7c7815b4596d55ae5bd8f3dd6edeceb77e5"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"15454d501b085d16a4aec1849f775602e06dc95e","unresolved":true,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Change-Id: I0ce24043ae5486b2b55489ba40abe2b96b0991a6"},{"line_number":37,"context_line":"Partially-Implements: blueprint performance-improvements"},{"line_number":38,"context_line":"Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/773246"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"eec18c68_369e0a44","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":2},"updated":"2024-08-07 07:35:48.000000000","message":"nit: technically not needed, see: https://docs.opendev.org/opendev/infra-manual/latest/developers.html#cross-repository-dependencies","commit_id":"c75a6ab1a18583baa4f0707ff1cd35cf892f5f1c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"e2a98066b800d98f852f649a32711773dfd4ee10","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Change-Id: I0ce24043ae5486b2b55489ba40abe2b96b0991a6"},{"line_number":37,"context_line":"Partially-Implements: blueprint performance-improvements"},{"line_number":38,"context_line":"Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/773246"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"2fbe058f_1e2aa74a","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":2},"in_reply_to":"eec18c68_369e0a44","updated":"2024-08-08 15:44:37.000000000","message":"Done","commit_id":"c75a6ab1a18583baa4f0707ff1cd35cf892f5f1c"}],"/PATCHSET_LEVEL":[{"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":"d92e061e3918e4e9b4d5a33a37fc1263d1913231","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"018318d8_cdb341ba","updated":"2022-04-03 11:04:11.000000000","message":"monasca-thresh needs special handling - we should neither simply generate the storm config and ignore it (which is the case right now with plain genconfig [i.e. there is already a bug to be fixed]) nor run the handlers when this patch is applied (as that is verrry unexpected)","commit_id":"eb0281383ffc2efb19c8b8d6e8cc2a1dce90d79e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"726e9dc43a5542497cc9fb3b40098c7b8c668805","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"ff90ce7e_d84884ba","updated":"2024-07-16 07:53:40.000000000","message":"General remarks:\n\nWhile I appreciate the long commit message which explains some things it doesn\u0027t really explain enough imho and needs more work.\n\ne.g. this links to the performance blueprint and thus suggests that there are some performance improvements, but there are actual numbers or even a sentence missing how performance might be improved by this. did anybody measure? If yes please add those numbers.\n\nalso \"optimise config\" is a very broad term which doesn\u0027t really explain anything.\n\nas mentioned before by the original author, I think a reno is missing as well for such a large change.\n\noverall I think I like this, especially the goal of single responsibility of the stages, e.g. configuration.","commit_id":"3b8b740befbe59f14ada689c8a486d8a21df4818"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"e610e6e17cd6482b4777cba4d72881e1b8881130","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"9190b344_256e954e","in_reply_to":"62307a88_bc75710e","updated":"2024-07-16 09:17:42.000000000","message":"Thanks for that! I\u0027ll continue to review the code in more detail now. I agree this looks very promising :)","commit_id":"3b8b740befbe59f14ada689c8a486d8a21df4818"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"44e80397eb85429c8f4b6744ed203f29cb83904b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"fba6c5bc_49d75728","in_reply_to":"9190b344_256e954e","updated":"2024-08-09 08:41:42.000000000","message":"Done","commit_id":"3b8b740befbe59f14ada689c8a486d8a21df4818"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"c51ec6091fcfec003e3e92f343b5c8852d2fd667","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"62307a88_bc75710e","in_reply_to":"ff90ce7e_d84884ba","updated":"2024-07-16 08:56:40.000000000","message":"I tried to make the commit message more clear and added a reno. I also outlined the reasons why it improves performance. Even though generating config is perhaps not that common occurrence and the speed-up would be visible on larger deployments, in my opinion it is still worth it. Not to even mention the single-responsibility principle this allows.\n\nI\u0027ll post the performance numbers in the following days.","commit_id":"3b8b740befbe59f14ada689c8a486d8a21df4818"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"41945bb8dbcb26ba151f5ba7a8daa6d43299c375","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a1bd150f_1040fa15","updated":"2024-07-18 06:55:10.000000000","message":"If kolla_copy_ca_into_containers is enabled, k-a uses service-cert-copy which notifies handlers to restart the containers and since this patch removes the when statement from handlers, the handleres are actually called.\n\nThis is why tests are currectly failing. \n\nHowever, since the folder containing extra CA certificates is not part of any services\u0027 config.json check-containers can\u0027t detect if files in the fodler changes.","commit_id":"0ce9da2f00f763ca603928f7fdcb605eaa05264f"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"1a282c5c7e80475cb37d648fec0958e7e4ce1c6d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"8a5c6786_d9e47919","updated":"2024-07-18 07:30:05.000000000","message":"Thank you for the super fast review :)","commit_id":"0ce9da2f00f763ca603928f7fdcb605eaa05264f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"12d42eeca3e6c65f29147c9d9c41a3581c1d410e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"ea7f41bb_30ac0216","updated":"2024-07-17 15:36:26.000000000","message":"wow, actually managed to review all this in detail for now.\n\nI have some comments, see below, because I guess search and replace was a little overeager, as I think there are some special cases where we might want to not start certain tasks when config action runs. But please see the specific comments.\n\nThanks","commit_id":"0ce9da2f00f763ca603928f7fdcb605eaa05264f"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"6e29575907711db243d6b88e64dc21e96da0e564","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"5d530dad_80f911ae","in_reply_to":"a1bd150f_1040fa15","updated":"2024-07-18 06:56:36.000000000","message":"Done (replaced by comment at the correct spot)","commit_id":"0ce9da2f00f763ca603928f7fdcb605eaa05264f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0f37c21eef43900450fe6b53cc462644f8daaf2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"cc4f83e0_c54cb20b","updated":"2024-08-07 07:34:31.000000000","message":"I\u0027d still like to see some performance numbers for the claimed performance benefit but the code itself looks good to me. Alternatively you can just remove the performance claims, if we just don\u0027t have the numbers to back them up.","commit_id":"c75a6ab1a18583baa4f0707ff1cd35cf892f5f1c"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"e531df39721e0a2aa7993734bb25f432f5d235cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"873b9f4a_e52dae08","in_reply_to":"cc4f83e0_c54cb20b","updated":"2024-08-08 09:45:41.000000000","message":"### TL;DR\nOkay, so I ran the numbers and the TL;DR is that the overall improvement for my setup is around 2 % (7s improvement). It is more significant for roles like neutron (7%/4s improvement) or nova-cell (4%/2s improvement) but for the rest of the roles, the benefit is insignificant.\n\n### Setup\n```\n$ cat /etc/ansible/ansible.cfg\n[defaults]\nhost_key_checking \u003d False\npipelining \u003d True\nforks \u003d 16\nstdout_callback \u003d yaml\ncallbacks_enabled \u003d profile_tasks,profile_roles,timer\ninject_facts_as_vars \u003d False\n\n[ssh_connection]\nssh_args \u003d -o ControlMaster\u003dauto -o ControlPersist\u003d60s\n```\n```\n$ ansible --version\nansible [core 2.16.8]\n  config file \u003d /etc/ansible/ansible.cfg\n  configured module search path \u003d [\u0027/home/erman/.ansible/plugins/modules\u0027, \u0027/usr/share/ansible/plugins/modules\u0027]\n  ansible python module location \u003d /home/erman/openstack/.venv/lib/python3.10/site-packages/ansible\n  ansible collection location \u003d /home/erman/.ansible/collections:/usr/share/ansible/collections\n  executable location \u003d /home/erman/openstack/.venv/bin/ansible\n  python version \u003d 3.10.12 (main, Jul 29 2024, 16:56:48) [GCC 11.4.0] (/home/erman/openstack/.venv/bin/python3)\n  jinja version \u003d 3.1.4\n  libyaml \u003d True\n```\n\n```\n$ cat /etc/ssh/sshd_config\n...\nMaxSessions 100\nMaxStartups 30:50:100\n...\n```\n^^ This was done to allow many concurrent connections to one host. See the invertory section as to why.\n\nAnd between each run I cleared cache with `echo 3 \u003e /proc/sys/vm/drop_caches` and removed the following folders to prevent any kind of cache hits.\n- /etc/kolla\n- /tmp\n- /root/.ansible\n\n### Inventory\nThe overall invertory consisted of 3 control nodes, 20 compute nodes and 20 networking nodes. They were spread over two VMs and I used the following trick to \"simulate\" more nodes.\n\n````\n[compute]\nnode-a-01 ansible_host\u003d172.30.10.19 ansible_user\u003dubuntu node_config_directory\u003d/etc/kolla/co-a-1\n...\nnode-a-10 ansible_host\u003d172.30.10.19 ansible_user\u003dubuntu node_config_directory\u003d/etc/kolla/co-a-10\n...\n\n```\n\n### Commits \nThe master branch was taken at commit 9a5059d4408a11f23c23f2543c404292ac9d088a and this branch was taken from patchset 13\n\n### Data analysis\nEach genconfig was ran with the following command 4 times and then the times were averaged from the output of the profile_role plugin.\n```\nkolla-ansible -i os_inventory_big.ini -vv genconfig\n```","commit_id":"c75a6ab1a18583baa4f0707ff1cd35cf892f5f1c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"e2a98066b800d98f852f649a32711773dfd4ee10","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"d5bac1f0_632e095f","updated":"2024-08-08 15:44:37.000000000","message":"needs a rebase and I guess then we should be fine :)","commit_id":"a037218593745bc6f63423ed1dc30b960a7f87a0"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2f33bfc2c0c0c914fbd23891d9c49993ac0c836d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"9b62f127_5264a7bd","in_reply_to":"d5bac1f0_632e095f","updated":"2024-08-09 08:48:30.000000000","message":"Done","commit_id":"a037218593745bc6f63423ed1dc30b960a7f87a0"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"101ac8311ed925e6d377fd41029dc0835044d85b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"d6118050_f7706df6","updated":"2024-09-16 13:07:34.000000000","message":"LGTM, well done!","commit_id":"453d70dd3e2a354cd0cfec10ee8ed5b17280ff43"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"fdcd8431ae2f499db22467f9ced092f02de93cdb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"894a9f92_8cec87d7","updated":"2024-09-16 16:49:32.000000000","message":"This can\u0027t be merged as it\u0027s dangerous and firstly need to check the kolla part as already mentioned in last patches in this relation chain.","commit_id":"453d70dd3e2a354cd0cfec10ee8ed5b17280ff43"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"28c5946403c5dfb5b1cf3d8c4b18dfa7b1122caa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"dabac72f_c42da9e2","updated":"2024-09-16 13:10:40.000000000","message":"mhm, weird, I could swear there was no merge conflict being shown when I voted, that needs to be fixed first, of course.","commit_id":"453d70dd3e2a354cd0cfec10ee8ed5b17280ff43"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"79d5f6e0ecd44ae7bbd4f30a21f61ab659e6c47a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"d73a2725_47143704","updated":"2024-09-16 19:49:56.000000000","message":"there is a always bad with big \u0027Relation chain\u0027","commit_id":"453d70dd3e2a354cd0cfec10ee8ed5b17280ff43"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"a9a9601e3375d02edf744eb0898008c6ac19519a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"5d0791e2_c06e4811","in_reply_to":"894a9f92_8cec87d7","updated":"2024-09-16 19:48:44.000000000","message":"https://review.opendev.org/c/openstack/kolla-ansible/+/745164/17..18//COMMIT_MSG\nsomething went wrong on parent change... hash changed, this is not a rebase","commit_id":"453d70dd3e2a354cd0cfec10ee8ed5b17280ff43"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7cd43697dfb8927263656f99c7fee72dbef230b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"7a1a4caf_91b0a3b0","updated":"2024-10-08 09:39:23.000000000","message":"@roman.krcek@tietoevry.com I would also like to see the patch tracked at https://review.opendev.org/c/openstack/kolla/+/915440 merged before this one. Although it\u0027s not exactly the same issue, it is somewhat related. In short, if a user provides a customized policy.yaml, for example, it gets copied into the container according to config.json and replaces the policy.yaml that is \"baked\" into the image. However, if the user deletes this customized policy.yaml from /etc/kolla/config/{service}/policy.yaml and reconfigures the service, the mapping from config.json disappears, but the original \"baked\" policy.yaml does not return to its place. This means the customized one remains, and the state isn\u0027t as it should be. After this, we can proceed further.","commit_id":"5586f59261db8b4350b38af3aac7e6a026ab11ef"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"93fe5eebbac61b4e49adf4000a8f0126d3d2cccf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"59c6087f_9ffb1569","updated":"2024-10-22 11:17:14.000000000","message":"recheck podman dashboard 503","commit_id":"5586f59261db8b4350b38af3aac7e6a026ab11ef"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"d0d07e5ed861f2772c3b7d841a04110fb12595ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"a14a539d_3e045562","updated":"2024-11-08 15:34:01.000000000","message":"Code LGTM, let\u0027s wait for another complete CI run.","commit_id":"d9415962bd76d9a691f154f79fec9b03ed49cec3"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"9014298f6572f82ce98a245a485e5da178eb50bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"7260cb70_b4d283e2","updated":"2024-11-08 15:33:31.000000000","message":"recheck temporary failure with logging at rackspace","commit_id":"d9415962bd76d9a691f154f79fec9b03ed49cec3"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"b6e817982ee8b044a0668ba28cddd9ffae2d392a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"f2e43329_42b0d73b","updated":"2024-11-25 13:02:47.000000000","message":"recheck unrelated failure during dashboard test","commit_id":"d9415962bd76d9a691f154f79fec9b03ed49cec3"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"da4e4716979a9daf8a5750d2a5b7a51ae05d8c5b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"f04140ec_0dbf4057","updated":"2024-11-26 10:28:06.000000000","message":"recheck unrelated CI issue in kolla mariadb job: Make sure this host can be reached over ssh: zuul@104.239.175.114: Permission denied (publickey)","commit_id":"5831855c4799b8869a710c8a461e177a9a31c77d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4b105c7490b33478c801f0dd73f24e4471ca8223","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"a24d7860_74b6d116","updated":"2024-11-26 17:16:20.000000000","message":"recheck unrelated failure in job kolla-ansible-ubuntu-upgrade : docker.errors.BuildError: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit","commit_id":"5831855c4799b8869a710c8a461e177a9a31c77d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"cb74e75a918e07a85975d9e8fa1b061f0b241f47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"f25e6522_31dce8e3","updated":"2024-11-28 11:02:30.000000000","message":"recheck unrelated failure during container build due to dockerhub ratelimits.","commit_id":"dcc45cd87fb03d0f367a3f6b306b47f9d4785b0f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ecb4df410ea876a31e6ab594e45b9471c1412489","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"3e2a65d7_2b2275eb","updated":"2024-11-29 04:07:28.000000000","message":"recheck unrelated podman debian error","commit_id":"4a55b6f3cfad88f665b36bb26ab29e5a4f9ffe00"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7240e42b8565e6ee36bf24ce17a36de421ae15a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"3a0d9375_2f92a5dd","updated":"2024-11-30 17:56:47.000000000","message":"recheck non related","commit_id":"e5ccf6008890921e1b6638021633842e38a4fd1b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"45beab74414fd27e2c4b3b4efb337573c9a7023e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"1c821962_5128e738","updated":"2024-12-01 22:01:48.000000000","message":"recheck new image","commit_id":"53376aed8fc8175a2e5a2ca69dfe15a56a16273f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ea4f5c394c1d9d407fd3ccbc38370d8b77d8f03e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"6a6ba154_443130d5","updated":"2024-12-02 09:06:33.000000000","message":"recheck rocky retry limit","commit_id":"53376aed8fc8175a2e5a2ca69dfe15a56a16273f"}],"ansible/library/kolla_docker.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"6c6098d900c9d377c7fbd62fe959d55d2cef106a","unresolved":false,"context_lines":[{"line_number":538,"context_line":"                return True"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"    def compare_config(self):"},{"line_number":541,"context_line":"        command \u003d [\u0027/usr/local/bin/kolla_set_configs\u0027, \u0027--check\u0027]"},{"line_number":542,"context_line":"        job \u003d self.dc.exec_create(self.params[\u0027name\u0027], command, user\u003d\u0027root\u0027)"},{"line_number":543,"context_line":"        output \u003d self.dc.exec_start(job)"},{"line_number":544,"context_line":"        exec_inspect \u003d self.dc.exec_inspect(job)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_cce5e1de","line":541,"range":{"start_line":541,"start_character":19,"end_line":541,"end_character":64},"updated":"2020-08-12 12:52:26.000000000","message":"If we\u0027re going to rely on this it needs to be solid. Ref. https://review.opendev.org/745105","commit_id":"166ec7c7815b4596d55ae5bd8f3dd6edeceb77e5"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2542b1d507e349a435393884a14f0d3c72538c28","unresolved":false,"context_lines":[{"line_number":536,"context_line":"            if (new_path !\u003d container_info[\u0027Path\u0027] or"},{"line_number":537,"context_line":"                    new_args !\u003d container_info[\u0027Args\u0027]):"},{"line_number":538,"context_line":"                return True"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"    def compare_config(self):"},{"line_number":541,"context_line":"        command \u003d [\u0027/usr/local/bin/kolla_set_configs\u0027, \u0027--check\u0027]"},{"line_number":542,"context_line":"        job \u003d self.dc.exec_create(self.params[\u0027name\u0027], command, user\u003d\u0027root\u0027)"},{"line_number":543,"context_line":"        output \u003d self.dc.exec_start(job)"},{"line_number":544,"context_line":"        exec_inspect \u003d self.dc.exec_inspect(job)"},{"line_number":545,"context_line":"        # Exit codes:"},{"line_number":546,"context_line":"        # 0: not changed"},{"line_number":547,"context_line":"        # 1: changed"},{"line_number":548,"context_line":"        # else: error"},{"line_number":549,"context_line":"        if exec_inspect[\u0027ExitCode\u0027] \u003d\u003d 0:"},{"line_number":550,"context_line":"            return False"},{"line_number":551,"context_line":"        elif exec_inspect[\u0027ExitCode\u0027] \u003d\u003d 1:"},{"line_number":552,"context_line":"            return True"},{"line_number":553,"context_line":"        else:"},{"line_number":554,"context_line":"            raise Exception(\u0027Failed to compare container configuration: \u0027"},{"line_number":555,"context_line":"                            \u0027%s\u0027 % output)"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    def parse_image(self):"},{"line_number":558,"context_line":"        full_image \u003d self.params.get(\u0027image\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_6bf5cd56","line":555,"range":{"start_line":539,"start_character":0,"end_line":555,"end_character":42},"updated":"2020-08-07 16:25:30.000000000","message":"love it","commit_id":"166ec7c7815b4596d55ae5bd8f3dd6edeceb77e5"},{"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":"090f84e0c3362944368bb804d2d16dcf1d8e81a8","unresolved":false,"context_lines":[{"line_number":536,"context_line":"            if (new_path !\u003d container_info[\u0027Path\u0027] or"},{"line_number":537,"context_line":"                    new_args !\u003d container_info[\u0027Args\u0027]):"},{"line_number":538,"context_line":"                return True"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"    def compare_config(self):"},{"line_number":541,"context_line":"        command \u003d [\u0027/usr/local/bin/kolla_set_configs\u0027, \u0027--check\u0027]"},{"line_number":542,"context_line":"        job \u003d self.dc.exec_create(self.params[\u0027name\u0027], command, user\u003d\u0027root\u0027)"},{"line_number":543,"context_line":"        output \u003d self.dc.exec_start(job)"},{"line_number":544,"context_line":"        exec_inspect \u003d self.dc.exec_inspect(job)"},{"line_number":545,"context_line":"        # Exit codes:"},{"line_number":546,"context_line":"        # 0: not changed"},{"line_number":547,"context_line":"        # 1: changed"},{"line_number":548,"context_line":"        # else: error"},{"line_number":549,"context_line":"        if exec_inspect[\u0027ExitCode\u0027] \u003d\u003d 0:"},{"line_number":550,"context_line":"            return False"},{"line_number":551,"context_line":"        elif exec_inspect[\u0027ExitCode\u0027] \u003d\u003d 1:"},{"line_number":552,"context_line":"            return True"},{"line_number":553,"context_line":"        else:"},{"line_number":554,"context_line":"            raise Exception(\u0027Failed to compare container configuration: \u0027"},{"line_number":555,"context_line":"                            \u0027%s\u0027 % output)"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    def parse_image(self):"},{"line_number":558,"context_line":"        full_image \u003d self.params.get(\u0027image\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_514eb8c0","line":555,"range":{"start_line":539,"start_character":0,"end_line":555,"end_character":42},"in_reply_to":"9f560f44_6bf5cd56","updated":"2020-08-07 18:05:33.000000000","message":"Thanks, it\u0027s essentially your part with logic rewritten to suit my taste. :-)","commit_id":"166ec7c7815b4596d55ae5bd8f3dd6edeceb77e5"}],"ansible/roles/etcd/handlers/main.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"12d42eeca3e6c65f29147c9d9c41a3581c1d410e","unresolved":true,"context_lines":[{"line_number":9,"context_line":"- name: Look up the cluster leader"},{"line_number":10,"context_line":"  include_tasks: \u0027lookup_leader.yml\u0027"},{"line_number":11,"context_line":"  when:"},{"line_number":12,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":13,"context_line":"  listen:"},{"line_number":14,"context_line":"    - Restart etcd container"},{"line_number":15,"context_line":"    - Bootstrap etcd services"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"6e136f26_a097be71","side":"PARENT","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":2},"updated":"2024-07-17 15:36:26.000000000","message":"I don\u0027t think it makes sense to include this task when configuration is running and potentially no container is running. from the `lookup_leader.yml`:\n\n`# NOTE(jan.gutter): These tasks assume a cluster is running`","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"f63f94b4698099f6a77c1dfa29fab89a9e46bba2","unresolved":true,"context_lines":[{"line_number":9,"context_line":"- name: Look up the cluster leader"},{"line_number":10,"context_line":"  include_tasks: \u0027lookup_leader.yml\u0027"},{"line_number":11,"context_line":"  when:"},{"line_number":12,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":13,"context_line":"  listen:"},{"line_number":14,"context_line":"    - Restart etcd container"},{"line_number":15,"context_line":"    - Bootstrap etcd services"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"e293544a_e94b4438","side":"PARENT","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":2},"in_reply_to":"6e136f26_a097be71","updated":"2024-07-18 07:29:27.000000000","message":"Since `Restart etcd container` notifier was removed from config.yml, this handler shouldn\u0027t be called during config. The other handler names it is listening to are from bootstrap.yml, restart_services.yml and lookup_cluster.yml","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"86e2e935863d0d3846f0774492b165f4f9a03596","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- name: Look up the cluster leader"},{"line_number":10,"context_line":"  include_tasks: \u0027lookup_leader.yml\u0027"},{"line_number":11,"context_line":"  when:"},{"line_number":12,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":13,"context_line":"  listen:"},{"line_number":14,"context_line":"    - Restart etcd container"},{"line_number":15,"context_line":"    - Bootstrap etcd services"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"eb4ec963_fbaee7a2","side":"PARENT","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":2},"in_reply_to":"e293544a_e94b4438","updated":"2024-07-18 09:47:37.000000000","message":"Acknowledged","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"}],"ansible/roles/etcd/tasks/config.yml":[{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"41945bb8dbcb26ba151f5ba7a8daa6d43299c375","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":24,"context_line":"  with_dict: \"{{ etcd_services }}\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- include_tasks: copy-certs.yml"},{"line_number":27,"context_line":"  when:"},{"line_number":28,"context_line":"    - etcd_enable_tls | bool"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"c9f4f265_ac5963aa","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":28},"updated":"2024-07-18 06:55:10.000000000","message":"There is a problem with the role service-cert-copy. When `kolla_copy_ca_into_containers:` is enabled, it copies files into the container to install in a trust store. Since these files are not present inside config.json´ of a service, check-containers won\u0027t be able to detect this change and won\u0027t restart the container when CA files are updated. \n\nThis is why Zuul is failing right now.\n\nSee https://docs.openstack.org/kolla-ansible/latest/admin/tls.html#adding-ca-certificates-to-the-service-containers","commit_id":"0ce9da2f00f763ca603928f7fdcb605eaa05264f"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"5333c6a7f7c5c6bc9fddc77e7e057a8405353ba8","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":24,"context_line":"  with_dict: \"{{ etcd_services }}\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- include_tasks: copy-certs.yml"},{"line_number":27,"context_line":"  when:"},{"line_number":28,"context_line":"    - etcd_enable_tls | bool"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"b490a02a_e780a5a7","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":28},"in_reply_to":"743177ce_ab21238c","updated":"2024-07-22 15:20:59.000000000","message":"This threat was moved to the patchset addressing this issue. https://review.opendev.org/c/openstack/kolla-ansible/+/924651","commit_id":"0ce9da2f00f763ca603928f7fdcb605eaa05264f"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"502235e837ac907a0b11624bf92d969f8f897f66","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":24,"context_line":"  with_dict: \"{{ etcd_services }}\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- include_tasks: copy-certs.yml"},{"line_number":27,"context_line":"  when:"},{"line_number":28,"context_line":"    - etcd_enable_tls | bool"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"743177ce_ab21238c","line":28,"range":{"start_line":26,"start_character":0,"end_line":28,"end_character":28},"in_reply_to":"c9f4f265_ac5963aa","updated":"2024-07-18 07:59:14.000000000","message":"My idea would be to add that folder into config.json.j2 and that would make the container setup copy all of these files into some intermediary location. Like this:\n    \n    {% if kolla_copy_ca_into_containers | bool %},\n    {\n        \"source\": \"{{ container_config_directory }}/ca-certificates\",\n        \"dest\": \"/some/location\",\n        \"owner\": \"some_owner\",\n        \"perm\": \"0600\"\n    }{% endif %}\n    \n \nFrom that /some/location, this script could work it\u0027s magic. \n\nhttps://github.com/openstack/kolla/blob/f63594bdc1dc429c4601bfe818ad5c7893a93f3e/docker/base/copy_cacerts.sh#L15 \n\nWhat do you think about this approach? Or perhaps would could replace the script and integrate this functionality into the kolla_set_configs script directly? :)","commit_id":"0ce9da2f00f763ca603928f7fdcb605eaa05264f"}],"ansible/roles/grafana/handlers/main.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"12d42eeca3e6c65f29147c9d9c41a3581c1d410e","unresolved":true,"context_lines":[{"line_number":33,"context_line":"  retries: \"{{ grafana_start_first_node_retries }}\""},{"line_number":34,"context_line":"  delay: \"{{ grafana_start_first_node_delay }}\""},{"line_number":35,"context_line":"  when:"},{"line_number":36,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":37,"context_line":"    - inventory_hostname \u003d\u003d groups[service.group] | first"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- name: Restart remaining grafana containers"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"f157eace_1172c3d6","side":"PARENT","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":2},"updated":"2024-07-17 15:36:26.000000000","message":"this wait\u0027s for the grafana node to start and is not a simple `recreate_or_restart_container` action. During \"config\" phase this task might hang until max retries and then fail, if grafana is not started. Not sure if this is salvaged by `listen: Restart grafana container`","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"86e2e935863d0d3846f0774492b165f4f9a03596","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  retries: \"{{ grafana_start_first_node_retries }}\""},{"line_number":34,"context_line":"  delay: \"{{ grafana_start_first_node_delay }}\""},{"line_number":35,"context_line":"  when:"},{"line_number":36,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":37,"context_line":"    - inventory_hostname \u003d\u003d groups[service.group] | first"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- name: Restart remaining grafana containers"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"4244438b_109e5586","side":"PARENT","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":2},"in_reply_to":"33a79568_4e96d40a","updated":"2024-07-18 09:47:37.000000000","message":"Acknowledged","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"f63f94b4698099f6a77c1dfa29fab89a9e46bba2","unresolved":true,"context_lines":[{"line_number":33,"context_line":"  retries: \"{{ grafana_start_first_node_retries }}\""},{"line_number":34,"context_line":"  delay: \"{{ grafana_start_first_node_delay }}\""},{"line_number":35,"context_line":"  when:"},{"line_number":36,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":37,"context_line":"    - inventory_hostname \u003d\u003d groups[service.group] | first"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- name: Restart remaining grafana containers"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"33a79568_4e96d40a","side":"PARENT","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":2},"in_reply_to":"f157eace_1172c3d6","updated":"2024-07-18 07:29:27.000000000","message":"I\u0027m not sure I follow. This handler also won\u0027t get called during the config phase, so it shouldn\u0027t interfere with it. It will be called by `check-containers` role/task during deployment, reconfigure or other tasks that import this role.","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"}],"ansible/roles/grafana/tasks/config.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"11fd1887a0f3eb6a77567b37ae39a54adec72da9","unresolved":true,"context_lines":[{"line_number":53,"context_line":"  with_items:"},{"line_number":54,"context_line":"    - \"{{ check_extra_conf_grafana.files }}\""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"- name: Check if custom grafana home dashboard exists"},{"line_number":57,"context_line":"  stat:"},{"line_number":58,"context_line":"    path: \"{{ node_custom_config }}/grafana/grafana_home_dashboard.json\""},{"line_number":59,"context_line":"  delegate_to: localhost"},{"line_number":60,"context_line":"  register: grafana_custom_dashboard_file"},{"line_number":61,"context_line":"  run_once: True"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"- name: Copying over grafana home dashboard if exists"},{"line_number":64,"context_line":"  become: true"},{"line_number":65,"context_line":"  template:"},{"line_number":66,"context_line":"    src: \"{{ node_custom_config }}/grafana/grafana_home_dashboard.json\""},{"line_number":67,"context_line":"    dest: \"{{ node_config_directory }}/grafana/grafana_home_dashboard.json\""},{"line_number":68,"context_line":"    mode: \"0660\""},{"line_number":69,"context_line":"  when: grafana_custom_dashboard_file.stat.exists"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"- name: Configuring Prometheus as data source for Grafana"},{"line_number":72,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"8d1f6386_80abcf13","line":69,"range":{"start_line":56,"start_character":0,"end_line":69,"end_character":49},"updated":"2024-08-26 09:37:48.000000000","message":"was this removed by accident?","commit_id":"772c429562590d7a68ce38d98e777498c1d279cb"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"80b2b1cf4f94a54d162afbe818d67c3237946bf2","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  with_items:"},{"line_number":54,"context_line":"    - \"{{ check_extra_conf_grafana.files }}\""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"- name: Check if custom grafana home dashboard exists"},{"line_number":57,"context_line":"  stat:"},{"line_number":58,"context_line":"    path: \"{{ node_custom_config }}/grafana/grafana_home_dashboard.json\""},{"line_number":59,"context_line":"  delegate_to: localhost"},{"line_number":60,"context_line":"  register: grafana_custom_dashboard_file"},{"line_number":61,"context_line":"  run_once: True"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"- name: Copying over grafana home dashboard if exists"},{"line_number":64,"context_line":"  become: true"},{"line_number":65,"context_line":"  template:"},{"line_number":66,"context_line":"    src: \"{{ node_custom_config }}/grafana/grafana_home_dashboard.json\""},{"line_number":67,"context_line":"    dest: \"{{ node_config_directory }}/grafana/grafana_home_dashboard.json\""},{"line_number":68,"context_line":"    mode: \"0660\""},{"line_number":69,"context_line":"  when: grafana_custom_dashboard_file.stat.exists"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"- name: Configuring Prometheus as data source for Grafana"},{"line_number":72,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"123f00fa_19c74890","line":69,"range":{"start_line":56,"start_character":0,"end_line":69,"end_character":49},"in_reply_to":"1764024c_a72a8c7a","updated":"2024-08-27 06:54:14.000000000","message":"Acknowledged","commit_id":"772c429562590d7a68ce38d98e777498c1d279cb"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"8e625d8e61007e560c96c4b760670d25a6f5dedc","unresolved":true,"context_lines":[{"line_number":53,"context_line":"  with_items:"},{"line_number":54,"context_line":"    - \"{{ check_extra_conf_grafana.files }}\""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"- name: Check if custom grafana home dashboard exists"},{"line_number":57,"context_line":"  stat:"},{"line_number":58,"context_line":"    path: \"{{ node_custom_config }}/grafana/grafana_home_dashboard.json\""},{"line_number":59,"context_line":"  delegate_to: localhost"},{"line_number":60,"context_line":"  register: grafana_custom_dashboard_file"},{"line_number":61,"context_line":"  run_once: True"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"- name: Copying over grafana home dashboard if exists"},{"line_number":64,"context_line":"  become: true"},{"line_number":65,"context_line":"  template:"},{"line_number":66,"context_line":"    src: \"{{ node_custom_config }}/grafana/grafana_home_dashboard.json\""},{"line_number":67,"context_line":"    dest: \"{{ node_config_directory }}/grafana/grafana_home_dashboard.json\""},{"line_number":68,"context_line":"    mode: \"0660\""},{"line_number":69,"context_line":"  when: grafana_custom_dashboard_file.stat.exists"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"- name: Configuring Prometheus as data source for Grafana"},{"line_number":72,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"1764024c_a72a8c7a","line":69,"range":{"start_line":56,"start_character":0,"end_line":69,"end_character":49},"in_reply_to":"8d1f6386_80abcf13","updated":"2024-08-27 05:30:47.000000000","message":"No, it was intentional. It was removed by https://review.opendev.org/c/openstack/kolla-ansible/+/921096/3/ansible/roles/grafana/tasks/config.yml","commit_id":"772c429562590d7a68ce38d98e777498c1d279cb"}],"ansible/roles/loadbalancer/handlers/main.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"12d42eeca3e6c65f29147c9d9c41a3581c1d410e","unresolved":true,"context_lines":[{"line_number":48,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":49,"context_line":"    name: \"keepalived\""},{"line_number":50,"context_line":"  when:"},{"line_number":51,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":52,"context_line":"    - groups.kolla_ha_is_master_False is defined"},{"line_number":53,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":54,"context_line":"  listen:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"c259a324_1e92891c","side":"PARENT","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":2},"updated":"2024-07-17 15:36:26.000000000","message":"see below","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"cf6b62ac5fe545067271876036c3d4308bd6c375","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":49,"context_line":"    name: \"keepalived\""},{"line_number":50,"context_line":"  when:"},{"line_number":51,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":52,"context_line":"    - groups.kolla_ha_is_master_False is defined"},{"line_number":53,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":54,"context_line":"  listen:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"66c55686_c7f21396","side":"PARENT","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":2},"in_reply_to":"c259a324_1e92891c","updated":"2024-07-18 09:48:43.000000000","message":"Done","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"12d42eeca3e6c65f29147c9d9c41a3581c1d410e","unresolved":true,"context_lines":[{"line_number":66,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":67,"context_line":"    name: \"haproxy\""},{"line_number":68,"context_line":"  when:"},{"line_number":69,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":70,"context_line":"    - groups.kolla_ha_is_master_False is defined"},{"line_number":71,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":72,"context_line":"  listen:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"2f5af341_3461f77e","side":"PARENT","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":2},"updated":"2024-07-17 15:36:26.000000000","message":"I\u0027m not sure about this, this might fail during configure phase, no? then again it has set `ignore_missing`. This is different from most of the other instances as containers are explicitly stopped here, not restarted.\n\nI _think_ it might be not problematic, but as I\u0027m not 100% sure I\u0027ll leave a comment for others to judge.","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"},{"author":{"_account_id":36702,"name":"Roman Krcek","display_name":"Roman Krček","email":"roman.krcek@tietoevry.com","username":"r-krcek"},"change_message_id":"f63f94b4698099f6a77c1dfa29fab89a9e46bba2","unresolved":true,"context_lines":[{"line_number":66,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":67,"context_line":"    name: \"haproxy\""},{"line_number":68,"context_line":"  when:"},{"line_number":69,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":70,"context_line":"    - groups.kolla_ha_is_master_False is defined"},{"line_number":71,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":72,"context_line":"  listen:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"d4f805e3_e0d9f856","side":"PARENT","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":2},"in_reply_to":"2f5af341_3461f77e","updated":"2024-07-18 07:29:27.000000000","message":"Similar as the previous comment. These handlers should not get called at all during config.\n\nBut I think the bigger problem here could be that this look exactly like the place where this might work only because of the ansible quirk. Since now only the *truly* changed containers restart, it might cause some problems with the restart dance.\n\nBut since the multinode tests are not failing, do you think that any of these two problems could be a real problem?","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"86e2e935863d0d3846f0774492b165f4f9a03596","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":67,"context_line":"    name: \"haproxy\""},{"line_number":68,"context_line":"  when:"},{"line_number":69,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":70,"context_line":"    - groups.kolla_ha_is_master_False is defined"},{"line_number":71,"context_line":"    - inventory_hostname in groups.kolla_ha_is_master_False"},{"line_number":72,"context_line":"  listen:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"2dcdd424_687ac9ba","side":"PARENT","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":2},"in_reply_to":"d4f805e3_e0d9f856","updated":"2024-07-18 09:47:37.000000000","message":"I think you\u0027re right, and thanks for correcting my flawed logic, I somehow had the wrong order of actions in mind when I reviewed this. Marking as resolved.","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"}],"ansible/roles/magnum/tasks/config.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"44e80397eb85429c8f4b6744ed203f29cb83904b","unresolved":true,"context_lines":[{"line_number":63,"context_line":"  become: true"},{"line_number":64,"context_line":"  with_dict: \"{{ magnum_services | select_services_enabled_and_mapped_to_host }}\""},{"line_number":65,"context_line":"  notify:"},{"line_number":66,"context_line":"    - Restart {{ item.key }} container"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"- name: Copying over magnum.conf"},{"line_number":69,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3193df07_ab26e5a7","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":2},"updated":"2024-08-09 08:41:42.000000000","message":"did this slip in again or is it actually needed?","commit_id":"b7992601eba264dfd5a60bd06091824ac3158b78"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2f33bfc2c0c0c914fbd23891d9c49993ac0c836d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  become: true"},{"line_number":64,"context_line":"  with_dict: \"{{ magnum_services | select_services_enabled_and_mapped_to_host }}\""},{"line_number":65,"context_line":"  notify:"},{"line_number":66,"context_line":"    - Restart {{ item.key }} container"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"- name: Copying over magnum.conf"},{"line_number":69,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"53153e81_b54a4de6","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":2},"in_reply_to":"3193df07_ab26e5a7","updated":"2024-08-09 08:48:30.000000000","message":"Done","commit_id":"b7992601eba264dfd5a60bd06091824ac3158b78"}],"ansible/roles/neutron/handlers/main.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"12d42eeca3e6c65f29147c9d9c41a3581c1d410e","unresolved":true,"context_lines":[{"line_number":95,"context_line":"      - neutron_l3_agent"},{"line_number":96,"context_line":"  register: container_facts"},{"line_number":97,"context_line":"  when:"},{"line_number":98,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":99,"context_line":"  listen: Restart neutron-l3-agent container"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"- name: Group hosts"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"fec788d5_b6eb7049","side":"PARENT","line":98,"range":{"start_line":98,"start_character":0,"end_line":98,"end_character":2},"updated":"2024-07-17 15:36:26.000000000","message":"not sure it makes sense to collect container facts each time only config changes?","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"cf6b62ac5fe545067271876036c3d4308bd6c375","unresolved":false,"context_lines":[{"line_number":95,"context_line":"      - neutron_l3_agent"},{"line_number":96,"context_line":"  register: container_facts"},{"line_number":97,"context_line":"  when:"},{"line_number":98,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":99,"context_line":"  listen: Restart neutron-l3-agent container"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"- name: Group hosts"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"ec15b083_8a9bd7de","side":"PARENT","line":98,"range":{"start_line":98,"start_character":0,"end_line":98,"end_character":2},"in_reply_to":"fec788d5_b6eb7049","updated":"2024-07-18 09:48:43.000000000","message":"Acknowledged","commit_id":"362cf2bbe324b16d7a7f63db4dac7026d70c567e"}],"ansible/roles/neutron/tasks/check-containers.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"04e2751f348cdc07641013eb28bbcca67d1afd86","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- import_role:"},{"line_number":3,"context_line":"    name: service-check-containers"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_168280a5","line":3,"updated":"2020-10-13 07:56:02.000000000","message":"Should this refactor be done separately? I generally prefer to split refactoring from actual changes.","commit_id":"5e8008d56c3156606737941f3be4ce2836b64a57"},{"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":"86aab3856dd5d6a7a05d3f80830a4e3a28ee5c7f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- import_role:"},{"line_number":3,"context_line":"    name: service-check-containers"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_40a8add7","line":3,"in_reply_to":"9f560f44_168280a5","updated":"2020-10-13 09:31:03.000000000","message":"Yeah, that\u0027s the goal. Just need to find the time...","commit_id":"5e8008d56c3156606737941f3be4ce2836b64a57"}],"ansible/roles/service-check-containers/tasks/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2542b1d507e349a435393884a14f0d3c72538c28","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  vars:"},{"line_number":21,"context_line":"    service_name: \"{{ item.key }}\""},{"line_number":22,"context_line":"    service: \"{{ item.value }}\""},{"line_number":23,"context_line":"  with_dict: \"{{ lookup(\u0027vars\u0027, project_name + \u0027_services\u0027) | select_services_enabled_and_mapped_to_host }}\""},{"line_number":24,"context_line":"  notify:"},{"line_number":25,"context_line":"    - \"Restart {{ service_name }} container\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9f560f44_4b7f29aa","line":23,"range":{"start_line":23,"start_character":32,"end_line":23,"end_character":44},"updated":"2020-08-07 16:25:30.000000000","message":"won\u0027t work for nova_cell","commit_id":"166ec7c7815b4596d55ae5bd8f3dd6edeceb77e5"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"92b7f7080164beb4e12e653f881ebcbb6af51a4b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  vars:"},{"line_number":21,"context_line":"    service_name: \"{{ item.key }}\""},{"line_number":22,"context_line":"    service: \"{{ item.value }}\""},{"line_number":23,"context_line":"  with_dict: \"{{ lookup(\u0027vars\u0027, project_name + \u0027_services\u0027) | select_services_enabled_and_mapped_to_host }}\""},{"line_number":24,"context_line":"  notify:"},{"line_number":25,"context_line":"    - \"Restart {{ service_name }} container\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9f560f44_e640e2a7","line":23,"range":{"start_line":23,"start_character":32,"end_line":23,"end_character":44},"in_reply_to":"9f560f44_11dd60df","updated":"2020-08-10 13:19:15.000000000","message":"Yes, could be done on role import.","commit_id":"166ec7c7815b4596d55ae5bd8f3dd6edeceb77e5"},{"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":"090f84e0c3362944368bb804d2d16dcf1d8e81a8","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  vars:"},{"line_number":21,"context_line":"    service_name: \"{{ item.key }}\""},{"line_number":22,"context_line":"    service: \"{{ item.value }}\""},{"line_number":23,"context_line":"  with_dict: \"{{ lookup(\u0027vars\u0027, project_name + \u0027_services\u0027) | select_services_enabled_and_mapped_to_host }}\""},{"line_number":24,"context_line":"  notify:"},{"line_number":25,"context_line":"    - \"Restart {{ service_name }} container\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9f560f44_11dd60df","line":23,"range":{"start_line":23,"start_character":32,"end_line":23,"end_character":44},"in_reply_to":"9f560f44_4b7f29aa","updated":"2020-08-07 18:05:33.000000000","message":"good catch; we \"fixed\" the project name but it violated this logic-to-be; I guess we can alias the nova_cell_service to nova_services, wdyt?","commit_id":"166ec7c7815b4596d55ae5bd8f3dd6edeceb77e5"},{"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":"199f084abbe707839bcc6746c48f3309b4cec594","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9f560f44_873e97b6","line":26,"updated":"2020-10-08 17:07:18.000000000","message":"this is the place that will benefit from the ansible quirk workaround https://gist.github.com/yoctozepto/4408d70fee31ac3ba9d8a6491c370dfe\n\nI really feel like we should refactor and then patch","commit_id":"fd62cbc989d50c89821be88398fa1953cfa5772a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"8d8e385f4b514904cfaba06b75dc796551675fe3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9f560f44_55b2564b","line":26,"in_reply_to":"9f560f44_873e97b6","updated":"2020-10-09 14:58:18.000000000","message":"works for me","commit_id":"fd62cbc989d50c89821be88398fa1953cfa5772a"}]}
