)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2033ce617eeceb177cacac66fec3962eab948829","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ief57a797a1b1ed34f1d7ec9d7d9f983451647696"},{"line_number":17,"context_line":"Implements: blueprint floatingips-portforwarding-ranges"},{"line_number":18,"context_line":"Closes-Bug: #1885921"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"edfc3c0f_da9ace3e","line":18,"updated":"2021-03-24 13:16:02.000000000","message":"nit: please use \"Related-Bug\" as this is not the only or the last patch needed to close that LP","commit_id":"fc539af5b48e0739ab24c41414dda50631494e8d"}],"api-ref/source/v2/fip-port-forwarding.inc":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"daf9cdfc1e9e8dc47c58cfa52c72f2f5390db0da","unresolved":true,"context_lines":[{"line_number":14,"context_line":"The ``floating-ip-port-forwarding-port-ranges`` extension adds the new"},{"line_number":15,"context_line":"attributes ``internal_port_range`` and ``external_port_range`` to the"},{"line_number":16,"context_line":"floating IP port forwardings. The value of these new attributes should be"},{"line_number":17,"context_line":"a string that represents a colon separated port range. You can not use the"},{"line_number":18,"context_line":"attributes ``internal_port_range`` and ``external_port_range`` with the"},{"line_number":19,"context_line":"attributes ``internal_port`` and ``external_port`` in the same request."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Port forwarding rule description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"9d2051c5_e629e0cf","line":19,"range":{"start_line":17,"start_character":55,"end_line":19,"end_character":71},"updated":"2021-03-31 07:29:54.000000000","message":"Can I use internal_port_range and external_port (or internal_port and external_port_range) in the same request? If yes, please elaborate here","commit_id":"6cb46ca99aee4a15e86840b6e9c8bec457c49489"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"c1492c5e795494a45cffb247d6a15a155828e2f5","unresolved":true,"context_lines":[{"line_number":14,"context_line":"The ``floating-ip-port-forwarding-port-ranges`` extension adds the new"},{"line_number":15,"context_line":"attributes ``internal_port_range`` and ``external_port_range`` to the"},{"line_number":16,"context_line":"floating IP port forwardings. The value of these new attributes should be"},{"line_number":17,"context_line":"a string that represents a colon separated port range. You can not use the"},{"line_number":18,"context_line":"attributes ``internal_port_range`` and ``external_port_range`` with the"},{"line_number":19,"context_line":"attributes ``internal_port`` and ``external_port`` in the same request."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Port forwarding rule description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"37a6fa72_994b7d5c","line":19,"range":{"start_line":17,"start_character":55,"end_line":19,"end_character":71},"in_reply_to":"9d2051c5_e629e0cf","updated":"2021-04-06 12:50:37.000000000","message":"No, both internal/external_port and internal/external_port_range must be used together, the internal_port must be used with only the external_port, not with none of *_range, the same for external_port","commit_id":"6cb46ca99aee4a15e86840b6e9c8bec457c49489"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"a0185158c95271bc53a572194fd13e00dbc93163","unresolved":true,"context_lines":[{"line_number":181,"context_line":"   - id: id-query"},{"line_number":182,"context_line":"   - internal_port_id: internal_port_id-query"},{"line_number":183,"context_line":"   - external_port: external_port-query"},{"line_number":184,"context_line":"   - external_port_range: external_port_range-query"},{"line_number":185,"context_line":"   - protocol: fip_port_forwarding_protocol-query"},{"line_number":186,"context_line":"   - sort_key: fip_port_forwarding-sort_key"},{"line_number":187,"context_line":"   - sort_dir: sort_dir"}],"source_content_type":"text/x-c++src","patch_set":7,"id":"30b25af5_32896ab4","line":184,"range":{"start_line":184,"start_character":5,"end_line":184,"end_character":24},"updated":"2021-04-08 10:52:48.000000000","message":"seems internal_port_range is missed","commit_id":"69f4c6399d952afa30612f604ee8edf7b4778ad4"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"bf4e6cb37f29afb13fe5c7204f3b0e42e374ddfd","unresolved":true,"context_lines":[{"line_number":181,"context_line":"   - id: id-query"},{"line_number":182,"context_line":"   - internal_port_id: internal_port_id-query"},{"line_number":183,"context_line":"   - external_port: external_port-query"},{"line_number":184,"context_line":"   - external_port_range: external_port_range-query"},{"line_number":185,"context_line":"   - protocol: fip_port_forwarding_protocol-query"},{"line_number":186,"context_line":"   - sort_key: fip_port_forwarding-sort_key"},{"line_number":187,"context_line":"   - sort_dir: sort_dir"}],"source_content_type":"text/x-c++src","patch_set":7,"id":"b867c25f_2e22f841","line":184,"range":{"start_line":184,"start_character":5,"end_line":184,"end_character":24},"in_reply_to":"30b25af5_32896ab4","updated":"2021-04-08 11:37:57.000000000","message":"Hi Oleg, these are the sorting parameters, the portforwarding API is allowing to sort only by external_port, so I thought in allowing to sort only by the external_port_range, to be compatible with the old behavior.","commit_id":"69f4c6399d952afa30612f604ee8edf7b4778ad4"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"ab2dc81ae53b09a8901fd13bb720a60b0f0590fe","unresolved":true,"context_lines":[{"line_number":181,"context_line":"   - id: id-query"},{"line_number":182,"context_line":"   - internal_port_id: internal_port_id-query"},{"line_number":183,"context_line":"   - external_port: external_port-query"},{"line_number":184,"context_line":"   - external_port_range: external_port_range-query"},{"line_number":185,"context_line":"   - protocol: fip_port_forwarding_protocol-query"},{"line_number":186,"context_line":"   - sort_key: fip_port_forwarding-sort_key"},{"line_number":187,"context_line":"   - sort_dir: sort_dir"}],"source_content_type":"text/x-c++src","patch_set":7,"id":"d0e0776a_cdb39183","line":184,"range":{"start_line":184,"start_character":5,"end_line":184,"end_character":24},"in_reply_to":"b867c25f_2e22f841","updated":"2021-04-08 11:53:34.000000000","message":"Ok got it, thanks","commit_id":"69f4c6399d952afa30612f604ee8edf7b4778ad4"}],"api-ref/source/v2/parameters.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"88701e960e0eccf8fda6034da46d708b57569b5b","unresolved":true,"context_lines":[{"line_number":2489,"context_line":"    The TCP/UDP/other protocol port number of the port forwarding\u0027s floating IP"},{"line_number":2490,"context_line":"    address."},{"line_number":2491,"context_line":"  in: body"},{"line_number":2492,"context_line":"  required: false"},{"line_number":2493,"context_line":"  type: integer"},{"line_number":2494,"context_line":"external_port-update:"},{"line_number":2495,"context_line":"  description: |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"88de6053_93c4ecc4","line":2492,"updated":"2021-03-26 08:13:16.000000000","message":"if this is not required now, shouldn\u0027t You change it\u0027s validator which are defined in https://github.com/openstack/neutron-lib/blob/master/neutron_lib/api/definitions/floating_ip_port_forwarding.py ?","commit_id":"9e85d0178d2646c914d13f71c38b9f2fd6786f44"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"09d18a6174c8fe05e26c4d6b3cdf3f52a790b2f5","unresolved":true,"context_lines":[{"line_number":2489,"context_line":"    The TCP/UDP/other protocol port number of the port forwarding\u0027s floating IP"},{"line_number":2490,"context_line":"    address."},{"line_number":2491,"context_line":"  in: body"},{"line_number":2492,"context_line":"  required: false"},{"line_number":2493,"context_line":"  type: integer"},{"line_number":2494,"context_line":"external_port-update:"},{"line_number":2495,"context_line":"  description: |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"de797005_d6d1cdfe","line":2492,"in_reply_to":"88de6053_93c4ecc4","updated":"2021-03-30 12:31:48.000000000","message":"Yes, you are absolutely correct, I will change it, thanks again 😊","commit_id":"9e85d0178d2646c914d13f71c38b9f2fd6786f44"}],"api-ref/source/v2/samples/port_forwardings/port-fowarding-list-response.json":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"6ae40d7fdb85d507be6d4484b34f7c67e21041cb","unresolved":true,"context_lines":[{"line_number":9,"context_line":"      \"description\": \"Some description\","},{"line_number":10,"context_line":"      \"id\": \"1798dc82-c0ed-4b79-b12d-4c3c18f90eb2\""},{"line_number":11,"context_line":"    },"},{"line_number":12,"context_line":"    {"},{"line_number":13,"context_line":"      \"protocol\": \"tcp\","},{"line_number":14,"context_line":"      \"internal_ip_address\": \"10.0.0.11\","},{"line_number":15,"context_line":"      \"internal_port\": \"25:30\","}],"source_content_type":"application/json","patch_set":2,"id":"7af14358_7264663a","line":12,"updated":"2021-03-23 08:14:16.000000000","message":"Why not add 3rd record instead of modifying existing examples?","commit_id":"c22b989a6d3f9923534036d856c385378c2495dd"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"58f90334032841611baf116367c55a47f246d002","unresolved":true,"context_lines":[{"line_number":9,"context_line":"      \"description\": \"Some description\","},{"line_number":10,"context_line":"      \"id\": \"1798dc82-c0ed-4b79-b12d-4c3c18f90eb2\""},{"line_number":11,"context_line":"    },"},{"line_number":12,"context_line":"    {"},{"line_number":13,"context_line":"      \"protocol\": \"tcp\","},{"line_number":14,"context_line":"      \"internal_ip_address\": \"10.0.0.11\","},{"line_number":15,"context_line":"      \"internal_port\": \"25:30\","}],"source_content_type":"application/json","patch_set":2,"id":"f220fc4a_65cc11a3","line":12,"in_reply_to":"7af14358_7264663a","updated":"2021-03-23 14:18:09.000000000","message":"Sure, thanks 😊","commit_id":"c22b989a6d3f9923534036d856c385378c2495dd"}],"neutron_lib/api/definitions/fip_pf_port_range.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2033ce617eeceb177cacac66fec3962eab948829","unresolved":true,"context_lines":[{"line_number":23,"context_line":"SUB_RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":24,"context_line":"    pfw.COLLECTION_NAME: {"},{"line_number":25,"context_line":"        \u0027parameters\u0027: {"},{"line_number":26,"context_line":"            pfw.EXTERNAL_PORT: {"},{"line_number":27,"context_line":"                \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":28,"context_line":"                \u0027validate\u0027: {\u0027type:port_range\u0027: None},"},{"line_number":29,"context_line":"                \u0027is_visible\u0027: True,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1449ed5b_53fda123","line":26,"updated":"2021-03-24 13:16:02.000000000","message":"spec says about \"External_port_range\" and \"internal_port_range\" and here You are simply changing existing fields. Is that intentional?","commit_id":"fc539af5b48e0739ab24c41414dda50631494e8d"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"7bf5a26ce02eaa267b870b7d2a860cde03f913e8","unresolved":true,"context_lines":[{"line_number":23,"context_line":"SUB_RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":24,"context_line":"    pfw.COLLECTION_NAME: {"},{"line_number":25,"context_line":"        \u0027parameters\u0027: {"},{"line_number":26,"context_line":"            pfw.EXTERNAL_PORT: {"},{"line_number":27,"context_line":"                \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":28,"context_line":"                \u0027validate\u0027: {\u0027type:port_range\u0027: None},"},{"line_number":29,"context_line":"                \u0027is_visible\u0027: True,"}],"source_content_type":"text/x-python","patch_set":3,"id":"03448ee9_216354b8","line":26,"in_reply_to":"1449ed5b_53fda123","updated":"2021-03-24 15:07:59.000000000","message":"No, it was my mistake, thanks :)","commit_id":"fc539af5b48e0739ab24c41414dda50631494e8d"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"243828dc3747911b363a2c6dc048ff1c245d8b38","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                \u0027is_filter\u0027: True},"},{"line_number":34,"context_line":"            INTERNAL_PORT_RANGE: {"},{"line_number":35,"context_line":"                \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":36,"context_line":"                \u0027validate\u0027: {\u0027type:port_range\u0027: None},"},{"line_number":37,"context_line":"                \u0027is_visible\u0027: True},"},{"line_number":38,"context_line":"            pfw.EXTERNAL_PORT: {"},{"line_number":39,"context_line":"                \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"}],"source_content_type":"text/x-python","patch_set":7,"id":"17e6a6a1_a8630117","line":36,"range":{"start_line":36,"start_character":35,"end_line":36,"end_character":45},"updated":"2022-03-07 01:02:01.000000000","message":"According to my understanding, the validator \"port_range\" allow port range is [0, 65535], including 0 and 65535. Is this what you want?","commit_id":"69f4c6399d952afa30612f604ee8edf7b4778ad4"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"e316f9f4ae2d85a0bff21b60c2ea550b4e409920","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                \u0027is_filter\u0027: True},"},{"line_number":34,"context_line":"            INTERNAL_PORT_RANGE: {"},{"line_number":35,"context_line":"                \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"},{"line_number":36,"context_line":"                \u0027validate\u0027: {\u0027type:port_range\u0027: None},"},{"line_number":37,"context_line":"                \u0027is_visible\u0027: True},"},{"line_number":38,"context_line":"            pfw.EXTERNAL_PORT: {"},{"line_number":39,"context_line":"                \u0027allow_post\u0027: True, \u0027allow_put\u0027: True,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9e3404c9_34bdf030","line":36,"range":{"start_line":36,"start_character":35,"end_line":36,"end_character":45},"in_reply_to":"17e6a6a1_a8630117","updated":"2022-03-07 21:19:10.000000000","message":"The intention of this patch, is to allow users to create ranges of port forwardings instead of creating them one by one. We are not allowed to create single port forwarding rules for the port Zero, but we are allowed to create for 65535. Then, the ranges should deny ranges that contains Zero.\nI will open a new patch here in neutron-lib to add the Zero in this validation.\n\nThis is the patch for the update:\n\nhttps://review.opendev.org/c/openstack/neutron-lib/+/832338\n\n\nThanks and nice catch.","commit_id":"69f4c6399d952afa30612f604ee8edf7b4778ad4"}],"releasenotes/notes/add-port-ranges-support-in-port-forwarding-417da8ef7e2ec140.yaml":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"daf9cdfc1e9e8dc47c58cfa52c72f2f5390db0da","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Update fields ``internal_port`` and ``external_port`` in floating ip"},{"line_number":5,"context_line":"    portforwardings to support port ranges instead of only one port."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"6849bad7_f1e02539","line":5,"range":{"start_line":4,"start_character":4,"end_line":5,"end_character":67},"updated":"2021-03-31 07:29:54.000000000","message":"In fact new fields are added, right?","commit_id":"6cb46ca99aee4a15e86840b6e9c8bec457c49489"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"c1492c5e795494a45cffb247d6a15a155828e2f5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Update fields ``internal_port`` and ``external_port`` in floating ip"},{"line_number":5,"context_line":"    portforwardings to support port ranges instead of only one port."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5173839c_066f682a","line":5,"range":{"start_line":4,"start_character":4,"end_line":5,"end_character":67},"in_reply_to":"6849bad7_f1e02539","updated":"2021-04-06 12:50:37.000000000","message":"Yes, they were, I will change the features here, hehe, thanks 😊","commit_id":"6cb46ca99aee4a15e86840b6e9c8bec457c49489"}]}
