)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"7feb193c9faa0e243b8793f6e2ce62e6be228857","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"98e34fe7_e76bdabb","updated":"2022-05-16 16:21:29.000000000","message":"recheck","commit_id":"a282bf778fdbd703dc8b766c4f42f85e6fb9f820"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"f2c47b70d5e894f6b88578a923dc421b78efb4ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1ba41429_521552e4","updated":"2022-05-19 13:22:09.000000000","message":"recheck","commit_id":"4f875299c0681d828ac24461f4ebaed094ab3b88"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"508fd97237da90279f0d9fcc34852bcad5718efc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"94109a55_c0091227","updated":"2022-05-19 18:27:34.000000000","message":"recheck","commit_id":"4f875299c0681d828ac24461f4ebaed094ab3b88"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"686870f2e380c1b5d03bb674d9ecadcfe3f1a6f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"db22006a_2e6ba7db","updated":"2022-05-23 18:20:50.000000000","message":"recheck","commit_id":"4f875299c0681d828ac24461f4ebaed094ab3b88"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"180498c0345e4faa2d962e861316ccda72b2f0df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3ceeacdf_db4c995f","updated":"2022-06-14 18:13:05.000000000","message":"recheck","commit_id":"4c99ca4bc1f74864b45d1637be60654e2d36537d"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ff94704299a0f9f61be74d453ad24621d47a70d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"eb6dbc06_13a7e8c4","updated":"2022-07-01 10:48:41.000000000","message":"Please let me keep -1 until we hear any feedback from Rabi or Harald about any other better way to provision neutron ports for 2nd ips.","commit_id":"78a51efb6c21c2dd3173a0ad55a9fb4873a21766"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"566250e83d9bd75147fbb767a07a3173cd6f905c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ff207f17_ea32652f","updated":"2022-06-27 17:43:16.000000000","message":"recheck","commit_id":"78a51efb6c21c2dd3173a0ad55a9fb4873a21766"}],"deployment/designate/designate-bind-container.yaml":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"7c7b11cd9bca995e4f7f2b844ccb84f658e64975","unresolved":true,"context_lines":[{"line_number":238,"context_line":"                    -"},{"line_number":239,"context_line":"                      str_replace:"},{"line_number":240,"context_line":"                        template:"},{"line_number":241,"context_line":"                          \"$NETWORK_subnet\""},{"line_number":242,"context_line":"                        params:"},{"line_number":243,"context_line":"                          $NETWORK: {get_param: [ServiceNetMap, DesignateBindNetwork]}"},{"line_number":244,"context_line":"              register: subnet_info"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"d4a10248_35b9f3eb","line":241,"range":{"start_line":241,"start_character":27,"end_line":241,"end_character":42},"updated":"2022-07-01 11:49:48.000000000","message":"Subnet names are user configurable, and does not necessarily follow the \u0027_subnet\u0027 syntax. Also what if spine-leaf/DCN architecture with multiple subnets on one network? Does these ports always need to be on one subnet, the same as the VIP? Or does it need to be on the subnet of the node? If they need to be with the VIP, you should be able to get the subnet name from VipSubnetMap.","commit_id":"78a51efb6c21c2dd3173a0ad55a9fb4873a21766"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"738d321dfd930c3b4f179f1a56c87f0db092580c","unresolved":true,"context_lines":[{"line_number":238,"context_line":"                    -"},{"line_number":239,"context_line":"                      str_replace:"},{"line_number":240,"context_line":"                        template:"},{"line_number":241,"context_line":"                          \"$NETWORK_subnet\""},{"line_number":242,"context_line":"                        params:"},{"line_number":243,"context_line":"                          $NETWORK: {get_param: [ServiceNetMap, DesignateBindNetwork]}"},{"line_number":244,"context_line":"              register: subnet_info"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"42932193_b8114021","line":241,"range":{"start_line":241,"start_character":27,"end_line":241,"end_character":42},"in_reply_to":"d4a10248_35b9f3eb","updated":"2022-07-01 12:03:01.000000000","message":"IIUC the requirement here is to assign a secondary IP to each node where DNS runs so should be on the subnet of the node.","commit_id":"78a51efb6c21c2dd3173a0ad55a9fb4873a21766"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ff94704299a0f9f61be74d453ad24621d47a70d2","unresolved":true,"context_lines":[{"line_number":246,"context_line":"            - name: Create the extra IPs"},{"line_number":247,"context_line":"              include_role:"},{"line_number":248,"context_line":"                name: designate_bind_config"},{"line_number":249,"context_line":"                tasks_from: create_collocated_ips"},{"line_number":250,"context_line":"              vars:"},{"line_number":251,"context_line":"                hosts_for_ports: \"{{ groups.designate_bind }}\""},{"line_number":252,"context_line":"                network_name: {get_param: [ServiceNetMap, DesignateBindNetwork]}"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"42f65427_2e9bdf91","line":249,"range":{"start_line":249,"start_character":28,"end_line":249,"end_character":49},"updated":"2022-07-01 10:48:41.000000000","message":"so looking at the implementation in tripleo-ansible, this creates these neuron ports to assign 2nd network ips for Designate. I\u0027m not very sure this is the correct implementation, and it\u0027s likely to cause a few manual operations (ports are not deleted by unprivision, or we are likely to need a clean up after node replacement)\n\nI\u0027d add Rabi and Harald because they both are familiar with networking v2 and might have any idea a bout alternative and better approach.","commit_id":"78a51efb6c21c2dd3173a0ad55a9fb4873a21766"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"7c7b11cd9bca995e4f7f2b844ccb84f658e64975","unresolved":true,"context_lines":[{"line_number":246,"context_line":"            - name: Create the extra IPs"},{"line_number":247,"context_line":"              include_role:"},{"line_number":248,"context_line":"                name: designate_bind_config"},{"line_number":249,"context_line":"                tasks_from: create_collocated_ips"},{"line_number":250,"context_line":"              vars:"},{"line_number":251,"context_line":"                hosts_for_ports: \"{{ groups.designate_bind }}\""},{"line_number":252,"context_line":"                network_name: {get_param: [ServiceNetMap, DesignateBindNetwork]}"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"c804943d_9efcdac8","line":249,"range":{"start_line":249,"start_character":28,"end_line":249,"end_character":49},"in_reply_to":"42f65427_2e9bdf91","updated":"2022-07-01 11:49:48.000000000","message":"In network v2 I used the \"tags\" field on neutron resources to set \"metadata\", such as stack_name, hostname for ports belonging to a specific node, service_vip for ovn_dbs/redis VIPs etc. This is how idempotency is maintained, and it allowed to add cleanup tasks. It does query for ports with tags for example all ports with tags: [\u0027tripleo_stack\u003dmy_overcloud\u0027, \u0027tripleo_net_vip\u003dtrue\u0027] to know what overcloud virtual IPs ports to delete on stack delete. See for example the cleanup method[1] for ovn_bridge_mac ports, and [2] for deleting ports when a node is unprovisioned.\n\nI initially looked at using os_port, os_network, os_subnet modules in openstack collection but found that custom modules was required.\n\n[1] https://opendev.org/openstack/tripleo-ansible/src/branch/master/tripleo_ansible/ansible_plugins/modules/tripleo_ovn_mac_addresses.py#L162-L169\n[2] https://opendev.org/openstack/tripleo-ansible/src/branch/master/tripleo_ansible/ansible_plugins/modules/tripleo_overcloud_network_ports.py#L403","commit_id":"78a51efb6c21c2dd3173a0ad55a9fb4873a21766"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"5f4966316dc11ab7cb286a50e82b5108d4551134","unresolved":true,"context_lines":[{"line_number":246,"context_line":"            - name: Create the extra IPs"},{"line_number":247,"context_line":"              include_role:"},{"line_number":248,"context_line":"                name: designate_bind_config"},{"line_number":249,"context_line":"                tasks_from: create_collocated_ips"},{"line_number":250,"context_line":"              vars:"},{"line_number":251,"context_line":"                hosts_for_ports: \"{{ groups.designate_bind }}\""},{"line_number":252,"context_line":"                network_name: {get_param: [ServiceNetMap, DesignateBindNetwork]}"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"f6bbc2a5_6df25906","line":249,"range":{"start_line":249,"start_character":28,"end_line":249,"end_character":49},"in_reply_to":"42f65427_2e9bdf91","updated":"2022-07-01 11:40:15.000000000","message":"OK so we\u0027ve already done this for undercloud by https://review.opendev.org/c/openstack/tripleo-heat-templates/+/786087 . I\u0027ll merge this then but I still need it\u0027s worth discussing as a follow-up item.","commit_id":"78a51efb6c21c2dd3173a0ad55a9fb4873a21766"}]}
