)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5c12a0478f35c3c462c5d2ffa8488eeba6712087","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"re-add rabbitmq config for interfaces"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"this adds back the ability to configure"},{"line_number":10,"context_line":"the rabbitmq/erlang kernel network interface"},{"line_number":11,"context_line":"which was removed in https://review.opendev.org/#/c/584427/"},{"line_number":12,"context_line":"seemingly by accident."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"this enables users to configure the rabbitmq clustering interface"},{"line_number":15,"context_line":" more securely by only listening on needed network interfaces."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3f65232a_665597c6","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":22},"updated":"2020-10-27 09:50:09.000000000","message":"This was not actually configurable, it just used the API interface.","commit_id":"ee863cfed3dc325e129cf08f5996a3345144cc7f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cb211bcd5040313af9a95e647c9f92799394727b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"re-add rabbitmq config for interfaces"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"this adds back the ability to configure"},{"line_number":10,"context_line":"the rabbitmq/erlang kernel network interface"},{"line_number":11,"context_line":"which was removed in https://review.opendev.org/#/c/584427/"},{"line_number":12,"context_line":"seemingly by accident."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"this enables users to configure the rabbitmq clustering interface"},{"line_number":15,"context_line":" more securely by only listening on needed network interfaces."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: 1900160"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1f621f24_391bf51b","line":15,"range":{"start_line":9,"start_character":0,"end_line":15,"end_character":62},"updated":"2020-10-29 09:33:41.000000000","message":"Not quite accurate","commit_id":"282129462d657e656bf56272eb00b539ca63c236"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ea5562366af930e38b7958ab47bb445e8988dde4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"re-add rabbitmq config for interfaces"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"this adds back the ability to configure"},{"line_number":10,"context_line":"the rabbitmq/erlang kernel network interface"},{"line_number":11,"context_line":"which was removed in https://review.opendev.org/#/c/584427/"},{"line_number":12,"context_line":"seemingly by accident."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"this enables users to configure the rabbitmq clustering interface"},{"line_number":15,"context_line":" more securely by only listening on needed network interfaces."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: 1900160"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1f621f24_7f2a6de7","line":15,"range":{"start_line":9,"start_character":0,"end_line":15,"end_character":62},"in_reply_to":"1f621f24_1fc25934","updated":"2020-10-29 11:20:06.000000000","message":"Users can\u0027t configure the interface, it always uses the API interface.","commit_id":"282129462d657e656bf56272eb00b539ca63c236"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"36ab8e80bb3384fe5f50468503bcfe703394c685","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"re-add rabbitmq config for interfaces"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"this adds back the ability to configure"},{"line_number":10,"context_line":"the rabbitmq/erlang kernel network interface"},{"line_number":11,"context_line":"which was removed in https://review.opendev.org/#/c/584427/"},{"line_number":12,"context_line":"seemingly by accident."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"this enables users to configure the rabbitmq clustering interface"},{"line_number":15,"context_line":" more securely by only listening on needed network interfaces."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: 1900160"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1f621f24_1fc25934","line":15,"range":{"start_line":9,"start_character":0,"end_line":15,"end_character":62},"in_reply_to":"1f621f24_391bf51b","updated":"2020-10-29 11:16:04.000000000","message":"what exactly is not accurate?","commit_id":"282129462d657e656bf56272eb00b539ca63c236"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"b10527259da3d722ccdaf0137bb8b2a569dd33cb","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"re-add rabbitmq config for interfaces"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"this adds back the ability to configure"},{"line_number":10,"context_line":"the rabbitmq/erlang kernel network interface"},{"line_number":11,"context_line":"which was removed in https://review.opendev.org/#/c/584427/"},{"line_number":12,"context_line":"seemingly by accident."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"this enables users to configure the rabbitmq clustering interface"},{"line_number":15,"context_line":" more securely by only listening on needed network interfaces."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: 1900160"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1f621f24_2ee60818","line":15,"range":{"start_line":9,"start_character":0,"end_line":15,"end_character":62},"in_reply_to":"1f621f24_7f2a6de7","updated":"2020-10-29 12:59:35.000000000","message":"yes, of course! you are right, thanks for the correction and all the review work! fixed it :)","commit_id":"282129462d657e656bf56272eb00b539ca63c236"},{"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":"85b35cccf4d3b2e90a983b5c76ceb04be42cd9ae","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Sven Kieske \u003cs.kieske@mittwald.de\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-03-04 17:22:16 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"re-add rabbitmq config for interfaces"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"this adds back the ability to configure"},{"line_number":10,"context_line":"the rabbitmq/erlang kernel network interface"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"2ffb92d0_ab9eb72c","line":7,"range":{"start_line":7,"start_character":27,"end_line":7,"end_character":37},"updated":"2022-03-24 15:24:09.000000000","message":"clustering interface","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"870146371dc4f9507dc7cc2b2d7d36c39770469c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sven Kieske \u003cs.kieske@mittwald.de\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-03-04 17:22:16 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"re-add rabbitmq config for interfaces"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"this adds back the ability to configure"},{"line_number":10,"context_line":"the rabbitmq/erlang kernel network interface"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"c3ab028c_3e634cf8","line":7,"range":{"start_line":7,"start_character":27,"end_line":7,"end_character":37},"in_reply_to":"2ffb92d0_ab9eb72c","updated":"2022-03-24 16:54:01.000000000","message":"Done","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"b307743a6604a6c16802d4a30d8f960e9a80d108","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"2915b03d_a23c627e","updated":"2022-02-10 13:22:41.000000000","message":"\u003e Patch Set 12: Code-Review-1\n\u003e \n\u003e Generally looks happier, but fails with IPV6.\n\u003e \n\u003e Failed to load advanced configuration file \"/etc/rabbitmq/advanced.config\": 3: syntax error before: \u0027::\u0027\n\u003e \n\u003e Looks like it needs to be 8 comma-separated numbers. The shorthand :: notation could make this a bit tricky.\n\u003e \n\u003e Is this something you can pick up Sven?\n\nSorry for letting this rot.\n\nI picked this branch up again and rebased against current master.\n\naccording to the erlang docs at:\n\nhttps://www.erlang.org/doc/man/kernel_app.html\n\n`inet_dist_use_interface`\n\nwants an ip_address().\n\n\"For the type definition of ip_address(), see inet(3).\"\n\nWhich links here: https://www.erlang.org/doc/man/inet.html\n\nwhich has some example on how to mangle IPv6 addresses into an erlang compatible format.\n\nwill patch this and hope it get\u0027s not too ugly.","commit_id":"1b306fa0a98455d08c7603228263507957453e3c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"93538c658dcd333a6ceb7402e94fbbd6ca344b92","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"e3d89a07_5da6454e","updated":"2022-02-17 15:17:52.000000000","message":"I\u0027m sorry, but this constantly fails during \"deploy.sh\" stage of ansible when checking for mariadb:\n\n\n\u003e [..] Failed to connect to the host via ssh: Shared connection to 158.69.72.27 closed\n\nI totally fail to see how this should be related to my change and I\u0027m not familiar enough with openstack test infrastructure to debug this myself.\n\nI\u0027m pretty confident my proposed change now works for IPv4 and IPv6.\n\nCould someone more knowledgeable than me please have a look why ansible fails this early?\n\nThis would be much appreciated.","commit_id":"d1b7f5366ac1fee4178ed2f78acf10c4e7ee779e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"68bcc2844dbddd5e7eebbe765395d7ef42b2c037","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1fce5c75_05775ce7","updated":"2022-02-17 18:20:45.000000000","message":"Okay, IRC pointed me to the correct crash logs in the docker logs.\n\nso the generated config still is broken somehow, but I don\u0027t see why atm.\n\nSo I posted a question on upstreams github discussion to get input what is the problem with the generated config, because it looks okay to my reading of the erlang spec.\n\nBut I\u0027m no erlang expert, so let\u0027s wait and see what upstream says about this config.\n\nYou can find the question here, if you are curious:\n\nhttps://github.com/rabbitmq/rabbitmq-server/discussions/4162","commit_id":"d1b7f5366ac1fee4178ed2f78acf10c4e7ee779e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4fc2e7ead5f7661bc654260b2c1facc01d485231","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"496b971c_a67278e3","updated":"2022-02-17 13:46:52.000000000","message":"recheck","commit_id":"d1b7f5366ac1fee4178ed2f78acf10c4e7ee779e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"13983d233c7cb4ea02c42b09731f05a5aaad9aab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"4eda733a_0985a53c","in_reply_to":"1fce5c75_05775ce7","updated":"2022-02-18 16:49:15.000000000","message":"Done","commit_id":"d1b7f5366ac1fee4178ed2f78acf10c4e7ee779e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"13983d233c7cb4ea02c42b09731f05a5aaad9aab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"fff700be_ada19601","in_reply_to":"e3d89a07_5da6454e","updated":"2022-02-18 16:49:15.000000000","message":"Done","commit_id":"d1b7f5366ac1fee4178ed2f78acf10c4e7ee779e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"5e9d66f98a33c6cba2797e611d6b71fe1f498a16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"67d4d03e_d8f3bc4b","updated":"2022-02-18 12:00:19.000000000","message":"IPv6 Job still fails with:\n\n2022-02-18T10:11:55.023070335Z + exec /usr/sbin/rabbitmq-server\n2022-02-18T10:11:56.877405321Z 2022-02-18 10:11:56.858398+00:00 [erro] \u003c0.130.0\u003e Failed to load advanced configuration file \"/etc/rabbitmq/advanced.config\": 3: syntax error before: \u0027::\u0027\n2022-02-18T10:11:56.880477485Z \n2022-02-18T10:11:56.880596762Z 2022-02-18 10:11:56.880206+00:00 [erro] \u003c0.130.0\u003e \n2022-02-18T10:11:56.880619002Z 2022-02-18 10:11:56.880206+00:00 [erro] \u003c0.130.0\u003e BOOT FAILED\n2022-02-18T10:11:56.880630681Z 2022-02-18 10:11:56.880206+00:00 [erro] \u003c0.130.0\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n2022-02-18T10:11:56.880641622Z 2022-02-18 10:11:56.880206+00:00 [erro] \u003c0.130.0\u003e Error during startup: {error,failed_to_read_advanced_configuration_file}\n2022-02-18T10:11:56.880652885Z 2022-02-18 10:11:56.880206+00:00 [erro] \u003c0.130.0\u003e \n2022-02-18T10:11:56.880704586Z BOOT FAILED\n2022-02-18T10:11:56.880718692Z \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n2022-02-18T10:11:56.880893530Z Error during startup: {error,failed_to_read_advanced_configuration_file}\n\ninvestigating.","commit_id":"2b4b6ceed87dfe4d417519bfe6abc7656a00f1e1"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4253e25ae80e1596e1e15775ccf9dee1a1d116f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"f027baa1_266b67df","updated":"2022-02-18 15:16:13.000000000","message":"added some basic ipv4 and ipv6 testing for rabbitmq/erlang ip format","commit_id":"af4f917db41719dd2ab8186cba45efd5e903d040"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4ecbe0a850bcae00af0b7e463062a1ec53c806ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"5e04d6c2_db49a204","updated":"2022-02-22 14:10:15.000000000","message":"LGTM finally.\nPlease review. 😊\n\nStill investigating the non voting cephadm failure but I doubt it\u0027s related to this change.","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2e481a5348ee9df4b2242983443ba21fffdde430","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"175782ab_5aaa19e1","updated":"2022-03-04 09:30:43.000000000","message":"Any additional comments are welcome, and +2 too ;)\n\nhave a nice weekend","commit_id":"9213654953450e50756e166dcf50fc84f066fff7"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8639e9f5b269ee51e07727888aa715142af30175","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"a9ed7c46_89e586b5","updated":"2022-02-24 09:15:08.000000000","message":"Thx, I have another idea inline, not sure if it is actually feasible or not.","commit_id":"9213654953450e50756e166dcf50fc84f066fff7"},{"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":"85b35cccf4d3b2e90a983b5c76ceb04be42cd9ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"e12f9c23_d67e3df8","updated":"2022-03-24 15:24:09.000000000","message":"this could be considered a security fix as it hides the endpoint properly inside the chosen network","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"},{"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":"550186c8a108032bcd601f72e695d09ec490786d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"adf29675_d264665c","updated":"2022-03-25 08:19:48.000000000","message":"thanks, Sven","commit_id":"159925248375727ae67ef93a606b09a54e83ba2d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0bb31642ee5f5036df8ff2e752f9c3e5af545662","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"0aeb251c_8d852035","in_reply_to":"adf29675_d264665c","updated":"2022-03-25 08:35:54.000000000","message":"you\u0027re welcome 😊","commit_id":"159925248375727ae67ef93a606b09a54e83ba2d"}],"ansible/roles/rabbitmq/tasks/config.yml":[{"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":"85b35cccf4d3b2e90a983b5c76ceb04be42cd9ae","unresolved":true,"context_lines":[{"line_number":97,"context_line":"  notify:"},{"line_number":98,"context_line":"    - Restart rabbitmq container"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"- name: Copying over definitions.json"},{"line_number":102,"context_line":"  become: true"},{"line_number":103,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"bc852818_7a14e847","line":100,"updated":"2022-03-24 15:24:09.000000000","message":"needless line","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"870146371dc4f9507dc7cc2b2d7d36c39770469c","unresolved":false,"context_lines":[{"line_number":97,"context_line":"  notify:"},{"line_number":98,"context_line":"    - Restart rabbitmq container"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"- name: Copying over definitions.json"},{"line_number":102,"context_line":"  become: true"},{"line_number":103,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"f94b62b5_7d182631","line":100,"in_reply_to":"bc852818_7a14e847","updated":"2022-03-24 16:54:01.000000000","message":"Done","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"}],"ansible/roles/rabbitmq/templates/advanced.config.j2":[{"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":"85b35cccf4d3b2e90a983b5c76ceb04be42cd9ae","unresolved":true,"context_lines":[{"line_number":1,"context_line":"["},{"line_number":2,"context_line":"  {kernel, ["},{"line_number":3,"context_line":"  {inet_dist_use_interface, {% raw %}{{% endraw %}{{ api_interface_address | put_address_in_context(\u0027rabbitmq\u0027) }}}},"},{"line_number":4,"context_line":"  {inet_dist_listen_min, {{ role_rabbitmq_cluster_port }}},"},{"line_number":5,"context_line":"  {inet_dist_listen_max, {{ role_rabbitmq_cluster_port }}}"},{"line_number":6,"context_line":"  ]}"},{"line_number":7,"context_line":"]."}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"aee48d17_133c34ac","line":5,"range":{"start_line":3,"start_character":2,"end_line":5,"end_character":58},"updated":"2022-03-24 15:24:09.000000000","message":"could use indenting","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"870146371dc4f9507dc7cc2b2d7d36c39770469c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"["},{"line_number":2,"context_line":"  {kernel, ["},{"line_number":3,"context_line":"  {inet_dist_use_interface, {% raw %}{{% endraw %}{{ api_interface_address | put_address_in_context(\u0027rabbitmq\u0027) }}}},"},{"line_number":4,"context_line":"  {inet_dist_listen_min, {{ role_rabbitmq_cluster_port }}},"},{"line_number":5,"context_line":"  {inet_dist_listen_max, {{ role_rabbitmq_cluster_port }}}"},{"line_number":6,"context_line":"  ]}"},{"line_number":7,"context_line":"]."}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"8a8effad_ab4397d4","line":5,"range":{"start_line":3,"start_character":2,"end_line":5,"end_character":58},"in_reply_to":"aee48d17_133c34ac","updated":"2022-03-24 16:54:01.000000000","message":"Done","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"}],"ansible/roles/rabbitmq/templates/rabbitmq.conf.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"0ececc8b4b03f22c8baf4d94c126c7d04175428c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{kernel, ["},{"line_number":2,"context_line":"  {inet_dist_use_interface, {% raw %}{{% endraw %}{{ api_interface_address | regex_replace(\u0027\\.\u0027, \u0027,\u0027) }}}},"},{"line_number":3,"context_line":"  {inet_dist_listen_min, {{ role_rabbitmq_cluster_port }}},"},{"line_number":4,"context_line":"  {inet_dist_listen_max, {{ role_rabbitmq_cluster_port }}}"},{"line_number":5,"context_line":"]}"},{"line_number":6,"context_line":"# NOTE(yoctozepto): rabbitmq uses the raw format (e.g. fd::) of IPv6 address;"},{"line_number":7,"context_line":"# despite specifying port via colon, the url format (e.g. [fd::]) is not accepted"},{"line_number":8,"context_line":"{% if rabbitmq_enable_tls | bool %}"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"3f65232a_057947fb","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":2},"updated":"2020-10-26 09:59:44.000000000","message":"I think this is using the old configuration format. Try kernel.inet_dist_use_interface \u003d \u003cinterface\u003e","commit_id":"d55eef91973bb647b6d3f5cdeb1b99469e45cf3c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"8513978b9dea764a72f3942efc55f4f4bc7a9ec8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{kernel, ["},{"line_number":2,"context_line":"  {inet_dist_use_interface, {% raw %}{{% endraw %}{{ api_interface_address | regex_replace(\u0027\\.\u0027, \u0027,\u0027) }}}},"},{"line_number":3,"context_line":"  {inet_dist_listen_min, {{ role_rabbitmq_cluster_port }}},"},{"line_number":4,"context_line":"  {inet_dist_listen_max, {{ role_rabbitmq_cluster_port }}}"},{"line_number":5,"context_line":"]}"},{"line_number":6,"context_line":"# NOTE(yoctozepto): rabbitmq uses the raw format (e.g. fd::) of IPv6 address;"},{"line_number":7,"context_line":"# despite specifying port via colon, the url format (e.g. [fd::]) is not accepted"},{"line_number":8,"context_line":"{% if rabbitmq_enable_tls | bool %}"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"3f65232a_3b5c627d","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":2},"in_reply_to":"3f65232a_057947fb","updated":"2020-10-26 13:19:08.000000000","message":"Done","commit_id":"d55eef91973bb647b6d3f5cdeb1b99469e45cf3c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"b7a2e768238de595d95ef762fb0a3fded663297d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{kernel, ["},{"line_number":2,"context_line":"  {inet_dist_use_interface, {% raw %}{{% endraw %}{{ api_interface_address | regex_replace(\u0027\\.\u0027, \u0027,\u0027) }}}},"},{"line_number":3,"context_line":"  {inet_dist_listen_min, {{ role_rabbitmq_cluster_port }}},"},{"line_number":4,"context_line":"  {inet_dist_listen_max, {{ role_rabbitmq_cluster_port }}}"},{"line_number":5,"context_line":"]}"},{"line_number":6,"context_line":"# NOTE(yoctozepto): rabbitmq uses the raw format (e.g. fd::) of IPv6 address;"},{"line_number":7,"context_line":"# despite specifying port via colon, the url format (e.g. [fd::]) is not accepted"},{"line_number":8,"context_line":"{% if rabbitmq_enable_tls | bool %}"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"3f65232a_9b73f615","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":2},"in_reply_to":"3f65232a_057947fb","updated":"2020-10-26 13:18:47.000000000","message":"I hope this new version is what you intended?","commit_id":"d55eef91973bb647b6d3f5cdeb1b99469e45cf3c"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"25d4c54b01051c7ddf2516d570e6b926ceb41fb1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"kernel.inet_dist_use_interface \u003d {{ api_interface_address | regex_replace(\u0027\\.\u0027, \u0027,\u0027) }}"},{"line_number":2,"context_line":"kernel.inet_dist_listen_min \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":3,"context_line":"kernel.inet_dist_listen_max \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# NOTE(yoctozepto): rabbitmq uses the raw format (e.g. fd::) of IPv6 address;"},{"line_number":6,"context_line":"# despite specifying port via colon, the url format (e.g. [fd::]) is not accepted"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"3f65232a_45e7b841","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":62},"updated":"2020-10-26 19:08:32.000000000","message":"Rabbit says no:\n\n2020-10-26T13:05:04.218935455Z 13:05:04.211 [error] You\u0027ve tried to set kernel.inet_dist_use_interface, but there is no setting with that name.\n2020-10-26T13:05:04.218976267Z 13:05:04.211 [error]   Did you mean one of these?\n2020-10-26T13:05:04.342133193Z 13:05:04.341 [error]     collect_statistics_interval\n2020-10-26T13:05:04.342344878Z 13:05:04.341 [error]     background_gc_target_interval\n2020-10-26T13:05:04.342360974Z 13:05:04.341 [error]     cluster_keepalive_interval\n2020-10-26T13:05:04.342619977Z 13:05:04.342 [error] You\u0027ve tried to set kernel.inet_dist_listen_min, but there is no setting with that name.\n2020-10-26T13:05:04.342789939Z 13:05:04.342 [error]   Did you mean one of these?\n2020-10-26T13:05:04.457846009Z 13:05:04.457 [error]     management.listener.ip\n2020-10-26T13:05:04.458085546Z 13:05:04.457 [error]     web_mqtt.ssl.listener\n2020-10-26T13:05:04.458106768Z 13:05:04.457 [error]     collect_statistics\n2020-10-26T13:05:04.458179721Z 13:05:04.457 [error] You\u0027ve tried to set kernel.inet_dist_listen_max, but there is no setting with that name.\n2020-10-26T13:05:04.458196242Z 13:05:04.457 [error]   Did you mean one of these?\n2020-10-26T13:05:04.572317951Z 13:05:04.572 [error]     connection_max\n2020-10-26T13:05:04.572409824Z 13:05:04.572 [error]     initial_frame_max\n2020-10-26T13:05:04.572425720Z 13:05:04.572 [error]     web_mqtt.ssl.listener\n2020-10-26T13:05:04.579435711Z 13:05:04.579 [error] Error preparing configuration in phase transform_datatypes:\n2020-10-26T13:05:04.579655444Z 13:05:04.579 [error]   - Conf file attempted to set unknown variable: kernel.inet_dist_listen_max\n2020-10-26T13:05:04.579801855Z 13:05:04.579 [error]   - Conf file attempted to set unknown variable: kernel.inet_dist_listen_min\n2020-10-26T13:05:04.579953356Z 13:05:04.579 [error]   - Conf file attempted to set unknown variable: kernel.inet_dist_use_interface\n2020-10-26T13:05:04.582794741Z 13:05:04.582 [error]","commit_id":"abc163196350ad300d35612381650a0dfaf0b08e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e1627a68759acfc4e6a07edd2e5bf4037df020fe","unresolved":false,"context_lines":[{"line_number":1,"context_line":"kernel.inet_dist_use_interface \u003d {{ api_interface_address | regex_replace(\u0027\\.\u0027, \u0027,\u0027) }}"},{"line_number":2,"context_line":"kernel.inet_dist_listen_min \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":3,"context_line":"kernel.inet_dist_listen_max \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# NOTE(yoctozepto): rabbitmq uses the raw format (e.g. fd::) of IPv6 address;"},{"line_number":6,"context_line":"# despite specifying port via colon, the url format (e.g. [fd::]) is not accepted"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"3f65232a_438e8dd0","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"3f65232a_236d5132","updated":"2020-10-27 09:26:25.000000000","message":"Can we achieve the same using environment variables? We already specify ERL_EPMD_ADDRESS and ERL_EPMD_PORT in rabbitmq-env.conf. There\u0027s also RABBITMQ_NODE_IP_ADDRESS\n\nhttps://www.rabbitmq.com/configure.html#supported-environment-variables\n\nBased on https://www.rabbitmq.com/networking.html, I think we can use these for the port range:\n\nRABBITMQ_CTL_DIST_PORT_MIN\nRABBITMQ_CTL_DIST_PORT_MAX","commit_id":"abc163196350ad300d35612381650a0dfaf0b08e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"ffa81c8dc5f22132a8ba9bda361c8e5ec89753ff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"kernel.inet_dist_use_interface \u003d {{ api_interface_address | regex_replace(\u0027\\.\u0027, \u0027,\u0027) }}"},{"line_number":2,"context_line":"kernel.inet_dist_listen_min \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":3,"context_line":"kernel.inet_dist_listen_max \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# NOTE(yoctozepto): rabbitmq uses the raw format (e.g. fd::) of IPv6 address;"},{"line_number":6,"context_line":"# despite specifying port via colon, the url format (e.g. [fd::]) is not accepted"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"3f65232a_8692734a","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"3f65232a_438e8dd0","updated":"2020-10-27 10:05:33.000000000","message":"My guess is, that RABBITMQ_NODE_IP_ADDRESS is only used for client connections (read: messaging queue clients) but not for inter cluster communication, because this can apparently not be set inside rabbitmq as it is a setting of the erlang/beam vm.\n\nQuote: \"The range used by RabbitMQ can also be controlled via two configuration keys:\n\n    kernel.inet_dist_listen_min in the classic config format only\n    kernel.inet_dist_listen_max in the classic config format only\"\n\nSee: https://www.rabbitmq.com/networking.html#epmd-inet-dist-port-range\n\nThis suggests to me this port ranges can only be configured via classic config format, but I must admit the language is ambigious (at least to me, a non native speaker).\n\nIt is not really documented, if you can set the cluster interface via environment variables, the best I could find is this google groups/ rabbitmq ml message from 2014:\n\nhttps://groups.google.com/g/rabbitmq-users/c/6dpj7NeJswI\n\nwhere Simon McMullen says:\n\nOn 14/07/2014 4:19AM, hung david wrote:\n\u003e But it seems there\u0027s no option to bind clustering protocol to a specific\n\u003e interface. The default is to bind to all interface.\n\u003e I just want clustering protocol to bind to my LAN only. So is there any\n\u003e way I can do that?\n\u003e Thanks.\n\nIt\u0027s an Erlang feature rather than a RabbitMQ one, but maybe we should\ndocument it.\n\nYou can set the kernel config item \"inet_dist_use_interface\", e.g.:\n\n[{kernel, [{inet_dist_use_interface, {192, 168, 1, 100}}]},\n{rabbit, [{tcp_listeners, ...}]}].\n\nSee http://erlang.org/doc/man/kernel_app.html \n\n\nSo in short: I will try to test this in our CI (which might take some time) and report back.\n\nAnother question: Would you refrain from making this setting truly configurable? I know it was not really configurable before, but this would make my life a whole lot easier.\n\nIf you wish I can split this up, and firstly reinstate the old behaviour of defaulting to the api_interface and submit a second changeset which makes it configurable.","commit_id":"abc163196350ad300d35612381650a0dfaf0b08e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0c5d0dd593a7c08717abe196cb37e219cfefa47d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"kernel.inet_dist_use_interface \u003d {{ api_interface_address | regex_replace(\u0027\\.\u0027, \u0027,\u0027) }}"},{"line_number":2,"context_line":"kernel.inet_dist_listen_min \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":3,"context_line":"kernel.inet_dist_listen_max \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# NOTE(yoctozepto): rabbitmq uses the raw format (e.g. fd::) of IPv6 address;"},{"line_number":6,"context_line":"# despite specifying port via colon, the url format (e.g. [fd::]) is not accepted"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"3f65232a_c3445d1e","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"3f65232a_45e7b841","updated":"2020-10-27 08:42:14.000000000","message":"apparently this changed in rabbitmq 3.7, I will have a look at these docs:\nhttps://www.rabbitmq.com/configure.html#config-file\nhttps://github.com/basho/cuttlefish/wiki/Cuttlefish-for-Application-Users","commit_id":"abc163196350ad300d35612381650a0dfaf0b08e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ef068183b485799d479ce97f43690e27c831fd61","unresolved":false,"context_lines":[{"line_number":1,"context_line":"kernel.inet_dist_use_interface \u003d {{ api_interface_address | regex_replace(\u0027\\.\u0027, \u0027,\u0027) }}"},{"line_number":2,"context_line":"kernel.inet_dist_listen_min \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":3,"context_line":"kernel.inet_dist_listen_max \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# NOTE(yoctozepto): rabbitmq uses the raw format (e.g. fd::) of IPv6 address;"},{"line_number":6,"context_line":"# despite specifying port via colon, the url format (e.g. [fd::]) is not accepted"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"3f65232a_861713a4","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"3f65232a_8692734a","updated":"2020-10-27 10:16:27.000000000","message":"I think you are right that this needs to be tested properly rather than throwing things at gerrit.\n\nI think it would be fine to make the interface configurable, but it does move into feature territory rather than bugfix, and that affects whether the patch would be backported. Ideally they would be separate.","commit_id":"abc163196350ad300d35612381650a0dfaf0b08e"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"bfa51a8cc4b1bc608059e051bddeedd0185b9a97","unresolved":false,"context_lines":[{"line_number":1,"context_line":"kernel.inet_dist_use_interface \u003d {{ api_interface_address | regex_replace(\u0027\\.\u0027, \u0027,\u0027) }}"},{"line_number":2,"context_line":"kernel.inet_dist_listen_min \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":3,"context_line":"kernel.inet_dist_listen_max \u003d {{ role_rabbitmq_cluster_port }}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# NOTE(yoctozepto): rabbitmq uses the raw format (e.g. fd::) of IPv6 address;"},{"line_number":6,"context_line":"# despite specifying port via colon, the url format (e.g. [fd::]) is not accepted"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"3f65232a_236d5132","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"3f65232a_c3445d1e","updated":"2020-10-27 09:17:00.000000000","message":"after reading:\nhttps://www.rabbitmq.com/configure.html#config-file-formats\nand https://www.rabbitmq.com/configure.html#erlang-term-config-file\n\nI believe I must restructure this change.\n\nIIUC the changes must go into the advanced.config file and must be formatted in the classic erlang way, but it is not clear from documentation if this settings are still allowed there, as the docs only provide some small examples for this config file.","commit_id":"abc163196350ad300d35612381650a0dfaf0b08e"}],"kolla_ansible/put_address_in_context.py":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9befd68a9e290eab9a66fdb35a8b552bd39464ef","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    # and converting IPv6 as described here:"},{"line_number":50,"context_line":"    # https://www.erlang.org/doc/man/inet.html#type-ip6_address"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([str(int(x, 16))"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        return address.replace(\u0027.\u0027, \u0027,\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    return address"}],"source_content_type":"text/x-python","patch_set":17,"id":"0b083379_6ea9a658","line":58,"range":{"start_line":52,"start_character":1,"end_line":58,"end_character":40},"updated":"2022-02-18 14:21:47.000000000","message":"should we add some unit tests for that?","commit_id":"748dd28948c93de7708349baa9badfbb6fd7778a"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4253e25ae80e1596e1e15775ccf9dee1a1d116f1","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    # and converting IPv6 as described here:"},{"line_number":50,"context_line":"    # https://www.erlang.org/doc/man/inet.html#type-ip6_address"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([str(int(x, 16))"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        return address.replace(\u0027.\u0027, \u0027,\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    return address"}],"source_content_type":"text/x-python","patch_set":17,"id":"49ab15c9_5c9833b1","line":58,"range":{"start_line":52,"start_character":1,"end_line":58,"end_character":40},"in_reply_to":"0b083379_6ea9a658","updated":"2022-02-18 15:16:13.000000000","message":"well, it\u0027s always better to have explicit tests for functionality.\n\nthat said: currently the whole put_address_in_context.py is not tested at all, as far as I can see.\n\nAn argument can be made, that this is tested during zuuls integration tests, so bugs get caught there, but e.g. the ipv6 tests seem to be non blocking, which is weird, because my initial proposal without ipv6 support got rejected.\n\nso there is some optimization left on the table with regards to consistency in the testing framework.\n\nthe original implementation didn\u0027t support ipv6 as well and had no tests for ipv4 support afaik.\n\nSo I guess it\u0027s up to you maintainers what you really want here?\n\nI will try to provide some basic unit test, but that could take awhile as I\u0027m not familiar with how testing works in openstack (guidelines etc).","commit_id":"748dd28948c93de7708349baa9badfbb6fd7778a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8639e9f5b269ee51e07727888aa715142af30175","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([str(int(x, 16))"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"afbdf55a_6c61269e","line":54,"updated":"2022-02-24 09:15:08.000000000","message":"Reading the above doc, I wonder if it would be better to keep the hex notation, like \"2001:db8::1\" could become \"{16#2001,16#db8,...}\"\n\nThat would keep the addresses at least somewhat readable to non-mathematicians, too.","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"826e6acf2d8d86c5865a6f73fb4ba20c136ad3b8","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([str(int(x, 16))"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9953625a_37967b84","line":54,"in_reply_to":"17ce6d11_150a58b1","updated":"2022-03-04 16:04:09.000000000","message":"ah! now I got what you meant and also found the examples in the erlang docs, let me try this out.","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"5951cd9daa83e1fa0d8c205cc8b032def592cf97","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([str(int(x, 16))"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"e7ce6b7f_67bed8f1","line":54,"in_reply_to":"37277279_ba5ac2f0","updated":"2022-03-02 14:12:00.000000000","message":"Tomorrow I will mark this as \"resolved\", as there was no feedback provided.","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"a6d976695aaffcf76a853f56a0e152dc7cb9a87b","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([str(int(x, 16))"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"038b677f_be46fab3","line":54,"in_reply_to":"9953625a_37967b84","updated":"2022-03-04 16:28:29.000000000","message":"I did as you suggested, as I agree, the hexadecimal encoding is more readable.\n\nnotice: in the examples provided in the erlang docs, fields which contain only zero are not prefixed with \"16#\", but it should be possible to also prefix those fields, according to the erlang docs[1].\n\nI did so, to not further complicate the code with additional conditions.\n\n[1]: https://www.erlang.org/doc/reference_manual/data_types.html#number","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"bf68a2b90adc60456be89a5f9055c96e39ed7309","unresolved":true,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([str(int(x, 16))"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"37277279_ba5ac2f0","line":54,"in_reply_to":"afbdf55a_6c61269e","updated":"2022-02-24 09:21:34.000000000","message":"I\u0027m sorry, but could you explain in more detail what you mean?\n\nthe hex notation is, afaik, no valid erlang ip address format.\n\nBut I\u0027m not sure I really grasp what you mean.\n\nSee the docs here: https://www.erlang.org/doc/man/inet.html#type-ip6_address\n\nfrom my understanding, valid notations are in the range:\n\n{0..65535, 0..65535, 0..65535, 0..65535, 0..65535, 0..65535, 0..65535, 0..65535}\n\nso only integers are allowed.\n\nBut I\u0027m really no erlang expert, so I would be happy to be proven wrong :)","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"07ea3ed896bda8910355b46d4235bf369df16cb9","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([str(int(x, 16))"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"17ce6d11_150a58b1","line":54,"in_reply_to":"b389000d_ca2e6b38","updated":"2022-03-04 10:07:04.000000000","message":"Sorry I missed your reply earlier, according to the example in the top section of the doc you linked, integers can be written as e.g. \"16#3ffe\" or \"16#fe80\" instead of 16382 or 65152, which I think would improve readability. But no reason to block this, could later be done as an update.","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2e481a5348ee9df4b2242983443ba21fffdde430","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([str(int(x, 16))"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"b389000d_ca2e6b38","line":54,"in_reply_to":"e7ce6b7f_67bed8f1","updated":"2022-03-04 09:30:43.000000000","message":"Done","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"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":"85b35cccf4d3b2e90a983b5c76ceb04be42cd9ae","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":15,"context_line":"# limitations under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import ipaddress"},{"line_number":19,"context_line":"from kolla_ansible.exception import FilterError"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"3d0b5d75_6c7935d3","line":17,"updated":"2022-03-24 15:24:09.000000000","message":"needless line","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"870146371dc4f9507dc7cc2b2d7d36c39770469c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":15,"context_line":"# limitations under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import ipaddress"},{"line_number":19,"context_line":"from kolla_ansible.exception import FilterError"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"a9643921_7d22f029","line":17,"in_reply_to":"3d0b5d75_6c7935d3","updated":"2022-03-24 16:54:01.000000000","message":"Done","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"},{"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":"85b35cccf4d3b2e90a983b5c76ceb04be42cd9ae","unresolved":true,"context_lines":[{"line_number":50,"context_line":"    # https://www.erlang.org/doc/man/inet.html#type-ip6_address"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([\u002716#%x\u0027 % int(x, 16)"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"}],"source_content_type":"text/x-python","patch_set":23,"id":"780e12e5_fe179c3b","line":53,"range":{"start_line":53,"start_character":21,"end_line":53,"end_character":31},"updated":"2022-03-24 15:24:09.000000000","message":"we could import just this callable","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"870146371dc4f9507dc7cc2b2d7d36c39770469c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    # https://www.erlang.org/doc/man/inet.html#type-ip6_address"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    if context \u003d\u003d \u0027rabbitmq\u0027:"},{"line_number":53,"context_line":"        if ipaddress.ip_address(address).version \u003d\u003d 6:"},{"line_number":54,"context_line":"            return (\",\".join([\u002716#%x\u0027 % int(x, 16)"},{"line_number":55,"context_line":"                    for x in"},{"line_number":56,"context_line":"                    ipaddress.ip_address(address).exploded.split(\u0027:\u0027)]))"}],"source_content_type":"text/x-python","patch_set":23,"id":"933d02ed_ddb3ab5b","line":53,"range":{"start_line":53,"start_character":21,"end_line":53,"end_character":31},"in_reply_to":"780e12e5_fe179c3b","updated":"2022-03-24 16:54:01.000000000","message":"Done","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"}],"kolla_ansible/tests/unit/test_address_filters.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"bf0dde2d94a8b77ed5a7ebaea4aee40efeeafff8","unresolved":true,"context_lines":[{"line_number":55,"context_line":"        context \u003d \u0027rabbitmq\u0027"},{"line_number":56,"context_line":"        addr \u003d \u0027192.168.1.1\u0027"},{"line_number":57,"context_line":"        self.assertEqual(put_address_in_context(addr, context),"},{"line_number":58,"context_line":"                         \u0027192,168,1,1\u0027.format(addr))"},{"line_number":59,"context_line":"        addr \u003d \u0027fd::\u0027"},{"line_number":60,"context_line":"        self.assertEqual(put_address_in_context(addr, context),"},{"line_number":61,"context_line":"                         \u0027253,0,0,0,0,0,0,0\u0027.format(addr))"}],"source_content_type":"text/x-python","patch_set":21,"id":"f61ad8bb_8e071fc2","line":58,"updated":"2022-02-24 08:54:27.000000000","message":"This doesn\u0027t make sense, why do you format a string that doesn\u0027t contain any template. just use \u0027192,168,1,1\u0027, done","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"5fa954d9c73bc083a046bf320e95b08bd6103137","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        context \u003d \u0027rabbitmq\u0027"},{"line_number":56,"context_line":"        addr \u003d \u0027192.168.1.1\u0027"},{"line_number":57,"context_line":"        self.assertEqual(put_address_in_context(addr, context),"},{"line_number":58,"context_line":"                         \u0027192,168,1,1\u0027.format(addr))"},{"line_number":59,"context_line":"        addr \u003d \u0027fd::\u0027"},{"line_number":60,"context_line":"        self.assertEqual(put_address_in_context(addr, context),"},{"line_number":61,"context_line":"                         \u0027253,0,0,0,0,0,0,0\u0027.format(addr))"}],"source_content_type":"text/x-python","patch_set":21,"id":"f52d9173_c101f8e1","line":58,"in_reply_to":"f61ad8bb_8e071fc2","updated":"2022-02-24 09:03:39.000000000","message":"Ack","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"bf0dde2d94a8b77ed5a7ebaea4aee40efeeafff8","unresolved":true,"context_lines":[{"line_number":58,"context_line":"                         \u0027192,168,1,1\u0027.format(addr))"},{"line_number":59,"context_line":"        addr \u003d \u0027fd::\u0027"},{"line_number":60,"context_line":"        self.assertEqual(put_address_in_context(addr, context),"},{"line_number":61,"context_line":"                         \u0027253,0,0,0,0,0,0,0\u0027.format(addr))"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def test_unknown_context(self):"},{"line_number":64,"context_line":"        self.assertRaises(FilterError, put_address_in_context, \u0027\u0027, \u0027lol\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"cca93b26_1b00f894","line":61,"updated":"2022-02-24 08:54:27.000000000","message":"dito","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"5fa954d9c73bc083a046bf320e95b08bd6103137","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                         \u0027192,168,1,1\u0027.format(addr))"},{"line_number":59,"context_line":"        addr \u003d \u0027fd::\u0027"},{"line_number":60,"context_line":"        self.assertEqual(put_address_in_context(addr, context),"},{"line_number":61,"context_line":"                         \u0027253,0,0,0,0,0,0,0\u0027.format(addr))"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def test_unknown_context(self):"},{"line_number":64,"context_line":"        self.assertRaises(FilterError, put_address_in_context, \u0027\u0027, \u0027lol\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"e515844b_f9cf2f44","line":61,"in_reply_to":"cca93b26_1b00f894","updated":"2022-02-24 09:03:39.000000000","message":"Ack","commit_id":"83350a28d414f7a5cbd9e26850df9f4ad3c67f22"}],"releasenotes/notes/fix-rabbitmq-interface-configuration-b39c954fb8763d9c.yaml":[{"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":"85b35cccf4d3b2e90a983b5c76ceb04be42cd9ae","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    adds back the option to configure the rabbitmq interface via kolla"},{"line_number":5,"context_line":"    `LP#1900160 \u003chttps://bugs.launchpad.net/kolla-ansible/+bug/1900160\u003e`"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"aa67a5d8_44fa08f5","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":51},"updated":"2022-03-24 15:24:09.000000000","message":"clustering","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"870146371dc4f9507dc7cc2b2d7d36c39770469c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    adds back the option to configure the rabbitmq interface via kolla"},{"line_number":5,"context_line":"    `LP#1900160 \u003chttps://bugs.launchpad.net/kolla-ansible/+bug/1900160\u003e`"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"b41d4c68_ce03fbe6","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":51},"in_reply_to":"aa67a5d8_44fa08f5","updated":"2022-03-24 16:54:01.000000000","message":"Done","commit_id":"37f5de1c8b2dc899b4fda29c667f47b8c2b4da6f"}]}
