)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a12d6b97cf467d289a6a14589c3d373c6c3fc835","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Michal Arbet \u003cmichal.arbet@ultimum.io\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-06-03 13:14:43 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bash replacement"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ia05cfec627276acf8253e81c89e256f2c5c16e17"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":60,"id":"de9fd181_d9696478","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":2},"updated":"2024-06-06 14:30:20.000000000","message":"just for completeness, as you said it yourself: of course we need a better commit message ;)","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"68daf951796d20ed07ac6cfb209094f6e3ae518f","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Michal Arbet \u003cmichal.arbet@ultimum.io\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-06-03 13:14:43 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Bash replacement"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ia05cfec627276acf8253e81c89e256f2c5c16e17"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":60,"id":"fca0851b_c4d261c5","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":2},"in_reply_to":"de9fd181_d9696478","updated":"2024-06-20 09:43:24.000000000","message":"agree, i will set it right after you will say you are ok with other comments :)","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"60e98e8750204ad4e4605468e706a777f099611c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":43,"id":"e5be6e17_6a1beed1","updated":"2024-05-27 22:04:39.000000000","message":"recheck non-related timeout","commit_id":"28dd3dc617d4ef3fe1c4d4ffb398200a410c0640"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"8e19271edf9aaf9153d98c60e3c9d95a84e42315","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":60,"id":"a7e84c72_3b2078e3","updated":"2024-06-06 11:21:01.000000000","message":"Hi, please, could you review this code ? I will change the commit message and other stuff if OK, but for now it will help me to get some feedback.\n\nIt\u0027s quite important patch for me as then I (and also end users) can initialize a project with router with keypair, network and etc.. This iss dependency for tempest testing ..as I don\u0027t want to use dynamic credentials generated by tempest for every test.\n\n\nThis was firstly done in init-runonce bash script ..but mnasiadka didn\u0027t want to review a bash code as we agreed that we will not provide or fix bash code..\n\nSo here we are :) This is pure new ansible for init openstack resources :) as it\u0027s probably better and we can drop bash.\n\nThis will help me to continue with rally/tempest.. \n\nThanks,\nkevko","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a12d6b97cf467d289a6a14589c3d373c6c3fc835","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":60,"id":"a40f2088_190471a7","updated":"2024-06-06 14:30:20.000000000","message":"I think I don\u0027t have too much to complain about, thank your for working on this!\n\nI\u0027ll probably do another round of reviews of this tomorrow, to get a fresh look/perspective on it, as it\u0027s quite some amount of code.","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"0d367ab873c3e99756ddf5dd926e120f3381d0f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":65,"id":"5d89cc7a_10be3168","updated":"2024-06-20 22:45:32.000000000","message":"NOTE (kevko): 63 is working ... 64 and upper patchsets are my debugging patches.","commit_id":"aa0a487c8621258504b732dea03afbfee7e5bf9d"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e632ff4aa7a720d0403fdcc60e989f7fcc76fc3e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"c0c5130f_c9a91191","updated":"2024-06-24 07:03:19.000000000","message":"I have a general problem with this - up until this point we rather advocated against users using init-runonce - and it was only for CI/testing purposes.\nI would rather think we should have a CI role (under roles/ in the main repo directory) that does that, instead of exposing another command to the users?\nWhat do others think?","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f151b40a5e89dfc70b1c92891a435816d1f0bd52","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"fd1e6c09_a804afb2","in_reply_to":"3eacfa43_fc87d180","updated":"2024-06-26 12:14:44.000000000","message":"1, Okay, I didn\u0027t know that post-deploy is called by kayobe. But this is cosmetic change .. I will rework and preserve post-deploy.yaml as it was before...\n\n2. No I didn\u0027t, because kolla-ansible post-deploy just generating openrc and clouds, nothing more (for current review there is also project creation for non-admin.. but this i will probably delete), then there is kolla-ansible init - which creating basic resources : \n\n- public flat network\n- router\n- tenant network\n- flavors\n- images\n- keypair\n\nEverything above is configurable via extra_vars, so if user want to use this simple setup he can. If his setup is more complicated, okay, he won\u0027t use it.\n\nWhat kolla-ansible init does is the same as tools/init-runonce does ... but there was an agreement to replace bash code by ansible code (my original patchset was tools/init-runonce edit.. but Sven gave me -1 because his argument was ..we agreed to remove bash and replace ansible...)\n\n3. Yeah, you are right ..i need to change the commit message, but i am still writing all those stuff around ...\n\n4. Basically I am ok to just move from ansible/roles to roles/ ... main point is bash vs ansible replacement....","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"84ee3d4a74b3fd77888b122b4b6a82215b7319a8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"908221fb_d8c3f845","in_reply_to":"55d723b2_a87c07ce","updated":"2024-06-24 11:10:29.000000000","message":"What you are saying is simply not true at all :), on the contrary, we recommend using init-runonce in several places in the documentation, specifically:\n\nhttps://github.com/openstack/kolla-ansible/blob/master/doc/source/reference/networking/neutron-extensions.rst?plain\u003d1#L75-L78\n\nhttps://github.com/openstack/kolla-ansible/blob/9a45b3db514ac2e2c3b3cb054b975eab6d158fe3/doc/source/reference/networking/neutron-extensions.rst?plain\u003d1#L83-L89\n\nhttps://github.com/openstack/kolla-ansible/blob/9a45b3db514ac2e2c3b3cb054b975eab6d158fe3/doc/source/reference/orchestration-and-nfv/tacker-guide.rst?plain\u003d1#L93-L104\n\nhttps://github.com/openstack/kolla-ansible/blob/9a45b3db514ac2e2c3b3cb054b975eab6d158fe3/doc/source/user/quickstart.rst?plain\u003d1#L333-L345\n\nThis means that if it is to be user-accessible, I have no problem with it being among the other roles. The role is not included in any included playbook, it has a separate playbook, just like tools/init-runonce was separate. I really don’t see any problem. And regarding exposing the command to the kolla-ansible call? I also see no problem with that...on the contrary, if we agreed that bash and various scripts should be dropped, it makes perfect sense to provide the user with a simple kolla-ansible cmd interface...and nothing more, no scripts","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"d9453e86f75ee933bd248ef8e58ad6b5d977ddfe","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"a1f1cfed_c456aaeb","in_reply_to":"5b6e9dc0_035acaef","updated":"2024-06-26 15:02:24.000000000","message":"ah I didn\u0027t think about kayobe as we don\u0027t use that, sorry.\n\nWell then, can we agree that it\u0027s okay if it\u0027s reworked to not break kayobe and we maybe document it\u0027s limitations, like:\n\n\"this roles primary usecase is for CI and dev setups, you can use it for your own deployments, but you have been warned, we don\u0027t plan to extend it\".\n\nwould it be possible to merge it then?\n\naddendum: if we require pure kolla-ansible patches to not break kayobe we should probably have kayobe stuff running in kolla CI as well?\n\nI certainly wouldn\u0027t know if any patch is breaking kayobe.","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"256d84db9aa70997b9b55ed3284f7e9313db773f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"b4c77882_5185a80b","in_reply_to":"908221fb_d8c3f845","updated":"2024-06-25 10:17:28.000000000","message":"well, kevko, to be fair 3 of those documents only talk about it\u0027s usage for demo purposes, then again the text also doesn\u0027t forbid the usage for production setups explicitly so you have a point there.\n\nAs I already said, I think it\u0027s helpful if this would be more user accessible with a potential downside that we can\u0027t break compatibility that easily if we do this, but I personally think that\u0027s not a big deal. I could of course be wrong, though.\n\nBut I think it would be still worthwhile to do it the way you propose, but of course I would be interested in more arguments why \"this is a bad idea\". Because it clearly seems @mnasiadka@gmail.com thinks it\u0027s a bad idea and I\u0027m certain he will have a good reason for that, so maybe we can work this out? 😊\n\nThanks","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"53f2ee34bb143edb71e775588a522c2d841a4ca6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"8e9001b9_b825a612","in_reply_to":"a1f1cfed_c456aaeb","updated":"2024-06-26 15:36:25.000000000","message":"Agree with your point around adding a Kayobe job. Really we are just users of the documented interface i.e post-deploy.yml, so It wouldn\u0027t just be use you\u0027d be breaking. Generally I think that change looks nice, but does seem like we should keep current behaviour of post-deploy.yml. We should avoid unnecessary breaking changes.","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"600f1acfcb265f258636202765443b8961aa4aff","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"3eacfa43_fc87d180","in_reply_to":"b4c77882_5185a80b","updated":"2024-06-26 05:49:49.000000000","message":"First of all - you\u0027ve just broken kayobe by moving admin-openrc and clouds.yaml generation to a role, that is not run by Kayobe.\n\nSecond of all that role will not cover everything and is not suitable for everyone - so you basically forced everybody to use that role in order to have admin-openrc and clouds.yaml templated.\n\nAnd third - we deliberately wanted init-runonce to be for CI and development/demo purposes - because we don\u0027t want that to be a recommended pattern of users initialising their cloud - it\u0027s not one fits all type of a solution - and we don\u0027t really want to accept bugs and fix that with the limited team that we have.\n\nI\u0027m happy to discuss that on a weekly meeting, but now the patch is changing philosophy and approach, instead of doing what\u0027s written in the extremely vague commit message.","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"219184a1f822090db2738608451e06c1e16a12e4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"160f7470_ee2ca04a","in_reply_to":"b4c77882_5185a80b","updated":"2024-06-26 00:44:45.000000000","message":"Yeah, agree, but this is about documentation and description of the commands, not less not more... \n\nI don\u0027t think it\u0027s a problem or let\u0027s say bad idea to provide ansible role for users, it\u0027s the same as users have an option to run tools/init-runonce now. Moreover it can be helfull in bugreports, because resources can be created by the same command as in CI (of course maybe with different -e variable ..)\n\nIf you generally think that CI stuff shouldn\u0027t be part of the kolla-ansible git ..we can move everything to separate git, and we won\u0027t need to have this discussion.\n\nBtw, did you notice for example this ? \n\n./ansible/roles/destroy/tasks/cleanup_containers.yml:  script: ../tools/cleanup-containers \"{{ kolla_container_engine }}\"\n\nansible/roles -\u003e using -\u003e tools/cleanup-containers\n\nKevko","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"88771d8611647d27c0d23a339bb75820f8adb1cb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"55d723b2_a87c07ce","in_reply_to":"c0c5130f_c9a91191","updated":"2024-06-24 08:25:01.000000000","message":"Could you explain a bit more why you think it is a problem to expose it (more) to the user?\n\nOne advantage I could see by keeping this role \"internal\" (so not directly exposed to user playbooks), is that we might get away easier with breaking backwards compatibility there.\n\nThen again if users want to run kolla-ansible similar to upstream, including CI, they would benefit more if they could easily adapt it to their local needs if it\u0027s residing in `ansible/roles/` instead of `roles/`.\n\nPersonally I think we should treat all code equally in terms of quality and bugfixes, so I have a tendency to place this in a user \"visible\" directory.\n\nIf users want to use it, they will also use it if it\u0027s under `roles` and they will also complain if we break them, don\u0027t you think? It\u0027s open source, after all, so we can\u0027t really hide it ;)\n\nAt least that are currently the only up-/downsides which come to my mind with regards to the placement of the role. If there are different things I didn\u0027t consider, please tell me!\n\nFrom my experience we do not really add breaking changes to our CI code - at least not on stable branches - so I think it might be worthwhile to enable the easier consumption of this role in downstream by making it more \"official\" by placing it in `ansible/roles`.\n\nBut I\u0027m interested in more opinions as well, thanks!","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ca19a6697aebec6429774fa024391b666d272aa9","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":76,"id":"5b6e9dc0_035acaef","in_reply_to":"fd1e6c09_a804afb2","updated":"2024-06-26 12:17:02.000000000","message":"Oh, and if tools/init-runonce is for CI, let\u0027s remove from pip package and call it as ./tools/init-runonce only in CI and for demo purposes. Because now it is delivered to users in pip package.","commit_id":"a22347fb78679e4f144f856461dccb4e907628c5"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a658ac9d94eac24911792ec749a92f9beb055b74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":78,"id":"a7ecf6bf_4232853f","updated":"2025-06-25 23:07:31.000000000","message":"@maksim.malchuk@gmail.com Ping, based on your question on IRC.","commit_id":"dc0e03b7d6407f99a88db62e0f999f093c1f944d"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"ee71db50fbeba6cdfd739d869dc901420112667e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":78,"id":"8368959b_b5ebd1c0","updated":"2026-01-21 12:13:11.000000000","message":"@michal.arbet@ultimum.io why?","commit_id":"dc0e03b7d6407f99a88db62e0f999f093c1f944d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"49a75950d4e2ceffdd5522123f370a3d3de12e16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":78,"id":"8ee82a0d_7c9548bf","updated":"2025-06-25 23:08:51.000000000","message":"Just NOTE: OpenstackSDK can be probably dropped as requirement as this can be handled in kolla-toolbox container, so no need to add another requirement...","commit_id":"dc0e03b7d6407f99a88db62e0f999f093c1f944d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4e8c52131fabda4fc702716812c3b6dbdafc1455","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":78,"id":"d5b96dcd_ef459b47","updated":"2025-07-03 22:45:09.000000000","message":"post-deploy is in init now ... ansible/roles/init/tasks/auth.yml .. that\u0027s the rason why failing","commit_id":"dc0e03b7d6407f99a88db62e0f999f093c1f944d"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"6a74db28df54950f4a976d45e8e069ee622d4e8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":78,"id":"a4e6657e_0f0cd691","updated":"2026-01-15 16:22:12.000000000","message":"up","commit_id":"dc0e03b7d6407f99a88db62e0f999f093c1f944d"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"8d859826886ec51adf02788197467cf9660ebd3b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":78,"id":"1ae767e9_7a188101","in_reply_to":"a7ecf6bf_4232853f","updated":"2025-06-26 07:41:57.000000000","message":"cool, I see. thanks)","commit_id":"dc0e03b7d6407f99a88db62e0f999f093c1f944d"}],"ansible/roles/init/defaults/main.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a5b3a94c26a774c0b2cc5fc8c3d8348f4979f4a9","unresolved":true,"context_lines":[{"line_number":39,"context_line":"  - { name: m1.xlarge, id: 5, ram: 16384, disk: 160, vcpus: 8 }"},{"line_number":40,"context_line":"  - { name: m2.tiny, id: 6, ram: 512, disk: 1, vcpus: 2 }"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"kolla_init_image_cirros_name: \"cirros\" "},{"line_number":43,"context_line":"kolla_init_image_cirros_type: \"linux\" "},{"line_number":44,"context_line":"kolla_init_image_cirros_release: \"0.6.0\" "},{"line_number":45,"context_line":"kolla_init_image_cirros_filename: \"{{ kolla_init_image_cirros_name }}-{{ kolla_init_image_cirros_release }}-{{ ansible_facts.architecture }}-disk.img\" "},{"line_number":46,"context_line":"kolla_init_image_cirros_url: \"https://github.com/cirros-dev/cirros/releases/download/{{ kolla_init_image_cirros_release }}/{{ kolla_init_image_cirros_filename }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"df1ae601_3ecfa05a","line":45,"range":{"start_line":42,"start_character":0,"end_line":45,"end_character":151},"updated":"2024-05-24 10:11:41.000000000","message":"nit: whitespace","commit_id":"1fd06e714c1fded1e030104a17b7c4705cbb49d7"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"35d8c0e1fa5e75723fd052be08f5611a3db6a149","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  - { name: m1.xlarge, id: 5, ram: 16384, disk: 160, vcpus: 8 }"},{"line_number":40,"context_line":"  - { name: m2.tiny, id: 6, ram: 512, disk: 1, vcpus: 2 }"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"kolla_init_image_cirros_name: \"cirros\" "},{"line_number":43,"context_line":"kolla_init_image_cirros_type: \"linux\" "},{"line_number":44,"context_line":"kolla_init_image_cirros_release: \"0.6.0\" "},{"line_number":45,"context_line":"kolla_init_image_cirros_filename: \"{{ kolla_init_image_cirros_name }}-{{ kolla_init_image_cirros_release }}-{{ ansible_facts.architecture }}-disk.img\" "},{"line_number":46,"context_line":"kolla_init_image_cirros_url: \"https://github.com/cirros-dev/cirros/releases/download/{{ kolla_init_image_cirros_release }}/{{ kolla_init_image_cirros_filename }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"567f972a_a0ee515a","line":45,"range":{"start_line":42,"start_character":0,"end_line":45,"end_character":151},"in_reply_to":"df1ae601_3ecfa05a","updated":"2024-05-24 11:47:35.000000000","message":"Done","commit_id":"1fd06e714c1fded1e030104a17b7c4705cbb49d7"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a12d6b97cf467d289a6a14589c3d373c6c3fc835","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  - { protocol: tcp, direction: ingress, port: 8000, ip_version: \"IPv{{ init_ip_version }}\", desc: \"Rule for heat-cfn.\" }"},{"line_number":78,"context_line":"  - { protocol: tcp, direction: ingress, port: 8080, ip_version: \"IPv{{ init_ip_version }}\", desc: \"Rule for swift-proxy.\" }"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"init_cache_path: \"/tmp\""}],"source_content_type":"text/x-yaml","patch_set":60,"id":"1911b65c_3aff611b","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":2},"updated":"2024-06-06 14:30:20.000000000","message":"this is used to download e.g. images. depending on many things this might not be a good place to do this (e.g. the next debian release will put /tmp/ finally on a tmpfs which defaults to roughly RAM/2, which might or might not be enough space). maybe use `/var/cache/kolla/initcache/` instead?\n\nThis has also the benefit of images possibly surviving reboots.","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"8e767087f74b3ae92e6e03b7e07894d51d011626","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  - { protocol: tcp, direction: ingress, port: 8000, ip_version: \"IPv{{ init_ip_version }}\", desc: \"Rule for heat-cfn.\" }"},{"line_number":78,"context_line":"  - { protocol: tcp, direction: ingress, port: 8080, ip_version: \"IPv{{ init_ip_version }}\", desc: \"Rule for swift-proxy.\" }"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"init_cache_path: \"/tmp\""}],"source_content_type":"text/x-yaml","patch_set":60,"id":"028cfed9_3fdd538d","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":2},"in_reply_to":"1911b65c_3aff611b","updated":"2024-06-20 09:33:36.000000000","message":"Done","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"68daf951796d20ed07ac6cfb209094f6e3ae518f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  - { protocol: tcp, direction: ingress, port: 8000, ip_version: \"IPv{{ init_ip_version }}\", desc: \"Rule for heat-cfn.\" }"},{"line_number":78,"context_line":"  - { protocol: tcp, direction: ingress, port: 8080, ip_version: \"IPv{{ init_ip_version }}\", desc: \"Rule for swift-proxy.\" }"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"init_cache_path: \"/tmp\""}],"source_content_type":"text/x-yaml","patch_set":60,"id":"c3447653_5aba1109","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":2},"in_reply_to":"1911b65c_3aff611b","updated":"2024-06-20 09:43:24.000000000","message":"Done","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"}],"ansible/roles/init/tasks/admin.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a5b3a94c26a774c0b2cc5fc8c3d8348f4979f4a9","unresolved":true,"context_lines":[{"line_number":33,"context_line":"      provider_network_type: \"{{ kolla_init_external_net_provider_type }}\""},{"line_number":34,"context_line":"      provider_physical_network: \"{{ kolla_init_external_net_provider_physnet }}\""},{"line_number":35,"context_line":"    when: kolla_init_external_enable | bool"},{"line_number":36,"context_line":"  "},{"line_number":37,"context_line":"  - name: \"Create external subnet {{ kolla_init_external_subnet_name }} in {{ kolla_init_external_net_name }} network\""},{"line_number":38,"context_line":"    vars:"},{"line_number":39,"context_line":"      allocation_start: \"{{ EXT_NET_RANGE.split(\u0027,\u0027)[0].split(\u0027\u003d\u0027)[1] }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"29db7696_2311dac5","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":2},"updated":"2024-05-24 10:11:41.000000000","message":"nit: whitespace","commit_id":"1fd06e714c1fded1e030104a17b7c4705cbb49d7"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"35d8c0e1fa5e75723fd052be08f5611a3db6a149","unresolved":false,"context_lines":[{"line_number":33,"context_line":"      provider_network_type: \"{{ kolla_init_external_net_provider_type }}\""},{"line_number":34,"context_line":"      provider_physical_network: \"{{ kolla_init_external_net_provider_physnet }}\""},{"line_number":35,"context_line":"    when: kolla_init_external_enable | bool"},{"line_number":36,"context_line":"  "},{"line_number":37,"context_line":"  - name: \"Create external subnet {{ kolla_init_external_subnet_name }} in {{ kolla_init_external_net_name }} network\""},{"line_number":38,"context_line":"    vars:"},{"line_number":39,"context_line":"      allocation_start: \"{{ EXT_NET_RANGE.split(\u0027,\u0027)[0].split(\u0027\u003d\u0027)[1] }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9030c61f_4955d719","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":2},"in_reply_to":"29db7696_2311dac5","updated":"2024-05-24 11:47:35.000000000","message":"Done","commit_id":"1fd06e714c1fded1e030104a17b7c4705cbb49d7"}],"ansible/roles/init/tasks/auth.yml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a12d6b97cf467d289a6a14589c3d373c6c3fc835","unresolved":true,"context_lines":[{"line_number":77,"context_line":"    user: \"{{ init_project_username }}\""},{"line_number":78,"context_line":"    role: \"{{ item }}\""},{"line_number":79,"context_line":"    domain: \"{{ init_project_user_domain_name }}\""},{"line_number":80,"context_line":"  with_items: \"{{ init_project_roles | regex_replace(\u0027\\\\s*,\\\\s*\u0027, \u0027,\u0027) | split(\u0027,\u0027) }}\""},{"line_number":81,"context_line":"  when: init_project !\u003d \u0027admin\u0027"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"- import_role:"}],"source_content_type":"text/x-yaml","patch_set":60,"id":"79b2a965_81f28a86","line":80,"range":{"start_line":80,"start_character":54,"end_line":80,"end_character":64},"updated":"2024-06-06 14:30:20.000000000","message":"I\u0027m currently not sure about this regex, could you explain it a bit? Thank you!\n(I currently only see `init_project_roles` being set to \"member\".","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"cb493431709318c42ee34f881d7d87adfd8565f1","unresolved":true,"context_lines":[{"line_number":77,"context_line":"    user: \"{{ init_project_username }}\""},{"line_number":78,"context_line":"    role: \"{{ item }}\""},{"line_number":79,"context_line":"    domain: \"{{ init_project_user_domain_name }}\""},{"line_number":80,"context_line":"  with_items: \"{{ init_project_roles | regex_replace(\u0027\\\\s*,\\\\s*\u0027, \u0027,\u0027) | split(\u0027,\u0027) }}\""},{"line_number":81,"context_line":"  when: init_project !\u003d \u0027admin\u0027"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"- import_role:"}],"source_content_type":"text/x-yaml","patch_set":60,"id":"5a7ec02b_a4fe647c","line":80,"range":{"start_line":80,"start_character":54,"end_line":80,"end_character":64},"in_reply_to":"2fb37794_98cb600b","updated":"2024-06-20 12:53:39.000000000","message":"Well, the main reasons for this role are : \n\n1. Replace bash\n2. Allow create resoruces - project, network, subnet, router, image ....etc  for users \n3. Higly configurable ...\n\nSo on my test env i created rally project and created resources for that project with \u003e\u003e\n\n(zuul) (kolla-ansible)[root]# ./tools/kolla-ansible -i /etc/kolla/inventory post-deploy -e init_project\u003drally -e init_project_username\u003drally -e init_project_password\u003drally  -e init_project_roles\u003d\"member,creator\"\n\nNormally you need only member role ... but I want to test heat, ceilometer, swift...etc  on the end... and don\u0027t want to test in admin project ...\n\nSo, yeah you can pass roles as you wish ..\n\nResources ..\n\nansible-playbook -e @/etc/kolla/globals.yml  -e @/etc/kolla/globals.d/designate.yml -e @/etc/kolla/globals.d/neutron.yml -e @/etc/kolla/globals.d/endpoint.yml -e @/etc/kolla/passwords.yml -e CONFIG_DIR\u003d/etc/kolla  -e init_project\u003drally -e init_ip_version\u003d4 -e init_project_subnet_cidr\u003d203.0.114.0/24 -e init_project_subnet_dns\u003d8.8.8.8 -e init_project_subnet_gateway\u003d203.0.114.1 -e init_external_subnet_cidr\u003d198.51.100.0/24 -e init_external_subnet_allocation_start\u003d198.51.100.150 -e init_external_subnet_allocation_end\u003d198.51.100.199 -e init_external_subnet_gateway\u003d198.51.100.1 -e init_project_router_address\u003d198.51.100.20 -e ansible_python_interpreter\u003d/tmp/zuul/bin/python3 -e kolla_action\u003dinit /opt/kolla-ansible/ansible/init.yml  --verbose --verbose --verbose --inventory /etc/kolla/inventory","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"8237a1fd65432b0f7057347e70c16990dd0ca605","unresolved":true,"context_lines":[{"line_number":77,"context_line":"    user: \"{{ init_project_username }}\""},{"line_number":78,"context_line":"    role: \"{{ item }}\""},{"line_number":79,"context_line":"    domain: \"{{ init_project_user_domain_name }}\""},{"line_number":80,"context_line":"  with_items: \"{{ init_project_roles | regex_replace(\u0027\\\\s*,\\\\s*\u0027, \u0027,\u0027) | split(\u0027,\u0027) }}\""},{"line_number":81,"context_line":"  when: init_project !\u003d \u0027admin\u0027"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"- import_role:"}],"source_content_type":"text/x-yaml","patch_set":60,"id":"84b0af8d_58f917d1","line":80,"range":{"start_line":80,"start_character":54,"end_line":80,"end_character":64},"in_reply_to":"5a7ec02b_a4fe647c","updated":"2024-06-20 12:55:43.000000000","message":"I tested locally with member,creator ...but it\u0027s just test... but it\u0027s implemented in way that you can pass one role or multiple roles..","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"68daf951796d20ed07ac6cfb209094f6e3ae518f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    user: \"{{ init_project_username }}\""},{"line_number":78,"context_line":"    role: \"{{ item }}\""},{"line_number":79,"context_line":"    domain: \"{{ init_project_user_domain_name }}\""},{"line_number":80,"context_line":"  with_items: \"{{ init_project_roles | regex_replace(\u0027\\\\s*,\\\\s*\u0027, \u0027,\u0027) | split(\u0027,\u0027) }}\""},{"line_number":81,"context_line":"  when: init_project !\u003d \u0027admin\u0027"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"- import_role:"}],"source_content_type":"text/x-yaml","patch_set":60,"id":"f5b0711a_74690344","line":80,"range":{"start_line":80,"start_character":54,"end_line":80,"end_character":64},"in_reply_to":"79b2a965_81f28a86","updated":"2024-06-20 09:43:24.000000000","message":"It was for transfer string to list .. you are right ..not needed ..defined in defaults as list now.","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"8ab1f905635bedf0a98c0d1747c090c12f48b9c8","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    user: \"{{ init_project_username }}\""},{"line_number":78,"context_line":"    role: \"{{ item }}\""},{"line_number":79,"context_line":"    domain: \"{{ init_project_user_domain_name }}\""},{"line_number":80,"context_line":"  with_items: \"{{ init_project_roles | regex_replace(\u0027\\\\s*,\\\\s*\u0027, \u0027,\u0027) | split(\u0027,\u0027) }}\""},{"line_number":81,"context_line":"  when: init_project !\u003d \u0027admin\u0027"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"- import_role:"}],"source_content_type":"text/x-yaml","patch_set":60,"id":"962697d3_b03896b5","line":80,"range":{"start_line":80,"start_character":54,"end_line":80,"end_character":64},"in_reply_to":"84b0af8d_58f917d1","updated":"2024-06-21 01:10:44.000000000","message":"Done","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"cc5776eacf8dc64052bc70ef7b2c2f6caa5e6bfb","unresolved":true,"context_lines":[{"line_number":77,"context_line":"    user: \"{{ init_project_username }}\""},{"line_number":78,"context_line":"    role: \"{{ item }}\""},{"line_number":79,"context_line":"    domain: \"{{ init_project_user_domain_name }}\""},{"line_number":80,"context_line":"  with_items: \"{{ init_project_roles | regex_replace(\u0027\\\\s*,\\\\s*\u0027, \u0027,\u0027) | split(\u0027,\u0027) }}\""},{"line_number":81,"context_line":"  when: init_project !\u003d \u0027admin\u0027"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"- import_role:"}],"source_content_type":"text/x-yaml","patch_set":60,"id":"2fb37794_98cb600b","line":80,"range":{"start_line":80,"start_character":54,"end_line":80,"end_character":64},"in_reply_to":"da495cd1_8c006cd9","updated":"2024-06-20 09:59:10.000000000","message":"ah, I see! maybe it would be worth it to document - I don\u0027t know where exactly tbh - that it can be called this way then? It\u0027s good to know that you can add arbitrary roles.\n\nThat being said, do you use this anywhere already, to supply multiple roles and which ones?\nI\u0027m just curious about the possible usecases here!","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a4adfb751eef42394d6ce47b6a362b651de0079e","unresolved":true,"context_lines":[{"line_number":77,"context_line":"    user: \"{{ init_project_username }}\""},{"line_number":78,"context_line":"    role: \"{{ item }}\""},{"line_number":79,"context_line":"    domain: \"{{ init_project_user_domain_name }}\""},{"line_number":80,"context_line":"  with_items: \"{{ init_project_roles | regex_replace(\u0027\\\\s*,\\\\s*\u0027, \u0027,\u0027) | split(\u0027,\u0027) }}\""},{"line_number":81,"context_line":"  when: init_project !\u003d \u0027admin\u0027"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"- import_role:"}],"source_content_type":"text/x-yaml","patch_set":60,"id":"da495cd1_8c006cd9","line":80,"range":{"start_line":80,"start_character":54,"end_line":80,"end_character":64},"in_reply_to":"f5b0711a_74690344","updated":"2024-06-20 09:51:42.000000000","message":"Okay, I am reopening this comment, now I remember why I implemented like this...\n\nIt\u0027s because it\u0027s easier to run kolla-ansible -e /etc/kolla/inventory init -e init_project_roles\u003d\"member,AnotherRole,AnotherOne\" for user as define list ... so the ansible command can be easily run as script with parameter...","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"}],"requirements.txt":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a12d6b97cf467d289a6a14589c3d373c6c3fc835","unresolved":true,"context_lines":[{"line_number":23,"context_line":"bcrypt\u003e\u003d3.0.0 # Apache-2.0"},{"line_number":24,"context_line":"passlib[bcrypt]\u003e\u003d1.0.0 # BSD"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Openstack.cloud collection"},{"line_number":27,"context_line":"openstacksdk\u003e\u003d3.0.0"}],"source_content_type":"text/plain","patch_set":60,"id":"dc1d18ad_24ee3f0f","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":2},"updated":"2024-06-06 14:30:20.000000000","message":"nit: openstacksdk, not cloud collection?","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"68daf951796d20ed07ac6cfb209094f6e3ae518f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"bcrypt\u003e\u003d3.0.0 # Apache-2.0"},{"line_number":24,"context_line":"passlib[bcrypt]\u003e\u003d1.0.0 # BSD"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Openstack.cloud collection"},{"line_number":27,"context_line":"openstacksdk\u003e\u003d3.0.0"}],"source_content_type":"text/plain","patch_set":60,"id":"f51fba92_a955cca3","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":2},"in_reply_to":"53b2687a_66ffba5e","updated":"2024-06-20 09:43:24.000000000","message":"Done","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"6f4c61ee0e3d5e24c9473d723e62a232e62b9f9f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"bcrypt\u003e\u003d3.0.0 # Apache-2.0"},{"line_number":24,"context_line":"passlib[bcrypt]\u003e\u003d1.0.0 # BSD"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Openstack.cloud collection"},{"line_number":27,"context_line":"openstacksdk\u003e\u003d3.0.0"}],"source_content_type":"text/plain","patch_set":60,"id":"c9a782c9_16c7f97a","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":2},"in_reply_to":"53b2687a_66ffba5e","updated":"2024-06-20 09:31:50.000000000","message":"ah, I just didn\u0027t infer from the comment that it\u0027s needed for that, makes sense, thanks.","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f75146ec66d6546b6af71c3a81dada953eaaa8d0","unresolved":true,"context_lines":[{"line_number":23,"context_line":"bcrypt\u003e\u003d3.0.0 # Apache-2.0"},{"line_number":24,"context_line":"passlib[bcrypt]\u003e\u003d1.0.0 # BSD"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Openstack.cloud collection"},{"line_number":27,"context_line":"openstacksdk\u003e\u003d3.0.0"}],"source_content_type":"text/plain","patch_set":60,"id":"53b2687a_66ffba5e","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":2},"in_reply_to":"dc1d18ad_24ee3f0f","updated":"2024-06-20 08:49:57.000000000","message":"It\u0027s comment which saying that openstacksdk library is needed for \"Openstack.cloud collection\"\n\nSame as bcrypt is needed for \"Password hashing\", same as hvac is needed for \"Hashicorp vault\" \n\nI don\u0027t understand ..what is not clear ?","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"}],"tests/deploy.sh":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"813e04cec1fd1bf6ed096b58e13d0f408749ef29","unresolved":true,"context_lines":[{"line_number":67,"context_line":"    kolla-ansible -i ${RAW_INVENTORY} -vvv prechecks \u0026\u003e /tmp/logs/ansible/deploy-prechecks"},{"line_number":68,"context_line":"    kolla-ansible -i ${RAW_INVENTORY} -vvv pull \u0026\u003e /tmp/logs/ansible/pull"},{"line_number":69,"context_line":"    kolla-ansible -i ${RAW_INVENTORY} -vvv deploy \u0026\u003e /tmp/logs/ansible/deploy"},{"line_number":70,"context_line":"    if [[ $HAS_UPGRADE \u003d\u003d \u0027yes\u0027 ]]; then"},{"line_number":71,"context_line":"        kolla-ansible -i ${RAW_INVENTORY} -vvv post-deploy \u0026\u003e /tmp/logs/ansible/post-deploy"},{"line_number":72,"context_line":"    else"},{"line_number":73,"context_line":"        # Admin project"},{"line_number":74,"context_line":"        kolla-ansible -i ${RAW_INVENTORY} -vvv post-deploy \u0026\u003e /tmp/logs/ansible/post-deploy"},{"line_number":75,"context_line":"        # Additional testing project"},{"line_number":76,"context_line":"        kolla-ansible -i ${RAW_INVENTORY} -vvv post-deploy -e init_project\u003d\"${TEST_PROJECT_NAME}\" -e init_project_username\u003d\"${TEST_PROJECT_USER}\" -e init_project_password\u003d\"${TEST_PROJECT_PASS}\" -e init_project_roles\u003d\"${TEST_PROJECT_ROLES}\" \u0026\u003e /tmp/logs/ansible/post-deploy"},{"line_number":77,"context_line":"    fi"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    if [[ $HAS_UPGRADE \u003d\u003d \u0027no\u0027 ]]; then"},{"line_number":80,"context_line":"        kolla-ansible -i ${RAW_INVENTORY} -vvv validate-config \u0026\u003e /tmp/logs/ansible/validate-config"},{"line_number":81,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":69,"id":"c0e052b7_baa6af0a","line":78,"range":{"start_line":70,"start_character":1,"end_line":78,"end_character":1},"updated":"2024-06-21 07:42:09.000000000","message":"this can be simplified to:\n\n\n```suggestion\n        kolla-ansible -i ${RAW_INVENTORY} -vvv post-deploy \u0026\u003e /tmp/logs/ansible/post-deploy\n    if [[ ! $HAS_UPGRADE \u003d\u003d \u0027yes\u0027 ]]; then\n        # Additional testing project\n        kolla-ansible -i ${RAW_INVENTORY} -vvv post-deploy -e init_project\u003d\"${TEST_PROJECT_NAME}\" -e init_project_username\u003d\"${TEST_PROJECT_USER}\" -e init_project_password\u003d\"${TEST_PROJECT_PASS}\" -e init_project_roles\u003d\"${TEST_PROJECT_ROLES}\" \u0026\u003e\u003e /tmp/logs/ansible/post-deploy\n    fi\n```\n\nnotice that you also overwrote the logs with the deployment of the testing project (usage of `\u0026\u003e` instead of `\u0026\u003e\u003e`)","commit_id":"23b02a41f369d69648cedf0dc174d1cc5b265012"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"84ee3d4a74b3fd77888b122b4b6a82215b7319a8","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    kolla-ansible -i ${RAW_INVENTORY} -vvv prechecks \u0026\u003e /tmp/logs/ansible/deploy-prechecks"},{"line_number":68,"context_line":"    kolla-ansible -i ${RAW_INVENTORY} -vvv pull \u0026\u003e /tmp/logs/ansible/pull"},{"line_number":69,"context_line":"    kolla-ansible -i ${RAW_INVENTORY} -vvv deploy \u0026\u003e /tmp/logs/ansible/deploy"},{"line_number":70,"context_line":"    if [[ $HAS_UPGRADE \u003d\u003d \u0027yes\u0027 ]]; then"},{"line_number":71,"context_line":"        kolla-ansible -i ${RAW_INVENTORY} -vvv post-deploy \u0026\u003e /tmp/logs/ansible/post-deploy"},{"line_number":72,"context_line":"    else"},{"line_number":73,"context_line":"        # Admin project"},{"line_number":74,"context_line":"        kolla-ansible -i ${RAW_INVENTORY} -vvv post-deploy \u0026\u003e /tmp/logs/ansible/post-deploy"},{"line_number":75,"context_line":"        # Additional testing project"},{"line_number":76,"context_line":"        kolla-ansible -i ${RAW_INVENTORY} -vvv post-deploy -e init_project\u003d\"${TEST_PROJECT_NAME}\" -e init_project_username\u003d\"${TEST_PROJECT_USER}\" -e init_project_password\u003d\"${TEST_PROJECT_PASS}\" -e init_project_roles\u003d\"${TEST_PROJECT_ROLES}\" \u0026\u003e /tmp/logs/ansible/post-deploy"},{"line_number":77,"context_line":"    fi"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    if [[ $HAS_UPGRADE \u003d\u003d \u0027no\u0027 ]]; then"},{"line_number":80,"context_line":"        kolla-ansible -i ${RAW_INVENTORY} -vvv validate-config \u0026\u003e /tmp/logs/ansible/validate-config"},{"line_number":81,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":69,"id":"83d3b094_0f92b0a0","line":78,"range":{"start_line":70,"start_character":1,"end_line":78,"end_character":1},"in_reply_to":"c0e052b7_baa6af0a","updated":"2024-06-24 11:10:29.000000000","message":"Done","commit_id":"23b02a41f369d69648cedf0dc174d1cc5b265012"}],"tests/init-core-openstack.sh":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a12d6b97cf467d289a6a14589c3d373c6c3fc835","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    if [[ $HAS_UPGRADE \u003d\u003d \u0027yes\u0027 ]]; then"},{"line_number":14,"context_line":"        . ~/openstackclient-venv/bin/activate"},{"line_number":15,"context_line":"        echo \"Initialising OpenStack resources via init-runonce\""},{"line_number":16,"context_line":"        KOLLA_DEBUG\u003d1 tools/init-runonce |\u0026 gawk \u0027{ print strftime(\"%F %T\"), $0; }\u0027 \u0026\u003e /tmp/logs/ansible/init-runonce"},{"line_number":17,"context_line":"    else"},{"line_number":18,"context_line":"            . ${KOLLA_ANSIBLE_VENV_PATH}/bin/activate"},{"line_number":19,"context_line":"            kolla-ansible -i ${KOLLA_INVENTORY_PATH} -vvv init \\"}],"source_content_type":"text/x-sh","patch_set":60,"id":"f22e7cce_107ee20a","line":16,"range":{"start_line":16,"start_character":44,"end_line":16,"end_character":48},"updated":"2024-06-06 14:30:20.000000000","message":"not sure about this, on my system awk is a symlink to gawk, so maybe it would be fine to just write \"awk\" if that\u0027s the case for all supported distros (I didn\u0027t bother to check).\n\non the other hand, it\u0027s probably cleaner to be explicit that `strftime` is a non posix extension of gawk.\n\nThus marking this as resolved.","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a12d6b97cf467d289a6a14589c3d373c6c3fc835","unresolved":true,"context_lines":[{"line_number":17,"context_line":"    else"},{"line_number":18,"context_line":"            . ${KOLLA_ANSIBLE_VENV_PATH}/bin/activate"},{"line_number":19,"context_line":"            kolla-ansible -i ${KOLLA_INVENTORY_PATH} -vvv init \\"},{"line_number":20,"context_line":"                -e init_ip_version\u003d${IP_VERSION} \\"},{"line_number":21,"context_line":"                -e init_project_net\u003d${DEMO_NET_NAME} \\"},{"line_number":22,"context_line":"                -e init_project_subnet_name\u003d${DEMO_SUBNET_NAME} \\"},{"line_number":23,"context_line":"                -e init_project_router_name\u003d${DEMO_ROUTER_NAME} \\"},{"line_number":24,"context_line":"                -e init_project_ssh_key_filename\u003d${DEMO_KEY_FILENAME} \\"},{"line_number":25,"context_line":"                -e init_project_ssh_key_name\u003d${DEMO_KEY_NAME} \\"},{"line_number":26,"context_line":"                -e init_project_subnet_cidr\u003d${DEMO_NET_CIDR} \\"},{"line_number":27,"context_line":"                -e init_project_subnet_dns\u003d${DEMO_NET_DNS} \\"},{"line_number":28,"context_line":"                -e init_project_subnet_gateway\u003d${DEMO_NET_GATEWAY} \\"},{"line_number":29,"context_line":"                -e init_external_subnet_cidr\u003d${EXT_NET_CIDR} \\"},{"line_number":30,"context_line":"                -e init_external_subnet_allocation_start\u003d${EXT_NET_RANGE_START} \\"},{"line_number":31,"context_line":"                -e init_external_subnet_allocation_end\u003d${EXT_NET_RANGE_END} \\"},{"line_number":32,"context_line":"                -e init_external_subnet_gateway\u003d${EXT_NET_GATEWAY} \\"},{"line_number":33,"context_line":"                -e init_project_router_address\u003d${EXT_NET_DEMO_ROUTER_ADDR}"},{"line_number":34,"context_line":"    fi"},{"line_number":35,"context_line":"    if [[ $IP_VERSION -eq 6 ]]; then"},{"line_number":36,"context_line":"        # NOTE(yoctozepto): In case of IPv6 there is no NAT support in Neutron,"}],"source_content_type":"text/x-sh","patch_set":60,"id":"99aea02f_2b701fa2","line":33,"range":{"start_line":20,"start_character":8,"end_line":33,"end_character":74},"updated":"2024-06-06 14:30:20.000000000","message":"not sure, but maybe we want to check if these vars are all properly set here?\n\nI could at least imagine some CI scenarios where stuff goes wrong because of something and then a nice error message shouting \"error: var $foo must be set\" would be nice, don\u0027t you think?","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"68daf951796d20ed07ac6cfb209094f6e3ae518f","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    else"},{"line_number":18,"context_line":"            . ${KOLLA_ANSIBLE_VENV_PATH}/bin/activate"},{"line_number":19,"context_line":"            kolla-ansible -i ${KOLLA_INVENTORY_PATH} -vvv init \\"},{"line_number":20,"context_line":"                -e init_ip_version\u003d${IP_VERSION} \\"},{"line_number":21,"context_line":"                -e init_project_net\u003d${DEMO_NET_NAME} \\"},{"line_number":22,"context_line":"                -e init_project_subnet_name\u003d${DEMO_SUBNET_NAME} \\"},{"line_number":23,"context_line":"                -e init_project_router_name\u003d${DEMO_ROUTER_NAME} \\"},{"line_number":24,"context_line":"                -e init_project_ssh_key_filename\u003d${DEMO_KEY_FILENAME} \\"},{"line_number":25,"context_line":"                -e init_project_ssh_key_name\u003d${DEMO_KEY_NAME} \\"},{"line_number":26,"context_line":"                -e init_project_subnet_cidr\u003d${DEMO_NET_CIDR} \\"},{"line_number":27,"context_line":"                -e init_project_subnet_dns\u003d${DEMO_NET_DNS} \\"},{"line_number":28,"context_line":"                -e init_project_subnet_gateway\u003d${DEMO_NET_GATEWAY} \\"},{"line_number":29,"context_line":"                -e init_external_subnet_cidr\u003d${EXT_NET_CIDR} \\"},{"line_number":30,"context_line":"                -e init_external_subnet_allocation_start\u003d${EXT_NET_RANGE_START} \\"},{"line_number":31,"context_line":"                -e init_external_subnet_allocation_end\u003d${EXT_NET_RANGE_END} \\"},{"line_number":32,"context_line":"                -e init_external_subnet_gateway\u003d${EXT_NET_GATEWAY} \\"},{"line_number":33,"context_line":"                -e init_project_router_address\u003d${EXT_NET_DEMO_ROUTER_ADDR}"},{"line_number":34,"context_line":"    fi"},{"line_number":35,"context_line":"    if [[ $IP_VERSION -eq 6 ]]; then"},{"line_number":36,"context_line":"        # NOTE(yoctozepto): In case of IPv6 there is no NAT support in Neutron,"}],"source_content_type":"text/x-sh","patch_set":60,"id":"cd17411e_b01fb2d7","line":33,"range":{"start_line":20,"start_character":8,"end_line":33,"end_character":74},"in_reply_to":"99aea02f_2b701fa2","updated":"2024-06-20 09:43:24.000000000","message":"They are set in defaults as they were defined in init-once script in bash ...","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"}],"tools/kolla-ansible":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a12d6b97cf467d289a6a14589c3d373c6c3fc835","unresolved":true,"context_lines":[{"line_number":199,"context_line":"    deploy-containers    Only deploy and start containers (no config updates or bootstrapping)"},{"line_number":200,"context_line":"    gather-facts         Gather Ansible facts"},{"line_number":201,"context_line":"    post-deploy          Do post deploy on deploy node"},{"line_number":202,"context_line":"    init                 Create some basic resources"},{"line_number":203,"context_line":"    pull                 Pull all images for containers (only pulls, no running container changes)"},{"line_number":204,"context_line":"    rabbitmq-reset-state Force reset the state of RabbitMQ"},{"line_number":205,"context_line":"    reconfigure          Reconfigure OpenStack service"}],"source_content_type":"application/octet-stream","patch_set":60,"id":"71ff1edf_cd345aad","line":202,"range":{"start_line":202,"start_character":25,"end_line":202,"end_character":52},"updated":"2024-06-06 14:30:20.000000000","message":"I think that needs a better explanation as the name is rather generic.\n\nmaybe... \"Create basic project- and openstack resources for testing\" or something? I\u0027m actually not quite sure myself how to desribe this correctly. 😄","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"68daf951796d20ed07ac6cfb209094f6e3ae518f","unresolved":true,"context_lines":[{"line_number":199,"context_line":"    deploy-containers    Only deploy and start containers (no config updates or bootstrapping)"},{"line_number":200,"context_line":"    gather-facts         Gather Ansible facts"},{"line_number":201,"context_line":"    post-deploy          Do post deploy on deploy node"},{"line_number":202,"context_line":"    init                 Create some basic resources"},{"line_number":203,"context_line":"    pull                 Pull all images for containers (only pulls, no running container changes)"},{"line_number":204,"context_line":"    rabbitmq-reset-state Force reset the state of RabbitMQ"},{"line_number":205,"context_line":"    reconfigure          Reconfigure OpenStack service"}],"source_content_type":"application/octet-stream","patch_set":60,"id":"15e467dd_22c980dc","line":202,"range":{"start_line":202,"start_character":25,"end_line":202,"end_character":52},"in_reply_to":"71ff1edf_cd345aad","updated":"2024-06-20 09:43:24.000000000","message":"I will leave this comment open.","commit_id":"41c55f1e2da3ff40b959e977ea22d12494f04933"}]}
