)]}'
{"doc/source/command-objects/floating-ip.rst":[{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"a9a2826cc73a4bb12346117538e1460aae6008e3","unresolved":false,"context_lines":[{"line_number":96,"context_line":".. program:: floating ip associate"},{"line_number":97,"context_line":".. code:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os floating ip associate \u003cfloatingip-id\u003e \u003cport-id\u003e"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":".. describe:: \u003cfloatingip-id\u003e"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba5da102_fbec6e94","line":99,"updated":"2016-11-04 19:56:47.000000000","message":"make port-id a required optional arg\n\n[--port-id \u003cport-id\u003e]\n\nand handle as a optional arg in the floating_ip.py file. or wherever. \n\nfor an example look at network_segments","commit_id":"2f469163d2534375805e107d807d5d608d7240b8"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"c917c85d9d1c24993c77e8d418212f26e9f661d0","unresolved":false,"context_lines":[{"line_number":96,"context_line":".. program:: port add floating ip"},{"line_number":97,"context_line":".. code:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os port add floating ip"},{"line_number":100,"context_line":"        \u003cfloating_ip\u003e \u003cport\u003e"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":".. describe:: \u003cfloating_ip\u003e"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_296a0f1b","line":99,"updated":"2016-11-06 20:06:45.000000000","message":"same comment as previous patchsets, turn one of the positional args into a required optional arg","commit_id":"7f0776a984f298e8dc4f547fdf054d5baf7c3715"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"46f07aaae8c202b5257d9e6a73b2eda02d726ac1","unresolved":false,"context_lines":[{"line_number":96,"context_line":".. program:: port add floating ip"},{"line_number":97,"context_line":".. code:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os port add floating ip"},{"line_number":100,"context_line":"        \u003cfloating_ip\u003e \u003cport\u003e"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":".. describe:: \u003cfloating_ip\u003e"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba5da102_7b8e8528","line":99,"in_reply_to":"ba5da102_296a0f1b","updated":"2016-11-07 05:18:29.000000000","message":"Done","commit_id":"7f0776a984f298e8dc4f547fdf054d5baf7c3715"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"62814cd641584f0a19d22bf1242559ac768f5b10","unresolved":false,"context_lines":[{"line_number":91,"context_line":"floating ip associate"},{"line_number":92,"context_line":"----------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Associate floating IP to a fixed IP"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. program:: floating ip add port"},{"line_number":97,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_e4caf54e","line":94,"range":{"start_line":94,"start_character":27,"end_line":94,"end_character":35},"updated":"2016-11-08 11:15:15.000000000","message":"I know the existing neutronclient docs have it written like this, but it seems a little misleading to me. I\u0027d prefer to say:\n\n  Associate floating IP to a port","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"c0e17a54dcef92eb71a75e9fb1619ca8f1cafb9a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"floating ip associate"},{"line_number":92,"context_line":"----------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Associate floating IP to a fixed IP"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. program:: floating ip add port"},{"line_number":97,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_3b4ae855","line":94,"range":{"start_line":94,"start_character":27,"end_line":94,"end_character":35},"in_reply_to":"9a629dbe_e4caf54e","updated":"2016-11-10 05:41:09.000000000","message":"Done","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"62814cd641584f0a19d22bf1242559ac768f5b10","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Associate floating IP to a fixed IP"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. program:: floating ip add port"},{"line_number":97,"context_line":".. code:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os floating ip add port"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_84f3f972","line":96,"range":{"start_line":96,"start_character":25,"end_line":96,"end_character":28},"updated":"2016-11-08 11:15:15.000000000","message":"Is there a hard rule preventing us using \u0027associate\u0027 in this case? \u0027Add\u0027 suggests that more than one port can be \u0027added\u0027 to a floating_ip, which is not the case.","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"c0e17a54dcef92eb71a75e9fb1619ca8f1cafb9a","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Associate floating IP to a fixed IP"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. program:: floating ip add port"},{"line_number":97,"context_line":".. code:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os floating ip add port"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_3b8f4876","line":96,"range":{"start_line":96,"start_character":25,"end_line":96,"end_character":28},"in_reply_to":"9a629dbe_84f3f972","updated":"2016-11-10 05:41:09.000000000","message":"Hi John, as there is some confusion regarding how the command should look like, I am leaving it to the cores.","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"62814cd641584f0a19d22bf1242559ac768f5b10","unresolved":false,"context_lines":[{"line_number":97,"context_line":".. code:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os floating ip add port"},{"line_number":100,"context_line":"        --port_id \u003cport\u003e"},{"line_number":101,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":".. option:: --port_id \u003cport\u003e"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_a7dd5f44","line":101,"range":{"start_line":100,"start_character":8,"end_line":101,"end_character":21},"updated":"2016-11-08 11:15:15.000000000","message":"both of these are required for the command to work, so shouldn\u0027t this be:\n\n  \u003cfloating_ip\u003e \u003cport\u003e\n\n?\n\nI see Ankur\u0027s comment on PS6 but I can\u0027t see anything in the OSC docs to suggest it should be that way.","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"c0e17a54dcef92eb71a75e9fb1619ca8f1cafb9a","unresolved":false,"context_lines":[{"line_number":97,"context_line":".. code:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os floating ip add port"},{"line_number":100,"context_line":"        --port_id \u003cport\u003e"},{"line_number":101,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":".. option:: --port_id \u003cport\u003e"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_3bbd8802","line":101,"range":{"start_line":100,"start_character":8,"end_line":101,"end_character":21},"in_reply_to":"9a629dbe_a7dd5f44","updated":"2016-11-10 05:41:09.000000000","message":"Yes, I have made the change as I too feel it\u0027s more clearer this way. Ankur\u0027s comment was based on the summit discussion to have only one positional argument as it would avoid the confusion in the order of arguments sent. If the cores decide to go with only one positional argument, will change it again.","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"62814cd641584f0a19d22bf1242559ac768f5b10","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":".. option:: --port_id \u003cport\u003e"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    ID of the port with which floating IP needs to be associated with"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":".. describe:: \u003cfloating_ip\u003e"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_e4f8357f","line":105,"range":{"start_line":105,"start_character":64,"end_line":105,"end_character":69},"updated":"2016-11-08 11:15:15.000000000","message":"remove","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"c0e17a54dcef92eb71a75e9fb1619ca8f1cafb9a","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":".. option:: --port_id \u003cport\u003e"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    ID of the port with which floating IP needs to be associated with"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":".. describe:: \u003cfloating_ip\u003e"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_5bba3c0b","line":105,"range":{"start_line":105,"start_character":64,"end_line":105,"end_character":69},"in_reply_to":"9a629dbe_e4f8357f","updated":"2016-11-10 05:41:09.000000000","message":"Done","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"62814cd641584f0a19d22bf1242559ac768f5b10","unresolved":false,"context_lines":[{"line_number":112,"context_line":"floating ip disassociate"},{"line_number":113,"context_line":"------------------------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Disassociate floating IP from a fixed IP"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. program:: floating ip remove port"},{"line_number":118,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_44c2c134","line":115,"range":{"start_line":115,"start_character":32,"end_line":115,"end_character":40},"updated":"2016-11-08 11:15:15.000000000","message":"ditto L94","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"c0e17a54dcef92eb71a75e9fb1619ca8f1cafb9a","unresolved":false,"context_lines":[{"line_number":112,"context_line":"floating ip disassociate"},{"line_number":113,"context_line":"------------------------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Disassociate floating IP from a fixed IP"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. program:: floating ip remove port"},{"line_number":118,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_7b39c0a3","line":115,"range":{"start_line":115,"start_character":32,"end_line":115,"end_character":40},"in_reply_to":"9a629dbe_44c2c134","updated":"2016-11-10 05:41:09.000000000","message":"Done","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"62814cd641584f0a19d22bf1242559ac768f5b10","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Disassociate floating IP from a fixed IP"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. program:: floating ip remove port"},{"line_number":118,"context_line":".. code:: bash"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    os floating ip remove port"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_44fac143","line":117,"range":{"start_line":117,"start_character":25,"end_line":117,"end_character":31},"updated":"2016-11-08 11:15:15.000000000","message":"can we use \u0027dissociate\u0027 to match with the neutronclient? No need for \u0027port\u0027 in this command.","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"c0e17a54dcef92eb71a75e9fb1619ca8f1cafb9a","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Disassociate floating IP from a fixed IP"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. program:: floating ip remove port"},{"line_number":118,"context_line":".. code:: bash"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    os floating ip remove port"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a629dbe_fb4dd03e","line":117,"range":{"start_line":117,"start_character":25,"end_line":117,"end_character":31},"in_reply_to":"9a629dbe_44fac143","updated":"2016-11-10 05:41:09.000000000","message":"ditto: #L96","commit_id":"6458cb6a97280c4462f6d03c090831b4fd910074"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"floating ip associate"},{"line_number":92,"context_line":"----------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Associate floating IP to a port"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a629dbe_035bfaf6","line":92,"updated":"2016-11-10 09:29:05.000000000","message":"nits: title length must match the underline.","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"291ae24e7a0dd590559ea1cccefe45e29dc65475","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"floating ip associate"},{"line_number":92,"context_line":"----------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Associate floating IP to a port"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a629dbe_34fd526e","line":92,"in_reply_to":"9a629dbe_035bfaf6","updated":"2016-11-11 16:11:31.000000000","message":"Done","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"75cf0a8bab304678b540b4d70c5df92fcbd25822","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    Floating IP to display (IP address or ID)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"floating ip add port"},{"line_number":92,"context_line":"--------------------"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a629dbe_8b97c2ea","line":90,"updated":"2016-11-13 05:01:59.000000000","message":"One extra blank line","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"341dfd9a6594eeb25f32f99840593fc46fb0fcfc","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    Floating IP to display (IP address or ID)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"floating ip add port"},{"line_number":92,"context_line":"--------------------"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a77a97e_78094b31","line":90,"in_reply_to":"9a629dbe_8b97c2ea","updated":"2016-11-15 04:47:03.000000000","message":"Done","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"75cf0a8bab304678b540b4d70c5df92fcbd25822","unresolved":false,"context_lines":[{"line_number":97,"context_line":".. code:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os floating ip add port"},{"line_number":100,"context_line":"        [--fixed-ip-address \u003cfixed_ip\u003e]"},{"line_number":101,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":102,"context_line":"        \u003cport\u003e"},{"line_number":103,"context_line":"        "}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a629dbe_0b057244","line":100,"range":{"start_line":100,"start_character":29,"end_line":100,"end_character":37},"updated":"2016-11-13 05:01:59.000000000","message":"fixed-ip\nWe usually use \"-\" but not \"_\" in option name","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"341dfd9a6594eeb25f32f99840593fc46fb0fcfc","unresolved":false,"context_lines":[{"line_number":97,"context_line":".. code:: bash"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os floating ip add port"},{"line_number":100,"context_line":"        [--fixed-ip-address \u003cfixed_ip\u003e]"},{"line_number":101,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":102,"context_line":"        \u003cport\u003e"},{"line_number":103,"context_line":"        "}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a77a97e_b803e30e","line":100,"range":{"start_line":100,"start_character":29,"end_line":100,"end_character":37},"in_reply_to":"9a629dbe_0b057244","updated":"2016-11-15 04:47:03.000000000","message":"Done","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"75cf0a8bab304678b540b4d70c5df92fcbd25822","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os floating ip add port"},{"line_number":100,"context_line":"        [--fixed-ip-address \u003cfixed_ip\u003e]"},{"line_number":101,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":102,"context_line":"        \u003cport\u003e"},{"line_number":103,"context_line":"        "},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a629dbe_2b007633","line":101,"range":{"start_line":101,"start_character":9,"end_line":101,"end_character":20},"updated":"2016-11-13 05:01:59.000000000","message":"floating-ip","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"341dfd9a6594eeb25f32f99840593fc46fb0fcfc","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    os floating ip add port"},{"line_number":100,"context_line":"        [--fixed-ip-address \u003cfixed_ip\u003e]"},{"line_number":101,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":102,"context_line":"        \u003cport\u003e"},{"line_number":103,"context_line":"        "},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a77a97e_d3fec004","line":101,"range":{"start_line":101,"start_character":9,"end_line":101,"end_character":20},"in_reply_to":"9a629dbe_2b007633","updated":"2016-11-15 04:47:03.000000000","message":"Done","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"75cf0a8bab304678b540b4d70c5df92fcbd25822","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        [--fixed-ip-address \u003cfixed_ip\u003e]"},{"line_number":101,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":102,"context_line":"        \u003cport\u003e"},{"line_number":103,"context_line":"        "},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. option:: --fixed-ip-address \u003cfixed_ip\u003e"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a629dbe_ab9ac611","line":103,"updated":"2016-11-13 05:01:59.000000000","message":"One extra blank line","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"341dfd9a6594eeb25f32f99840593fc46fb0fcfc","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        [--fixed-ip-address \u003cfixed_ip\u003e]"},{"line_number":101,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":102,"context_line":"        \u003cport\u003e"},{"line_number":103,"context_line":"        "},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. option:: --fixed-ip-address \u003cfixed_ip\u003e"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a77a97e_f303bc0b","line":103,"in_reply_to":"9a629dbe_ab9ac611","updated":"2016-11-15 04:47:03.000000000","message":"Done","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"5733bf682fd4ffaeac360a581bed89b0d6e98515","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        \u003cport\u003e"},{"line_number":103,"context_line":"        "},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. option:: --fixed-ip-address \u003cfixed_ip\u003e"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    Fixed_ip of the port"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a629dbe_0c802346","line":105,"updated":"2016-11-14 00:33:36.000000000","message":"As to provide extra info (and to answer Huanxuan\u0027s question)\n\nThe fixed-ip-address is only necessary if a port has multiple IPs.\n\n\"IP address on the port (only required if port has multiple IPs).\"\n\nUse that for help text and put the same in the floating-ip.py file help text.","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"341dfd9a6594eeb25f32f99840593fc46fb0fcfc","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        \u003cport\u003e"},{"line_number":103,"context_line":"        "},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. option:: --fixed-ip-address \u003cfixed_ip\u003e"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    Fixed_ip of the port"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a77a97e_330e1435","line":105,"in_reply_to":"9a629dbe_0c802346","updated":"2016-11-15 04:47:03.000000000","message":"Done","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"75cf0a8bab304678b540b4d70c5df92fcbd25822","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. option:: --fixed-ip-address \u003cfixed_ip\u003e"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    Fixed_ip of the port"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":".. describe:: \u003cfloating_ip\u003e"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a629dbe_eba03e44","line":107,"range":{"start_line":107,"start_character":4,"end_line":107,"end_character":12},"updated":"2016-11-13 05:01:59.000000000","message":"Fixed IP","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"341dfd9a6594eeb25f32f99840593fc46fb0fcfc","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. option:: --fixed-ip-address \u003cfixed_ip\u003e"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    Fixed_ip of the port"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":".. describe:: \u003cfloating_ip\u003e"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a77a97e_b31a246d","line":107,"range":{"start_line":107,"start_character":4,"end_line":107,"end_character":12},"in_reply_to":"9a629dbe_eba03e44","updated":"2016-11-15 04:47:03.000000000","message":"Done","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"75cf0a8bab304678b540b4d70c5df92fcbd25822","unresolved":false,"context_lines":[{"line_number":123,"context_line":".. code:: bash"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    os floating ip remove port"},{"line_number":126,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. describe:: \u003cfloating_ip\u003e"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a629dbe_0b8c92d8","line":126,"range":{"start_line":126,"start_character":9,"end_line":126,"end_character":19},"updated":"2016-11-13 05:01:59.000000000","message":"floating-ip","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"341dfd9a6594eeb25f32f99840593fc46fb0fcfc","unresolved":false,"context_lines":[{"line_number":123,"context_line":".. code:: bash"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    os floating ip remove port"},{"line_number":126,"context_line":"        \u003cfloating_ip\u003e"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":".. describe:: \u003cfloating_ip\u003e"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a77a97e_d325e0ae","line":126,"range":{"start_line":126,"start_character":9,"end_line":126,"end_character":19},"in_reply_to":"9a629dbe_0b8c92d8","updated":"2016-11-15 04:47:03.000000000","message":"Done","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"7ee099ea4d60c49c21323078540e47a1efe145e9","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":100,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":101,"context_line":"        \u003cport\u003e"},{"line_number":102,"context_line":"        "},{"line_number":103,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    Fixed IP of the port(required only if port has multiple IPs)"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7a77a97e_593f3125","line":102,"updated":"2016-11-15 06:56:20.000000000","message":"nit: space","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"624a1138ce728057df6b468d59bf4ced77831a30","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":100,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":101,"context_line":"        \u003cport\u003e"},{"line_number":102,"context_line":"        "},{"line_number":103,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    Fixed IP of the port(required only if port has multiple IPs)"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7a77a97e_22493c32","line":102,"in_reply_to":"7a77a97e_593f3125","updated":"2016-11-16 01:59:11.000000000","message":"Done","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"7ee099ea4d60c49c21323078540e47a1efe145e9","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        "},{"line_number":103,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    Fixed IP of the port(required only if port has multiple IPs)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"7a77a97e_f9163da6","line":105,"updated":"2016-11-15 06:56:20.000000000","message":"of the port (required if..)\n\nadd the space","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"624a1138ce728057df6b468d59bf4ced77831a30","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        "},{"line_number":103,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    Fixed IP of the port(required only if port has multiple IPs)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"7a77a97e_425638d3","line":105,"in_reply_to":"7a77a97e_f9163da6","updated":"2016-11-16 01:59:11.000000000","message":"Done","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"e26c839c911959cdfa597869b394a625ea19c6e0","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":100,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":101,"context_line":"        \u003cport\u003e"},{"line_number":102,"context_line":" "},{"line_number":103,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    Fixed IP of the port (required only if port has multiple IPs)"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7a77a97e_6b69258b","line":102,"range":{"start_line":102,"start_character":0,"end_line":102,"end_character":1},"updated":"2016-11-16 14:47:05.000000000","message":"There\u0027s still a space here :)","commit_id":"a694eccdbc72f7966aed8077d2a1a2a66e6a57a3"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"10bc42ec28c677e35036e41c9b418195872912c7","unresolved":false,"context_lines":[{"line_number":165,"context_line":".. program:: floating ip add port"},{"line_number":166,"context_line":".. code:: bash"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    os floating ip add port"},{"line_number":169,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":170,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":171,"context_line":"        \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":15,"id":"3a461143_8bb01045","line":168,"updated":"2017-01-27 19:57:01.000000000","message":"Since it is 1 to 1. I think this should be set/unset","commit_id":"692a89b231417a2dd50202349d4aec3ab5a68344"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"776dddfc5fade0b59adbfa3f6c4eb279d5680344","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    Floating IP to display (IP address or ID)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"floating ip add port"},{"line_number":161,"context_line":"--------------------"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Associate floating IP to a port"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"3a461143_d4b2744b","line":161,"range":{"start_line":160,"start_character":11,"end_line":161,"end_character":19},"updated":"2017-01-31 00:28:49.000000000","message":"its still add port, is it ?","commit_id":"160a22006dc8829d10ff8f46288269e89986181f"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2489946c60218d47e96d038203ebdc25890e0975","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    Floating IP to display (IP address or ID)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"floating ip add port"},{"line_number":161,"context_line":"--------------------"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Associate floating IP to a port"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"3a461143_95ac3f8d","line":161,"range":{"start_line":160,"start_character":11,"end_line":161,"end_character":19},"in_reply_to":"3a461143_d4b2744b","updated":"2017-01-31 22:09:57.000000000","message":"Done","commit_id":"160a22006dc8829d10ff8f46288269e89986181f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"776dddfc5fade0b59adbfa3f6c4eb279d5680344","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":170,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":171,"context_line":"        \u003cport\u003e"},{"line_number":172,"context_line":" "},{"line_number":173,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    Fixed IP of the port (required only if port has multiple IPs)"}],"source_content_type":"text/x-rst","patch_set":17,"id":"3a461143_549e84b9","line":172,"range":{"start_line":172,"start_character":0,"end_line":172,"end_character":1},"updated":"2017-01-31 00:28:49.000000000","message":"Extra white space","commit_id":"160a22006dc8829d10ff8f46288269e89986181f"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2489946c60218d47e96d038203ebdc25890e0975","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":170,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":171,"context_line":"        \u003cport\u003e"},{"line_number":172,"context_line":" "},{"line_number":173,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    Fixed IP of the port (required only if port has multiple IPs)"}],"source_content_type":"text/x-rst","patch_set":17,"id":"3a461143_b5a77ba5","line":172,"range":{"start_line":172,"start_character":0,"end_line":172,"end_character":1},"in_reply_to":"3a461143_549e84b9","updated":"2017-01-31 22:09:57.000000000","message":"Done","commit_id":"160a22006dc8829d10ff8f46288269e89986181f"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"d2a1d26685016b16bd97d84fe9e0de99d714171e","unresolved":false,"context_lines":[{"line_number":165,"context_line":".. program:: floating ip set port"},{"line_number":166,"context_line":".. code:: bash"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    os floating ip set port"},{"line_number":169,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":170,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":171,"context_line":"        \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3a461143_35d38bd6","line":168,"updated":"2017-01-31 22:21:57.000000000","message":"Replace associate/disassociate with set/unset","commit_id":"124a1deaf3fd0d4a8c4cc856953c7947d4e5343a"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"666349b2b05679a37c061ecf1eb57f5fd64af648","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    Fixed IP of the port (required only if port has multiple IPs)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-rst","patch_set":32,"id":"fa31d9ce_6df9b14d","line":175,"range":{"start_line":175,"start_character":25,"end_line":175,"end_character":65},"updated":"2017-02-09 21:19:21.000000000","message":"i was meaning to say that we should add this highlighted text in the help for floating ip set command in floating_ip.py module","commit_id":"e0df8fab9655ddb9d6e5a70344c1cdb0abf298cc"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"756db66a84344a66f4156d07b82cd1293a6d8bd5","unresolved":false,"context_lines":[{"line_number":165,"context_line":".. program:: floating ip set port"},{"line_number":166,"context_line":".. code:: bash"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    os floating ip set port"},{"line_number":169,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":170,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":171,"context_line":"        \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":34,"id":"fa31d9ce_23cbe473","line":168,"range":{"start_line":168,"start_character":4,"end_line":168,"end_character":6},"updated":"2017-02-13 12:13:16.000000000","message":"openstack","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"99bd67b49bf27be789b78352e0f544490b529499","unresolved":false,"context_lines":[{"line_number":165,"context_line":".. program:: floating ip set port"},{"line_number":166,"context_line":".. code:: bash"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    os floating ip set port"},{"line_number":169,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":170,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":171,"context_line":"        \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":34,"id":"fa31d9ce_62501e0c","line":168,"range":{"start_line":168,"start_character":4,"end_line":168,"end_character":6},"in_reply_to":"fa31d9ce_23cbe473","updated":"2017-02-15 00:58:07.000000000","message":"Done","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"756db66a84344a66f4156d07b82cd1293a6d8bd5","unresolved":false,"context_lines":[{"line_number":190,"context_line":".. program:: floating ip unset port"},{"line_number":191,"context_line":".. code:: bash"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    os floating ip unset port"},{"line_number":194,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":".. describe:: \u003cfloating-ip\u003e"}],"source_content_type":"text/x-rst","patch_set":34,"id":"fa31d9ce_a3a514b6","line":193,"range":{"start_line":193,"start_character":4,"end_line":193,"end_character":6},"updated":"2017-02-13 12:13:16.000000000","message":"openstack","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"99bd67b49bf27be789b78352e0f544490b529499","unresolved":false,"context_lines":[{"line_number":190,"context_line":".. program:: floating ip unset port"},{"line_number":191,"context_line":".. code:: bash"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    os floating ip unset port"},{"line_number":194,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":".. describe:: \u003cfloating-ip\u003e"}],"source_content_type":"text/x-rst","patch_set":34,"id":"fa31d9ce_a2569603","line":193,"range":{"start_line":193,"start_character":4,"end_line":193,"end_character":6},"in_reply_to":"fa31d9ce_a3a514b6","updated":"2017-02-15 00:58:07.000000000","message":"Done","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"9993813955847d278e6c13e94247425da5263e6a","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    ID of the floating IP to disassociate"}],"source_content_type":"text/x-rst","patch_set":36,"id":"fa31d9ce_a5e67941","line":198,"updated":"2017-02-15 18:42:35.000000000","message":"also accepts the FIP IP addr too right?","commit_id":"26033c2071c2f3f7620c76fa3d8e9228c224f7b9"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"8f0b55ec6ad6536b8e0f30ff041f6d97c3bb7f0d","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    ID of the floating IP to disassociate"}],"source_content_type":"text/x-rst","patch_set":36,"id":"fa31d9ce_857a5522","line":198,"in_reply_to":"fa31d9ce_a5e67941","updated":"2017-02-15 18:49:30.000000000","message":"yes, done.","commit_id":"26033c2071c2f3f7620c76fa3d8e9228c224f7b9"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d393bf507f949afd946b8e529fd74261ec824a1c","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    ID/IP of the floating IP to associate"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":".. describe:: \u003cport\u003e"},{"line_number":182,"context_line":""}],"source_content_type":"text/x-rst","patch_set":37,"id":"da36d5c6_13164fa7","line":179,"updated":"2017-02-21 14:23:35.000000000","message":"According to the existing convention like L.158, how about\n\n  Floating IP to associate (IP address or ID)","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"e8cbeb90fa4a8799be56ed9bbab56b8f1c0e4db1","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    ID/IP of the floating IP to associate"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":".. describe:: \u003cport\u003e"},{"line_number":182,"context_line":""}],"source_content_type":"text/x-rst","patch_set":37,"id":"da36d5c6_ffeb3976","line":179,"in_reply_to":"da36d5c6_13164fa7","updated":"2017-02-21 16:07:11.000000000","message":"Done","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d393bf507f949afd946b8e529fd74261ec824a1c","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":".. describe:: \u003cport\u003e"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    ID of the port with which floating IP needs to be associated"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"floating ip unset port"},{"line_number":186,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":37,"id":"da36d5c6_d31cb7c3","line":183,"updated":"2017-02-21 14:23:35.000000000","message":"Teh same comment as above\n\n  Port with which floating IP needs to be assocaited (ID or name)","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"e8cbeb90fa4a8799be56ed9bbab56b8f1c0e4db1","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":".. describe:: \u003cport\u003e"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    ID of the port with which floating IP needs to be associated"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"floating ip unset port"},{"line_number":186,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":37,"id":"da36d5c6_3ffeb138","line":183,"in_reply_to":"da36d5c6_d31cb7c3","updated":"2017-02-21 16:07:11.000000000","message":"Done","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d393bf507f949afd946b8e529fd74261ec824a1c","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    ID/IP of the floating IP to disassociate"}],"source_content_type":"text/x-rst","patch_set":37,"id":"da36d5c6_338433d3","line":198,"range":{"start_line":198,"start_character":4,"end_line":198,"end_character":44},"updated":"2017-02-21 14:23:35.000000000","message":"Same as the above","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"e8cbeb90fa4a8799be56ed9bbab56b8f1c0e4db1","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    ID/IP of the floating IP to disassociate"}],"source_content_type":"text/x-rst","patch_set":37,"id":"da36d5c6_7ff8294a","line":198,"range":{"start_line":198,"start_character":4,"end_line":198,"end_character":44},"in_reply_to":"da36d5c6_338433d3","updated":"2017-02-21 16:07:11.000000000","message":"Done","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"216d10fce90ef241fc43853c18cb68b2c4aa228a","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    openstack floating ip set port"},{"line_number":169,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":170,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":171,"context_line":"        \u003cport\u003e"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":42,"id":"da36d5c6_541e91bb","line":171,"updated":"2017-02-23 17:24:15.000000000","message":"This is close; set commands have one positional arg.  This should be:\n  openstack floating ip set\n    --port \u003cport\u003e\n    [--fixed-ip-address \u003cfixed-ip\u003e]\n    \u003cfloating-ip\u003e\n\nsimilar on unset command","commit_id":"525abb504c34ce0a3e723432713beebdd687f35b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"c275602ac4464ef5b4076917b916b2f46c3df931","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    openstack floating ip set port"},{"line_number":169,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":170,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":171,"context_line":"        \u003cport\u003e"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":".. option:: --fixed-ip-address \u003cfixed-ip\u003e"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":42,"id":"da36d5c6_577f73aa","line":171,"in_reply_to":"da36d5c6_541e91bb","updated":"2017-02-23 17:59:41.000000000","message":"Done. Unset doesn\u0027t need port_id.","commit_id":"525abb504c34ce0a3e723432713beebdd687f35b"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"7f26720761bdd6571641339c601e66aab749ecd7","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    Floating IP to associate (IP address or ID)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":".. describe:: \u003cport\u003e"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    Port with which floating IP needs to be associated (ID or name)"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-rst","patch_set":44,"id":"da36d5c6_9b1e64b9","line":181,"updated":"2017-02-24 03:08:05.000000000","message":"nit: --port is an .. option:: now :)","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b6e6852a78ac33fafd2120d1d9a1d8f83dd8fd8","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    Floating IP to associate (IP address or ID)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":".. describe:: \u003cport\u003e"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    Port with which floating IP needs to be associated (ID or name)"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-rst","patch_set":44,"id":"da36d5c6_c3fd456f","line":181,"in_reply_to":"da36d5c6_9b1e64b9","updated":"2017-02-24 15:07:34.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"185781a2fc31e5dcb7021591308b35de8c79a357","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":".. option:: --port \u003cport\u003e"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    Port with which floating IP needs to be associated (ID or name)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":182,"context_line":""}],"source_content_type":"text/x-rst","patch_set":46,"id":"da36d5c6_b905e211","line":179,"range":{"start_line":179,"start_character":56,"end_line":179,"end_character":66},"updated":"2017-02-24 15:35:19.000000000","message":"According to the OSC convention, \"name or ID\" looks preferred.","commit_id":"3b93d669cc6ae2642eca5ee8c595b2beec9dd107"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"ce903c4e522a0e5a4f4c7dd8e35eb660749b9b22","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":".. option:: --port \u003cport\u003e"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    Port with which floating IP needs to be associated (ID or name)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":182,"context_line":""}],"source_content_type":"text/x-rst","patch_set":46,"id":"da36d5c6_12e2442f","line":179,"range":{"start_line":179,"start_character":56,"end_line":179,"end_character":66},"in_reply_to":"da36d5c6_b905e211","updated":"2017-02-24 16:53:53.000000000","message":"Done","commit_id":"3b93d669cc6ae2642eca5ee8c595b2beec9dd107"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b77ede4a2eaa96e479cc7c0f6dbd36ae2a79607","unresolved":false,"context_lines":[{"line_number":165,"context_line":".. program:: floating ip set port"},{"line_number":166,"context_line":".. code:: bash"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    openstack floating ip set port"},{"line_number":169,"context_line":"        --port \u003cport\u003e"},{"line_number":170,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":171,"context_line":"        \u003cfloating-ip\u003e"}],"source_content_type":"text/x-rst","patch_set":55,"id":"ba2be162_fa21d89e","line":168,"updated":"2017-03-06 15:56:38.000000000","message":"Please remove \"port\" from the command:\n\n openstack floating ip set\n    --port \u003cport\u003e\n    [--fixed-ip-address \u003cfixed-ip\u003e]\n    \u003cfloating-ip\u003e","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2379538e0c3069eec784959ca956431ee7f19787","unresolved":false,"context_lines":[{"line_number":165,"context_line":".. program:: floating ip set port"},{"line_number":166,"context_line":".. code:: bash"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    openstack floating ip set port"},{"line_number":169,"context_line":"        --port \u003cport\u003e"},{"line_number":170,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":171,"context_line":"        \u003cfloating-ip\u003e"}],"source_content_type":"text/x-rst","patch_set":55,"id":"9a30ddce_c8700ba7","line":168,"in_reply_to":"ba2be162_fa21d89e","updated":"2017-03-10 17:01:25.000000000","message":"Done","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b77ede4a2eaa96e479cc7c0f6dbd36ae2a79607","unresolved":false,"context_lines":[{"line_number":191,"context_line":".. program:: floating ip unset port"},{"line_number":192,"context_line":".. code:: bash"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    openstack floating ip unset port"},{"line_number":195,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":".. describe:: \u003cfloating-ip\u003e"}],"source_content_type":"text/x-rst","patch_set":55,"id":"ba2be162_fa6f18c1","line":194,"updated":"2017-03-06 15:56:38.000000000","message":"Please remove \"port\" from the command:\n\n openstack floating ip unset\n    --port\n    \u003cfloating-ip\u003e","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2379538e0c3069eec784959ca956431ee7f19787","unresolved":false,"context_lines":[{"line_number":191,"context_line":".. program:: floating ip unset port"},{"line_number":192,"context_line":".. code:: bash"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    openstack floating ip unset port"},{"line_number":195,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":".. describe:: \u003cfloating-ip\u003e"}],"source_content_type":"text/x-rst","patch_set":55,"id":"9a30ddce_286287d8","line":194,"in_reply_to":"ba2be162_fa6f18c1","updated":"2017-03-10 17:01:25.000000000","message":"Done","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"af5c0554f95dd03d5e8c91eff05a198dbc731b58","unresolved":false,"context_lines":[{"line_number":160,"context_line":"floating ip set"},{"line_number":161,"context_line":"---------------"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Associate floating IP to a port"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":".. program:: floating ip set"},{"line_number":166,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":64,"id":"3a1ff146_f4953240","line":163,"updated":"2017-03-15 14:51:40.000000000","message":"Nit: Since this is now a generic set command. The help text needs to be changed to generic:\n\nSet floating IP properties","commit_id":"7e9054dc4be6ae331e8305250785e63e6eba3031"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"af5c0554f95dd03d5e8c91eff05a198dbc731b58","unresolved":false,"context_lines":[{"line_number":186,"context_line":"floating ip unset"},{"line_number":187,"context_line":"-----------------"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Disassociate floating IP from a port"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":".. program:: floating ip unset"},{"line_number":192,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":64,"id":"3a1ff146_948dde33","line":189,"updated":"2017-03-15 14:51:40.000000000","message":"Ditto.\n\nAnd make sure to change the help text in floating_ip.py","commit_id":"7e9054dc4be6ae331e8305250785e63e6eba3031"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    Fixed IP of the port (required only if port has multiple IPs)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":".. option:: --port \u003cport\u003e"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    Port with which floating IP needs to be associated (ID or name)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-rst","patch_set":65,"id":"1a1ced50_de3152ee","line":163,"updated":"2017-03-17 09:28:18.000000000","message":"please keep the order same with above code example, make users easier to find option.\n\n.. option:: --port\n\n.. option:: --fixed-ip-address","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":".. option:: --port \u003cport\u003e"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    Port with which floating IP needs to be associated (ID or name)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":65,"id":"1a1ced50_fe044ec7","line":165,"range":{"start_line":165,"start_character":20,"end_line":165,"end_character":31},"updated":"2017-03-17 09:28:18.000000000","message":"please add anchor for describe:: \u003cfloating-ip\u003e and ref it at here\n\n    .. _floating_ip_set-floating-ip:\n    .. describe:: \u003cfloating-ip\u003e","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":".. option:: --port"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    Disassociate any port associated with the floating ip"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":65,"id":"1a1ced50_5e1482f4","line":199,"range":{"start_line":199,"start_character":46,"end_line":199,"end_character":57},"updated":"2017-03-17 09:28:18.000000000","message":"ditto\n\nAdd anchor","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":".. option:: --port"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    Disassociate any port associated with the floating ip"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":".. describe:: \u003cfloating-ip\u003e"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":65,"id":"1a1ced50_be62d6d6","line":199,"range":{"start_line":199,"start_character":55,"end_line":199,"end_character":57},"updated":"2017-03-17 09:28:18.000000000","message":"nits: s/ip/IP/","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"63ea90a89095c521e78408054a1e7524113b8173","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    openstack floating ip set"},{"line_number":155,"context_line":"        --port \u003cport\u003e"},{"line_number":156,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":157,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":".. option:: --port \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":74,"id":"dfeb2761_198b4d6e","line":156,"updated":"2017-04-04 21:30:59.000000000","message":"A docs cleanup for --ficed-ip-address options (and other things) merged on 3Apr that changes how this should be formatted to make the metavar more descriptive of the type of argument and not just repeating the option name:\n\n[--fixed-ip-address \u003cip-address\u003e]\n\nPlease update all of the occurrences here and in the help strings.","commit_id":"344d5eed14a2c23a29f402014c0584e5082bf81a"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"63ea90a89095c521e78408054a1e7524113b8173","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    openstack floating ip set"},{"line_number":155,"context_line":"        --port \u003cport\u003e"},{"line_number":156,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":157,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":".. option:: --port \u003cport\u003e"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":74,"id":"dfeb2761_d9ce05b3","line":157,"updated":"2017-04-04 21:30:59.000000000","message":"And I didn\u0027t change the \u003cfloating-ip\u003e metavars and probably should have.  You don\u0027t need to do that here since there are others that also need changing.\n\nDo you have an opinion on using \u003cip-address\u003e or \u003cfloating-ip-address\u003e?  I think the lattter since it may be less clear with a positional argument what type of IP address is required, even though it _is_ the resource name.","commit_id":"344d5eed14a2c23a29f402014c0584e5082bf81a"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"d6d500b02625e49a43fcf104ed81e32af2a28861","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    openstack floating ip set"},{"line_number":155,"context_line":"        --port \u003cport\u003e"},{"line_number":156,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":157,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":".. option:: --port \u003cport\u003e"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":74,"id":"bff0334d_daaa0518","line":157,"in_reply_to":"dfeb2761_d9ce05b3","updated":"2017-04-05 15:10:28.000000000","message":"I think \u003cfloating-ip-address\u003e is appropriate.","commit_id":"344d5eed14a2c23a29f402014c0584e5082bf81a"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"77786c205205b4ea2cb7bb99ef8309d446ff598a","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    openstack floating ip set"},{"line_number":155,"context_line":"        --port \u003cport\u003e"},{"line_number":156,"context_line":"        [--fixed-ip-address \u003cfixed-ip\u003e]"},{"line_number":157,"context_line":"        \u003cfloating-ip\u003e"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":".. option:: --port \u003cport\u003e"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":74,"id":"dfeb2761_e1b0eb45","line":157,"in_reply_to":"dfeb2761_d9ce05b3","updated":"2017-04-05 01:16:57.000000000","message":"IMHO, we need to keep it as the Floating IP Address...","commit_id":"344d5eed14a2c23a29f402014c0584e5082bf81a"}],"openstackclient/network/v2/floating_ip.py":[{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"f866e522fdda01dbec1a46b28e1adc68ee813564","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    def take_action(self, parsed_args):"},{"line_number":343,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":344,"context_line":"        client.update_ip(parsed_args.floatingip_id,"},{"line_number":345,"context_line":"                         port_id\u003dparsed_args.port_id)"},{"line_number":346,"context_line":"        print(_(\u0027Associated floating IP %s\u0027) % parsed_args.floatingip_id)"},{"line_number":347,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da6895a0_37f34f75","line":344,"updated":"2016-10-21 18:36:20.000000000","message":"floatingip_id \u003d parsed_args.floatingip_id","commit_id":"d1431eab0aa680726f417aaf29e53a056ccc96d3"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":321,"context_line":"            client, parsed_args)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"class AssociateFloatingIP(command.Command):"},{"line_number":325,"context_line":"    \"\"\"Create a mapping between a floating IP and a port\"\"\""},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_296ffd2b","line":324,"range":{"start_line":324,"start_character":6,"end_line":324,"end_character":25},"updated":"2016-11-10 09:29:05.000000000","message":"please add the new class in alpha order.","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"291ae24e7a0dd590559ea1cccefe45e29dc65475","unresolved":false,"context_lines":[{"line_number":321,"context_line":"            client, parsed_args)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"class AssociateFloatingIP(command.Command):"},{"line_number":325,"context_line":"    \"\"\"Create a mapping between a floating IP and a port\"\"\""},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_b4c32237","line":324,"range":{"start_line":324,"start_character":6,"end_line":324,"end_character":25},"in_reply_to":"9a629dbe_296ffd2b","updated":"2016-11-11 16:11:31.000000000","message":"Done","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        parser \u003d super(AssociateFloatingIP, self).get_parser(prog_name)"},{"line_number":329,"context_line":"        parser.add_argument("},{"line_number":330,"context_line":"            \u0027floatingip_id\u0027,"},{"line_number":331,"context_line":"            metavar\u003d\u0027\u003cfloatingip_id\u003e\u0027,"},{"line_number":332,"context_line":"            help\u003d_(\u0027ID of the floating IP to associate.\u0027))"},{"line_number":333,"context_line":"        parser.add_argument("},{"line_number":334,"context_line":"            \u0027port\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_43afb229","line":331,"range":{"start_line":331,"start_character":22,"end_line":331,"end_character":35},"updated":"2016-11-10 09:29:05.000000000","message":"it\u0027s not consistent with the RST document.","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"291ae24e7a0dd590559ea1cccefe45e29dc65475","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        parser \u003d super(AssociateFloatingIP, self).get_parser(prog_name)"},{"line_number":329,"context_line":"        parser.add_argument("},{"line_number":330,"context_line":"            \u0027floatingip_id\u0027,"},{"line_number":331,"context_line":"            metavar\u003d\u0027\u003cfloatingip_id\u003e\u0027,"},{"line_number":332,"context_line":"            help\u003d_(\u0027ID of the floating IP to associate.\u0027))"},{"line_number":333,"context_line":"        parser.add_argument("},{"line_number":334,"context_line":"            \u0027port\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_d4bed6ac","line":331,"range":{"start_line":331,"start_character":22,"end_line":331,"end_character":35},"in_reply_to":"9a629dbe_43afb229","updated":"2016-11-11 16:11:31.000000000","message":"Done","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":333,"context_line":"        parser.add_argument("},{"line_number":334,"context_line":"            \u0027port\u0027,"},{"line_number":335,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":336,"context_line":"            help\u003d_(\u0027ID or name of the port to be associated with the \u0027"},{"line_number":337,"context_line":"                   \u0027floating IP.\u0027))"},{"line_number":338,"context_line":"        parser.add_argument("},{"line_number":339,"context_line":"            \u0027--fixed-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_a9386da1","line":336,"range":{"start_line":336,"start_character":26,"end_line":336,"end_character":30},"updated":"2016-11-10 09:29:05.000000000","message":"I don\u0027t think the name is supported according to code implementation.","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"291ae24e7a0dd590559ea1cccefe45e29dc65475","unresolved":false,"context_lines":[{"line_number":333,"context_line":"        parser.add_argument("},{"line_number":334,"context_line":"            \u0027port\u0027,"},{"line_number":335,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":336,"context_line":"            help\u003d_(\u0027ID or name of the port to be associated with the \u0027"},{"line_number":337,"context_line":"                   \u0027floating IP.\u0027))"},{"line_number":338,"context_line":"        parser.add_argument("},{"line_number":339,"context_line":"            \u0027--fixed-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_14e3eed9","line":336,"range":{"start_line":336,"start_character":26,"end_line":336,"end_character":30},"in_reply_to":"9a629dbe_a9386da1","updated":"2016-11-11 16:11:31.000000000","message":"Done","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            help\u003d_(\u0027ID or name of the port to be associated with the \u0027"},{"line_number":337,"context_line":"                   \u0027floating IP.\u0027))"},{"line_number":338,"context_line":"        parser.add_argument("},{"line_number":339,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":340,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":341,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":342,"context_line":"            help\u003d_(\"Fixed IP address mapped to the floating IP\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_4967d1e8","line":339,"range":{"start_line":339,"start_character":13,"end_line":339,"end_character":31},"updated":"2016-11-10 09:29:05.000000000","message":"I don\u0027t see the optional argument is RST document.","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"291ae24e7a0dd590559ea1cccefe45e29dc65475","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            help\u003d_(\u0027ID or name of the port to be associated with the \u0027"},{"line_number":337,"context_line":"                   \u0027floating IP.\u0027))"},{"line_number":338,"context_line":"        parser.add_argument("},{"line_number":339,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":340,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":341,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":342,"context_line":"            help\u003d_(\"Fixed IP address mapped to the floating IP\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_54e9e6b5","line":339,"range":{"start_line":339,"start_character":13,"end_line":339,"end_character":31},"in_reply_to":"9a629dbe_4967d1e8","updated":"2016-11-11 16:11:31.000000000","message":"Done","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        )"},{"line_number":344,"context_line":"        return parser"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    def take_action(self, parsed_args):"},{"line_number":347,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        attrs \u003d {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_4953516b","line":346,"range":{"start_line":346,"start_character":8,"end_line":346,"end_character":19},"updated":"2016-11-10 09:29:05.000000000","message":"we should implement \"take_action_network\" and \"take_action_compute\" one by one.","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"291ae24e7a0dd590559ea1cccefe45e29dc65475","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        )"},{"line_number":344,"context_line":"        return parser"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    def take_action(self, parsed_args):"},{"line_number":347,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        attrs \u003d {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_daa43d4c","line":346,"range":{"start_line":346,"start_character":8,"end_line":346,"end_character":19},"in_reply_to":"9a629dbe_4953516b","updated":"2016-11-11 16:11:31.000000000","message":"Will fix it in the next patch.","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        attrs \u003d {}"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        if parsed_args.port:"},{"line_number":352,"context_line":"            attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"        if parsed_args.fixed_ip_address:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_29fb7dc2","line":351,"updated":"2016-11-10 09:29:05.000000000","message":"\"port\" is positional argument. the \"if\" is not necessary.","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"291ae24e7a0dd590559ea1cccefe45e29dc65475","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        attrs \u003d {}"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        if parsed_args.port:"},{"line_number":352,"context_line":"            attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"        if parsed_args.fixed_ip_address:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_74d42aeb","line":351,"in_reply_to":"9a629dbe_29fb7dc2","updated":"2016-11-11 16:11:31.000000000","message":"Done","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        client.update_ip(floatingip_id\u003dparsed_args.floatingip_id,"},{"line_number":358,"context_line":"                         **attrs)"},{"line_number":359,"context_line":"        print(_(\u0027Associated floating IP %s\u0027) % parsed_args.floatingip_id)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"class DisassociateFloatingIP(command.Command):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_899ac96c","line":359,"range":{"start_line":359,"start_character":8,"end_line":359,"end_character":13},"updated":"2016-11-10 09:29:05.000000000","message":"do not use \"print\" to output message, use LOG instead of.","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"291ae24e7a0dd590559ea1cccefe45e29dc65475","unresolved":false,"context_lines":[{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        client.update_ip(floatingip_id\u003dparsed_args.floatingip_id,"},{"line_number":358,"context_line":"                         **attrs)"},{"line_number":359,"context_line":"        print(_(\u0027Associated floating IP %s\u0027) % parsed_args.floatingip_id)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"class DisassociateFloatingIP(command.Command):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_7ab33198","line":359,"range":{"start_line":359,"start_character":8,"end_line":359,"end_character":13},"in_reply_to":"9a629dbe_899ac96c","updated":"2016-11-11 16:11:31.000000000","message":"Is there a particular reason for that?","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":365,"context_line":"    def get_parser(self, prog_name):"},{"line_number":366,"context_line":"        parser \u003d super(DisassociateFloatingIP, self).get_parser(prog_name)"},{"line_number":367,"context_line":"        parser.add_argument("},{"line_number":368,"context_line":"            \u0027floatingip_id\u0027, metavar\u003d\u0027FLOATINGIP_ID\u0027,"},{"line_number":369,"context_line":"            help\u003d_(\u0027ID of the floating IP to disassociate.\u0027))"},{"line_number":370,"context_line":"        return parser"},{"line_number":371,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_89bf29a9","line":368,"range":{"start_line":368,"start_character":38,"end_line":368,"end_character":51},"updated":"2016-11-10 09:29:05.000000000","message":"not consistent with RST doc, and format should be \u003cfloating_ip\u003e","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"291ae24e7a0dd590559ea1cccefe45e29dc65475","unresolved":false,"context_lines":[{"line_number":365,"context_line":"    def get_parser(self, prog_name):"},{"line_number":366,"context_line":"        parser \u003d super(DisassociateFloatingIP, self).get_parser(prog_name)"},{"line_number":367,"context_line":"        parser.add_argument("},{"line_number":368,"context_line":"            \u0027floatingip_id\u0027, metavar\u003d\u0027FLOATINGIP_ID\u0027,"},{"line_number":369,"context_line":"            help\u003d_(\u0027ID of the floating IP to disassociate.\u0027))"},{"line_number":370,"context_line":"        return parser"},{"line_number":371,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_94cffe54","line":368,"range":{"start_line":368,"start_character":38,"end_line":368,"end_character":51},"in_reply_to":"9a629dbe_89bf29a9","updated":"2016-11-11 16:11:31.000000000","message":"Done","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"a28641e074b718d3eb381e8294e5a763f9943b8b","unresolved":false,"context_lines":[{"line_number":372,"context_line":"    def take_action(self, parsed_args):"},{"line_number":373,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":374,"context_line":"        client.update_ip(floatingip_id\u003dparsed_args.floatingip_id, port_id\u003dNone)"},{"line_number":375,"context_line":"        print(_(\u0027Disassociate floating IP %s\u0027) % parsed_args.floatingip_id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_099cf95b","line":375,"range":{"start_line":375,"start_character":8,"end_line":375,"end_character":13},"updated":"2016-11-10 09:29:05.000000000","message":"ditto","commit_id":"93ec0f73237f7325e6203ec9536bd702cdec568c"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"5733bf682fd4ffaeac360a581bed89b0d6e98515","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    def take_action(self, parsed_args):"},{"line_number":88,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        attrs \u003d {}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9a629dbe_0cf743f6","line":90,"updated":"2016-11-14 00:33:36.000000000","message":"attrs \u003d _get_attrs(self.app.client_manager, parsed_args)\n\nuse the existing _get_attrs function.","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"5733bf682fd4ffaeac360a581bed89b0d6e98515","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        client.update_ip(floating_ip\u003dparsed_args.floating_ip,"},{"line_number":98,"context_line":"                         **attrs)"},{"line_number":99,"context_line":"        print(_(\u0027Associated floating IP %s\u0027) % parsed_args.floating_ip)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"class CreateFloatingIP(common.NetworkAndComputeShowOne):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a629dbe_8c8c3381","line":99,"updated":"2016-11-14 00:33:36.000000000","message":"no print","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"341dfd9a6594eeb25f32f99840593fc46fb0fcfc","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        client.update_ip(floating_ip\u003dparsed_args.floating_ip,"},{"line_number":98,"context_line":"                         **attrs)"},{"line_number":99,"context_line":"        print(_(\u0027Associated floating IP %s\u0027) % parsed_args.floating_ip)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"class CreateFloatingIP(common.NetworkAndComputeShowOne):"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_f3781c92","line":99,"in_reply_to":"9a629dbe_8c8c3381","updated":"2016-11-15 04:47:03.000000000","message":"Done","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"7ee099ea4d60c49c21323078540e47a1efe145e9","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        parser.add_argument("},{"line_number":75,"context_line":"            \u0027port\u0027,"},{"line_number":76,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":77,"context_line":"            help\u003d_(\u0027ID of the port to be associated with the \u0027"},{"line_number":78,"context_line":"                   \u0027floating IP.\u0027))"},{"line_number":79,"context_line":"        parser.add_argument("},{"line_number":80,"context_line":"            \u0027--fixed-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_9920e9f9","line":77,"updated":"2016-11-15 06:56:20.000000000","message":"match rst","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"624a1138ce728057df6b468d59bf4ced77831a30","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        parser.add_argument("},{"line_number":75,"context_line":"            \u0027port\u0027,"},{"line_number":76,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":77,"context_line":"            help\u003d_(\u0027ID of the port to be associated with the \u0027"},{"line_number":78,"context_line":"                   \u0027floating IP.\u0027))"},{"line_number":79,"context_line":"        parser.add_argument("},{"line_number":80,"context_line":"            \u0027--fixed-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_326ee001","line":77,"in_reply_to":"7a77a97e_9920e9f9","updated":"2016-11-16 01:59:11.000000000","message":"Done","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"7ee099ea4d60c49c21323078540e47a1efe145e9","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":81,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":82,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":83,"context_line":"            help\u003d_(\"Fixed IP address mapped to the floating IP\")"},{"line_number":84,"context_line":"        )"},{"line_number":85,"context_line":"        return parser"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_b91da5bf","line":83,"updated":"2016-11-15 06:56:20.000000000","message":"ditto","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"624a1138ce728057df6b468d59bf4ced77831a30","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":81,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":82,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":83,"context_line":"            help\u003d_(\"Fixed IP address mapped to the floating IP\")"},{"line_number":84,"context_line":"        )"},{"line_number":85,"context_line":"        return parser"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_727858c5","line":83,"in_reply_to":"7a77a97e_b91da5bf","updated":"2016-11-16 01:59:11.000000000","message":"Done","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"7ee099ea4d60c49c21323078540e47a1efe145e9","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    def take_action(self, parsed_args):"},{"line_number":88,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":89,"context_line":"        attrs \u003d {}"},{"line_number":90,"context_line":"        attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        if parsed_args.fixed_ip_address:"},{"line_number":93,"context_line":"            attrs[\u0027fixed_ip_address\u0027] \u003d parsed_args.fixed_ip_address"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_596d7131","line":90,"updated":"2016-11-15 06:56:20.000000000","message":"all attrs stuff should be done in the _get_attrs. \n\nPass parsed_args into the function","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"624a1138ce728057df6b468d59bf4ced77831a30","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    def take_action(self, parsed_args):"},{"line_number":88,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":89,"context_line":"        attrs \u003d {}"},{"line_number":90,"context_line":"        attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        if parsed_args.fixed_ip_address:"},{"line_number":93,"context_line":"            attrs[\u0027fixed_ip_address\u0027] \u003d parsed_args.fixed_ip_address"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_6d14f943","line":90,"in_reply_to":"7a77a97e_596d7131","updated":"2016-11-16 01:59:11.000000000","message":"parsed_args doesn\u0027t have network attribute. So when it enters the function, where it checks for parsed_args.network it errors out.","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"7ee099ea4d60c49c21323078540e47a1efe145e9","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        if parsed_args.fixed_ip_address:"},{"line_number":93,"context_line":"            attrs[\u0027fixed_ip_address\u0027] \u003d parsed_args.fixed_ip_address"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        client.update_ip(floating_ip\u003dparsed_args.floating_ip,"},{"line_number":96,"context_line":"                         **attrs)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_f9cb9d1c","line":95,"updated":"2016-11-15 06:56:20.000000000","message":"you can just pass (parsed_args.floating_ip, ** attrs)","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"624a1138ce728057df6b468d59bf4ced77831a30","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        if parsed_args.fixed_ip_address:"},{"line_number":93,"context_line":"            attrs[\u0027fixed_ip_address\u0027] \u003d parsed_args.fixed_ip_address"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        client.update_ip(floating_ip\u003dparsed_args.floating_ip,"},{"line_number":96,"context_line":"                         **attrs)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_0d8c6534","line":95,"in_reply_to":"7a77a97e_f9cb9d1c","updated":"2016-11-16 01:59:11.000000000","message":"both are same right?","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"7ee099ea4d60c49c21323078540e47a1efe145e9","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def take_action(self, parsed_args):"},{"line_number":243,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":244,"context_line":"        client.update_ip(floating_ip\u003dparsed_args.floating_ip, port_id\u003dNone)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"class ListFloatingIP(common.NetworkAndComputeLister):"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_d99421ea","line":244,"updated":"2016-11-15 06:56:20.000000000","message":"ditto above","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"776dddfc5fade0b59adbfa3f6c4eb279d5680344","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        \"No %s found for %s\" % (_floating_ip.FloatingIP.__name__, name_or_id))"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":138,"context_line":"    \"\"\"Create a mapping between a floating IP and a port\"\"\""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a461143_14907c94","line":137,"range":{"start_line":137,"start_character":6,"end_line":137,"end_character":19},"updated":"2017-01-31 00:28:49.000000000","message":"This would come after ListIPFloating class ( Alphabetic)","commit_id":"160a22006dc8829d10ff8f46288269e89986181f"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2489946c60218d47e96d038203ebdc25890e0975","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        \"No %s found for %s\" % (_floating_ip.FloatingIP.__name__, name_or_id))"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":138,"context_line":"    \"\"\"Create a mapping between a floating IP and a port\"\"\""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a461143_15af6f7d","line":137,"range":{"start_line":137,"start_character":6,"end_line":137,"end_character":19},"in_reply_to":"3a461143_14907c94","updated":"2017-01-31 22:09:57.000000000","message":"Done","commit_id":"160a22006dc8829d10ff8f46288269e89986181f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"776dddfc5fade0b59adbfa3f6c4eb279d5680344","unresolved":false,"context_lines":[{"line_number":324,"context_line":"            client, parsed_args)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":328,"context_line":"    \"\"\"Remove a mapping between a floating IP and a fixed IP\"\"\""},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a461143_d49994c5","line":327,"range":{"start_line":327,"start_character":6,"end_line":327,"end_character":21},"updated":"2017-01-31 00:28:49.000000000","message":"This would come after ShowIPFloating class","commit_id":"160a22006dc8829d10ff8f46288269e89986181f"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2489946c60218d47e96d038203ebdc25890e0975","unresolved":false,"context_lines":[{"line_number":324,"context_line":"            client, parsed_args)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":328,"context_line":"    \"\"\"Remove a mapping between a floating IP and a fixed IP\"\"\""},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a461143_55cd7764","line":327,"range":{"start_line":327,"start_character":6,"end_line":327,"end_character":21},"in_reply_to":"3a461143_d49994c5","updated":"2017-01-31 22:09:57.000000000","message":"Done","commit_id":"160a22006dc8829d10ff8f46288269e89986181f"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"d2a1d26685016b16bd97d84fe9e0de99d714171e","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":461,"context_line":"    \"\"\"Create a mapping between a floating IP and a port\"\"\""},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    def get_parser(self, prog_name):"},{"line_number":464,"context_line":"        parser \u003d super(SetFloatingIP, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":18,"id":"3a461143_15e76fac","line":461,"updated":"2017-01-31 22:21:57.000000000","message":"match .rst and with changes to assoc/disassoc set/unset","commit_id":"124a1deaf3fd0d4a8c4cc856953c7947d4e5343a"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"8a50d5e928de7aed05f840eebd08e5f2221d76ce","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":461,"context_line":"    \"\"\"Create a mapping between a floating IP and a port\"\"\""},{"line_number":462,"context_line":"    ip_cache \u003d []"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_f296b53c","line":461,"range":{"start_line":461,"start_character":4,"end_line":461,"end_character":59},"updated":"2017-02-08 01:58:56.000000000","message":"_description\u003d","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"8bb1aae2ee7dfc9d8bddc324010470802f0d07b7","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":461,"context_line":"    \"\"\"Create a mapping between a floating IP and a port\"\"\""},{"line_number":462,"context_line":"    ip_cache \u003d []"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_ab449749","line":461,"range":{"start_line":461,"start_character":4,"end_line":461,"end_character":59},"in_reply_to":"1a430d35_f296b53c","updated":"2017-02-08 16:04:39.000000000","message":"Done","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"8a50d5e928de7aed05f840eebd08e5f2221d76ce","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        parser \u003d super(SetFloatingIP, self).get_parser(prog_name)"},{"line_number":466,"context_line":"        parser.add_argument("},{"line_number":467,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":468,"context_line":"            metavar\u003d\u0027\u003cfloating_ip\u003e\u0027,"},{"line_number":469,"context_line":"            help\u003d_(\u0027ID of the floating IP to associate.\u0027))"},{"line_number":470,"context_line":"        parser.add_argument("},{"line_number":471,"context_line":"            \u0027port\u0027,"}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_52c94958","line":468,"range":{"start_line":468,"start_character":22,"end_line":468,"end_character":33},"updated":"2017-02-08 01:58:56.000000000","message":"floating-ip?","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"8bb1aae2ee7dfc9d8bddc324010470802f0d07b7","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        parser \u003d super(SetFloatingIP, self).get_parser(prog_name)"},{"line_number":466,"context_line":"        parser.add_argument("},{"line_number":467,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":468,"context_line":"            metavar\u003d\u0027\u003cfloating_ip\u003e\u0027,"},{"line_number":469,"context_line":"            help\u003d_(\u0027ID of the floating IP to associate.\u0027))"},{"line_number":470,"context_line":"        parser.add_argument("},{"line_number":471,"context_line":"            \u0027port\u0027,"}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_cb3f23b2","line":468,"range":{"start_line":468,"start_character":22,"end_line":468,"end_character":33},"in_reply_to":"1a430d35_52c94958","updated":"2017-02-08 16:04:39.000000000","message":"Done","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"8a50d5e928de7aed05f840eebd08e5f2221d76ce","unresolved":false,"context_lines":[{"line_number":476,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":477,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":478,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":479,"context_line":"            help\u003d_(\"Fixed IP of the port\")"},{"line_number":480,"context_line":"        )"},{"line_number":481,"context_line":"        return parser"},{"line_number":482,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_12ea61ac","line":479,"range":{"start_line":479,"start_character":20,"end_line":479,"end_character":40},"updated":"2017-02-08 01:58:56.000000000","message":"this is not necessarily a reqd option correct? maybe add that in the help","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"8bb1aae2ee7dfc9d8bddc324010470802f0d07b7","unresolved":false,"context_lines":[{"line_number":476,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":477,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":478,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":479,"context_line":"            help\u003d_(\"Fixed IP of the port\")"},{"line_number":480,"context_line":"        )"},{"line_number":481,"context_line":"        return parser"},{"line_number":482,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_2b77c7a0","line":479,"range":{"start_line":479,"start_character":20,"end_line":479,"end_character":40},"in_reply_to":"1a430d35_12ea61ac","updated":"2017-02-08 16:04:39.000000000","message":"Done","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"8a50d5e928de7aed05f840eebd08e5f2221d76ce","unresolved":false,"context_lines":[{"line_number":557,"context_line":""},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":560,"context_line":"    \"\"\"Remove a mapping between a floating IP and a fixed IP\"\"\""},{"line_number":561,"context_line":"    ip_cache \u003d []"},{"line_number":562,"context_line":""},{"line_number":563,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_f2fb1579","line":560,"range":{"start_line":560,"start_character":3,"end_line":560,"end_character":63},"updated":"2017-02-08 01:58:56.000000000","message":"descripton\u003d","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"8bb1aae2ee7dfc9d8bddc324010470802f0d07b7","unresolved":false,"context_lines":[{"line_number":557,"context_line":""},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":560,"context_line":"    \"\"\"Remove a mapping between a floating IP and a fixed IP\"\"\""},{"line_number":561,"context_line":"    ip_cache \u003d []"},{"line_number":562,"context_line":""},{"line_number":563,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_4b7a5389","line":560,"range":{"start_line":560,"start_character":3,"end_line":560,"end_character":63},"in_reply_to":"1a430d35_f2fb1579","updated":"2017-02-08 16:04:39.000000000","message":"Done","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"8a50d5e928de7aed05f840eebd08e5f2221d76ce","unresolved":false,"context_lines":[{"line_number":563,"context_line":"    def get_parser(self, prog_name):"},{"line_number":564,"context_line":"        parser \u003d super(UnsetFloatingIP, self).get_parser(prog_name)"},{"line_number":565,"context_line":"        parser.add_argument("},{"line_number":566,"context_line":"            \u0027floating_ip\u0027, metavar\u003d\u0027FLOATING_IP\u0027,"},{"line_number":567,"context_line":"            help\u003d_(\u0027ID of the floating IP to disassociate.\u0027))"},{"line_number":568,"context_line":"        return parser"},{"line_number":569,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_52f7898a","line":566,"range":{"start_line":566,"start_character":36,"end_line":566,"end_character":47},"updated":"2017-02-08 01:58:56.000000000","message":"floating-ip?","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"8bb1aae2ee7dfc9d8bddc324010470802f0d07b7","unresolved":false,"context_lines":[{"line_number":563,"context_line":"    def get_parser(self, prog_name):"},{"line_number":564,"context_line":"        parser \u003d super(UnsetFloatingIP, self).get_parser(prog_name)"},{"line_number":565,"context_line":"        parser.add_argument("},{"line_number":566,"context_line":"            \u0027floating_ip\u0027, metavar\u003d\u0027FLOATING_IP\u0027,"},{"line_number":567,"context_line":"            help\u003d_(\u0027ID of the floating IP to disassociate.\u0027))"},{"line_number":568,"context_line":"        return parser"},{"line_number":569,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_8b70bba5","line":566,"range":{"start_line":566,"start_character":36,"end_line":566,"end_character":47},"in_reply_to":"1a430d35_52f7898a","updated":"2017-02-08 16:04:39.000000000","message":"Done","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"666349b2b05679a37c061ecf1eb57f5fd64af648","unresolved":false,"context_lines":[{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":478,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":479,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":480,"context_line":"            help\u003d_(\"Fixed IP of the port (not a required option)\")"},{"line_number":481,"context_line":"        )"},{"line_number":482,"context_line":"        return parser"},{"line_number":483,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"fa31d9ce_6d90d1ed","line":480,"range":{"start_line":480,"start_character":41,"end_line":480,"end_character":66},"updated":"2017-02-09 21:19:21.000000000","message":"see comment in .rst \nthat help string is more accurate.","commit_id":"e0df8fab9655ddb9d6e5a70344c1cdb0abf298cc"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"ffd49c0064fa766ee572fd1f1365ebea20b443bf","unresolved":false,"context_lines":[{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":478,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":479,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":480,"context_line":"            help\u003d_(\"Fixed IP of the port (not a required option)\")"},{"line_number":481,"context_line":"        )"},{"line_number":482,"context_line":"        return parser"},{"line_number":483,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"fa31d9ce_46d71cbf","line":480,"range":{"start_line":480,"start_character":41,"end_line":480,"end_character":66},"in_reply_to":"fa31d9ce_6d90d1ed","updated":"2017-02-12 21:03:57.000000000","message":"Done","commit_id":"e0df8fab9655ddb9d6e5a70344c1cdb0abf298cc"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"756db66a84344a66f4156d07b82cd1293a6d8bd5","unresolved":false,"context_lines":[{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\u0027ID of the port with which floating IP\u0027"},{"line_number":475,"context_line":"                   \u0027needs to be associated.\u0027))"},{"line_number":476,"context_line":"        parser.add_argument("},{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":34,"id":"fa31d9ce_c3ff6865","line":474,"range":{"start_line":474,"start_character":57,"end_line":474,"end_character":58},"updated":"2017-02-13 12:13:16.000000000","message":"Need a space here","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"99bd67b49bf27be789b78352e0f544490b529499","unresolved":false,"context_lines":[{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\u0027ID of the port with which floating IP\u0027"},{"line_number":475,"context_line":"                   \u0027needs to be associated.\u0027))"},{"line_number":476,"context_line":"        parser.add_argument("},{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":34,"id":"fa31d9ce_a21f7659","line":474,"range":{"start_line":474,"start_character":57,"end_line":474,"end_character":58},"in_reply_to":"fa31d9ce_c3ff6865","updated":"2017-02-15 00:58:07.000000000","message":"Done","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"756db66a84344a66f4156d07b82cd1293a6d8bd5","unresolved":false,"context_lines":[{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":478,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":479,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":480,"context_line":"            help\u003d_(\"Fixed IP of the port\""},{"line_number":481,"context_line":"                   \"(required only if port has multiple IPs)\")"},{"line_number":482,"context_line":"        )"},{"line_number":483,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":34,"id":"fa31d9ce_0328a0e1","line":480,"range":{"start_line":480,"start_character":40,"end_line":480,"end_character":41},"updated":"2017-02-13 12:13:16.000000000","message":"Need a space here too. Also, inconsistency between using \" and \u0027 between this and other help text.","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"99bd67b49bf27be789b78352e0f544490b529499","unresolved":false,"context_lines":[{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":478,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"},{"line_number":479,"context_line":"            dest\u003d\u0027fixed_ip_address\u0027,"},{"line_number":480,"context_line":"            help\u003d_(\"Fixed IP of the port\""},{"line_number":481,"context_line":"                   \"(required only if port has multiple IPs)\")"},{"line_number":482,"context_line":"        )"},{"line_number":483,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":34,"id":"fa31d9ce_c222aaa2","line":480,"range":{"start_line":480,"start_character":40,"end_line":480,"end_character":41},"in_reply_to":"fa31d9ce_0328a0e1","updated":"2017-02-15 00:58:07.000000000","message":"Done","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"756db66a84344a66f4156d07b82cd1293a6d8bd5","unresolved":false,"context_lines":[{"line_number":559,"context_line":""},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":562,"context_line":"    _description \u003d _(\"Remove a mapping between a floating IP and a fixed IP\")"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"    ip_cache \u003d []"},{"line_number":565,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"fa31d9ce_8361f03b","line":562,"range":{"start_line":562,"start_character":67,"end_line":562,"end_character":75},"updated":"2017-02-13 12:13:16.000000000","message":"port","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"99bd67b49bf27be789b78352e0f544490b529499","unresolved":false,"context_lines":[{"line_number":559,"context_line":""},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":562,"context_line":"    _description \u003d _(\"Remove a mapping between a floating IP and a fixed IP\")"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"    ip_cache \u003d []"},{"line_number":565,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"fa31d9ce_e23deec4","line":562,"range":{"start_line":562,"start_character":67,"end_line":562,"end_character":75},"in_reply_to":"fa31d9ce_8361f03b","updated":"2017-02-15 00:58:07.000000000","message":"Done","commit_id":"56aac6bcf56d86e2d87374835447ee9a861fcfa5"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d393bf507f949afd946b8e529fd74261ec824a1c","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        parser.add_argument("},{"line_number":468,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":469,"context_line":"            metavar\u003d\u0027\u003cfloating-ip\u003e\u0027,"},{"line_number":470,"context_line":"            help\u003d_(\"ID/IP of the floating IP to associate.\"))"},{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_f3c7fb0f","line":470,"range":{"start_line":470,"start_character":20,"end_line":470,"end_character":58},"updated":"2017-02-21 14:23:35.000000000","message":"Floating IP to associate (IP address or ID)","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"e8cbeb90fa4a8799be56ed9bbab56b8f1c0e4db1","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        parser.add_argument("},{"line_number":468,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":469,"context_line":"            metavar\u003d\u0027\u003cfloating-ip\u003e\u0027,"},{"line_number":470,"context_line":"            help\u003d_(\"ID/IP of the floating IP to associate.\"))"},{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_df9f5501","line":470,"range":{"start_line":470,"start_character":20,"end_line":470,"end_character":58},"in_reply_to":"da36d5c6_f3c7fb0f","updated":"2017-02-21 16:07:11.000000000","message":"Done","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d393bf507f949afd946b8e529fd74261ec824a1c","unresolved":false,"context_lines":[{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\"ID of the port with which floating IP \""},{"line_number":475,"context_line":"                   \"needs to be associated.\"))"},{"line_number":476,"context_line":"        parser.add_argument("},{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_f3bc5b6e","line":474,"range":{"start_line":474,"start_character":20,"end_line":474,"end_character":22},"updated":"2017-02-21 14:23:35.000000000","message":"It is better to accept port name too.\n\nAlso the description can be improved:\n\n  The port to be associated with the floating IP (name or ID)","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"e8cbeb90fa4a8799be56ed9bbab56b8f1c0e4db1","unresolved":false,"context_lines":[{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\"ID of the port with which floating IP \""},{"line_number":475,"context_line":"                   \"needs to be associated.\"))"},{"line_number":476,"context_line":"        parser.add_argument("},{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_1f8acdbf","line":474,"range":{"start_line":474,"start_character":20,"end_line":474,"end_character":22},"in_reply_to":"da36d5c6_f3bc5b6e","updated":"2017-02-21 16:07:11.000000000","message":"Done","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d393bf507f949afd946b8e529fd74261ec824a1c","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            parsed_args.floating_ip,"},{"line_number":492,"context_line":"            ignore_missing\u003dFalse,"},{"line_number":493,"context_line":"        )"},{"line_number":494,"context_line":"        attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        if parsed_args.fixed_ip_address:"},{"line_number":497,"context_line":"            attrs[\u0027fixed_ip_address\u0027] \u003d parsed_args.fixed_ip_address"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_13f2cf6f","line":494,"range":{"start_line":494,"start_character":27,"end_line":494,"end_character":43},"updated":"2017-02-21 14:23:35.000000000","message":"It is better to accept port name too.","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"e8cbeb90fa4a8799be56ed9bbab56b8f1c0e4db1","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            parsed_args.floating_ip,"},{"line_number":492,"context_line":"            ignore_missing\u003dFalse,"},{"line_number":493,"context_line":"        )"},{"line_number":494,"context_line":"        attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        if parsed_args.fixed_ip_address:"},{"line_number":497,"context_line":"            attrs[\u0027fixed_ip_address\u0027] \u003d parsed_args.fixed_ip_address"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_1f0d6d3e","line":494,"range":{"start_line":494,"start_character":27,"end_line":494,"end_character":43},"in_reply_to":"da36d5c6_13f2cf6f","updated":"2017-02-21 16:07:11.000000000","message":"But the floating_ip resource holds only id. Also, if we accept the port name and the port name is stored in the floating ip resource, won\u0027t there be confusion if there are multiple ports with the same name.","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0bcdfb33457414705f8e01e4856058c64bc4071c","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            parsed_args.floating_ip,"},{"line_number":492,"context_line":"            ignore_missing\u003dFalse,"},{"line_number":493,"context_line":"        )"},{"line_number":494,"context_line":"        attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        if parsed_args.fixed_ip_address:"},{"line_number":497,"context_line":"            attrs[\u0027fixed_ip_address\u0027] \u003d parsed_args.fixed_ip_address"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_fc5075d6","line":494,"range":{"start_line":494,"start_character":27,"end_line":494,"end_character":43},"in_reply_to":"da36d5c6_1f0d6d3e","updated":"2017-02-22 19:09:20.000000000","message":"Before sending API request or calling SDK, port name will be resolved into port ID like [1],  so I don\u0027t think it is confusing. It is usually done for all resources with names. Floating IP does not have \u0027name\u0027 field, so we use ID only. In this patch, we can now specify floating IP by IP address. I think it is an alternative of \u0027name\u0027 field.\n\n[1] https://github.com/openstack/python-openstackclient/blob/master/openstackclient/network/v2/port.py#L739","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"27aad24ee9091202871f003882260e543b901ed6","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            parsed_args.floating_ip,"},{"line_number":492,"context_line":"            ignore_missing\u003dFalse,"},{"line_number":493,"context_line":"        )"},{"line_number":494,"context_line":"        attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        if parsed_args.fixed_ip_address:"},{"line_number":497,"context_line":"            attrs[\u0027fixed_ip_address\u0027] \u003d parsed_args.fixed_ip_address"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_bcf7dd89","line":494,"range":{"start_line":494,"start_character":27,"end_line":494,"end_character":43},"in_reply_to":"da36d5c6_fc5075d6","updated":"2017-02-22 19:16:05.000000000","message":"Ah okay. Makes sense. Thank you for explaining.","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d393bf507f949afd946b8e529fd74261ec824a1c","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        parser \u003d super(UnsetFloatingIP, self).get_parser(prog_name)"},{"line_number":568,"context_line":"        parser.add_argument("},{"line_number":569,"context_line":"            \u0027floating_ip\u0027, metavar\u003d\u0027floating-ip\u0027,"},{"line_number":570,"context_line":"            help\u003d_(\"ID/IP of the floating IP to disassociate.\"))"},{"line_number":571,"context_line":"        return parser"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_b3abc31c","line":570,"range":{"start_line":570,"start_character":20,"end_line":570,"end_character":61},"updated":"2017-02-21 14:23:35.000000000","message":"Same as the above","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"e8cbeb90fa4a8799be56ed9bbab56b8f1c0e4db1","unresolved":false,"context_lines":[{"line_number":567,"context_line":"        parser \u003d super(UnsetFloatingIP, self).get_parser(prog_name)"},{"line_number":568,"context_line":"        parser.add_argument("},{"line_number":569,"context_line":"            \u0027floating_ip\u0027, metavar\u003d\u0027floating-ip\u0027,"},{"line_number":570,"context_line":"            help\u003d_(\"ID/IP of the floating IP to disassociate.\"))"},{"line_number":571,"context_line":"        return parser"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":37,"id":"da36d5c6_7f02e90c","line":570,"range":{"start_line":570,"start_character":20,"end_line":570,"end_character":61},"in_reply_to":"da36d5c6_b3abc31c","updated":"2017-02-21 16:07:11.000000000","message":"Done","commit_id":"fa0b81c3c41f8035960b205d06deaa3f7c32c440"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"b54bd5db1188b2eb2a6cba0be45eddc53d969289","unresolved":false,"context_lines":[{"line_number":470,"context_line":"            help\u003d_(\"Floating IP to associate (IP address or ID)\"))"},{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\"Port with which floating IP \""},{"line_number":475,"context_line":"                   \"needs to be associated (ID)\"))"},{"line_number":476,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":38,"id":"da36d5c6_e26d5e05","line":473,"updated":"2017-02-21 16:21:17.000000000","message":"Neutorn client accepts both ID and name. This needs to do the same.\n\nSorry for just noticing this now :(","commit_id":"01dc67fc73f365d06b8971b021b48502a40bd5db"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2465c8872d7391380834a4658f93ea5eefc13214","unresolved":false,"context_lines":[{"line_number":470,"context_line":"            help\u003d_(\"Floating IP to associate (IP address or ID)\"))"},{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\"Port with which floating IP \""},{"line_number":475,"context_line":"                   \"needs to be associated (ID)\"))"},{"line_number":476,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":38,"id":"da36d5c6_5c80a1f7","line":473,"in_reply_to":"da36d5c6_e26d5e05","updated":"2017-02-22 19:45:32.000000000","message":"+1\n\nI also made the same comment in the previous patch set. I replied to the author in the previous patch set.","commit_id":"01dc67fc73f365d06b8971b021b48502a40bd5db"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"73d9702b29294f40df1654c97d2bfc090bfbf6a8","unresolved":false,"context_lines":[{"line_number":491,"context_line":"            parsed_args.floating_ip,"},{"line_number":492,"context_line":"            ignore_missing\u003dFalse,"},{"line_number":493,"context_line":"        )"},{"line_number":494,"context_line":"        attrs[\u0027port_id\u0027] \u003d parsed_args.port"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"        if parsed_args.fixed_ip_address:"},{"line_number":497,"context_line":"            attrs[\u0027fixed_ip_address\u0027] \u003d parsed_args.fixed_ip_address"}],"source_content_type":"text/x-python","patch_set":39,"id":"da36d5c6_88cd6fb9","line":494,"range":{"start_line":494,"start_character":8,"end_line":494,"end_character":43},"updated":"2017-02-22 19:59:27.000000000","message":"I think you need to call find_port() to resolve name into ID.\n\nhttps://github.com/openstack/python-openstackclient/blob/master/openstackclient/network/v2/port.py#L739","commit_id":"130597291f63838bc9eb35d4a778070a89de2be1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"216d10fce90ef241fc43853c18cb68b2c4aa228a","unresolved":false,"context_lines":[{"line_number":486,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":487,"context_line":"        attrs \u003d {}"},{"line_number":488,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("},{"line_number":489,"context_line":"            client.session,"},{"line_number":490,"context_line":"            self.ip_cache,"},{"line_number":491,"context_line":"            parsed_args.floating_ip,"},{"line_number":492,"context_line":"            ignore_missing\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":42,"id":"da36d5c6_14041948","line":489,"updated":"2017-02-23 17:24:15.000000000","message":"We can no longer use this session due to a change in the SDK last week (Feb 15-th-ish).  Use self.app.client_manager.sdk_connection.session instead.","commit_id":"525abb504c34ce0a3e723432713beebdd687f35b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"c275602ac4464ef5b4076917b916b2f46c3df931","unresolved":false,"context_lines":[{"line_number":486,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":487,"context_line":"        attrs \u003d {}"},{"line_number":488,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("},{"line_number":489,"context_line":"            client.session,"},{"line_number":490,"context_line":"            self.ip_cache,"},{"line_number":491,"context_line":"            parsed_args.floating_ip,"},{"line_number":492,"context_line":"            ignore_missing\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":42,"id":"da36d5c6_9719eb8a","line":489,"in_reply_to":"da36d5c6_14041948","updated":"2017-02-23 17:59:41.000000000","message":"If this change is made, unit tests fail because the FakeClientManager does not have sdk_connection.","commit_id":"525abb504c34ce0a3e723432713beebdd687f35b"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"216d10fce90ef241fc43853c18cb68b2c4aa228a","unresolved":false,"context_lines":[{"line_number":574,"context_line":"    def take_action(self, parsed_args):"},{"line_number":575,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":576,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("},{"line_number":577,"context_line":"            client.session,"},{"line_number":578,"context_line":"            self.ip_cache,"},{"line_number":579,"context_line":"            parsed_args.floating_ip,"},{"line_number":580,"context_line":"            ignore_missing\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":42,"id":"da36d5c6_f4a14547","line":577,"updated":"2017-02-23 17:24:15.000000000","message":"We can no longer use this session due to a change in the SDK last week (Feb 15-th-ish).  Use self.app.client_manager.sdk_connection.session instead.","commit_id":"525abb504c34ce0a3e723432713beebdd687f35b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"c275602ac4464ef5b4076917b916b2f46c3df931","unresolved":false,"context_lines":[{"line_number":574,"context_line":"    def take_action(self, parsed_args):"},{"line_number":575,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":576,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("},{"line_number":577,"context_line":"            client.session,"},{"line_number":578,"context_line":"            self.ip_cache,"},{"line_number":579,"context_line":"            parsed_args.floating_ip,"},{"line_number":580,"context_line":"            ignore_missing\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":42,"id":"da36d5c6_b71eef6d","line":577,"in_reply_to":"da36d5c6_f4a14547","updated":"2017-02-23 17:59:41.000000000","message":"same as above.","commit_id":"525abb504c34ce0a3e723432713beebdd687f35b"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"7f26720761bdd6571641339c601e66aab749ecd7","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":461,"context_line":"    _description \u003d _(\"Create a mapping between a floating IP and a port\")"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    ip_cache \u003d []"},{"line_number":464,"context_line":""}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_3b5d7879","line":461,"updated":"2017-02-24 03:08:05.000000000","message":"help message should match the doc","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d6e9def4ecedfc4cd0d9397d8dac7d15b12fd84c","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":461,"context_line":"    _description \u003d _(\"Create a mapping between a floating IP and a port\")"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    ip_cache \u003d []"},{"line_number":464,"context_line":""}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_a066874e","line":461,"in_reply_to":"da36d5c6_3b5d7879","updated":"2017-02-24 15:01:21.000000000","message":"+1","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b6e6852a78ac33fafd2120d1d9a1d8f83dd8fd8","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":461,"context_line":"    _description \u003d _(\"Create a mapping between a floating IP and a port\")"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    ip_cache \u003d []"},{"line_number":464,"context_line":""}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_634499b6","line":461,"in_reply_to":"da36d5c6_a066874e","updated":"2017-02-24 15:07:34.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"7f26720761bdd6571641339c601e66aab749ecd7","unresolved":false,"context_lines":[{"line_number":468,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":469,"context_line":"            metavar\u003d\u0027\u003cfloating-ip\u003e\u0027,"},{"line_number":470,"context_line":"            help\u003d_(\"Floating IP to associate (IP address or ID)\"))"},{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027--port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\"Port with which floating IP \""}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_fbf4c05b","line":471,"updated":"2017-02-24 03:08:05.000000000","message":"If --port is required, should add required\u003dTrue","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b6e6852a78ac33fafd2120d1d9a1d8f83dd8fd8","unresolved":false,"context_lines":[{"line_number":468,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":469,"context_line":"            metavar\u003d\u0027\u003cfloating-ip\u003e\u0027,"},{"line_number":470,"context_line":"            help\u003d_(\"Floating IP to associate (IP address or ID)\"))"},{"line_number":471,"context_line":"        parser.add_argument("},{"line_number":472,"context_line":"            \u0027--port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\"Port with which floating IP \""}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_e30ec98a","line":471,"in_reply_to":"da36d5c6_fbf4c05b","updated":"2017-02-24 15:07:34.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d6e9def4ecedfc4cd0d9397d8dac7d15b12fd84c","unresolved":false,"context_lines":[{"line_number":472,"context_line":"            \u0027--port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\"Port with which floating IP \""},{"line_number":475,"context_line":"                   \"needs to be associated (ID or name)\"))"},{"line_number":476,"context_line":"        parser.add_argument("},{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":478,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_03803df4","line":475,"range":{"start_line":475,"start_character":44,"end_line":475,"end_character":53},"updated":"2017-02-24 15:01:21.000000000","message":"I noticed the OSC convention is \"name or ID\" instead.","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"664c9fe4f529f5663fe33bf56f440959cb8ffb75","unresolved":false,"context_lines":[{"line_number":472,"context_line":"            \u0027--port\u0027,"},{"line_number":473,"context_line":"            metavar\u003d\u0027\u003cport\u003e\u0027,"},{"line_number":474,"context_line":"            help\u003d_(\"Port with which floating IP \""},{"line_number":475,"context_line":"                   \"needs to be associated (ID or name)\"))"},{"line_number":476,"context_line":"        parser.add_argument("},{"line_number":477,"context_line":"            \u0027--fixed-ip-address\u0027,"},{"line_number":478,"context_line":"            metavar\u003d\u0027\u003cfixed-ip-address\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_632ad991","line":475,"range":{"start_line":475,"start_character":44,"end_line":475,"end_character":53},"in_reply_to":"da36d5c6_03803df4","updated":"2017-02-24 15:09:07.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"7f26720761bdd6571641339c601e66aab749ecd7","unresolved":false,"context_lines":[{"line_number":560,"context_line":""},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":563,"context_line":"    _description \u003d _(\"Remove a mapping between a floating IP and a port\")"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"    ip_cache \u003d []"},{"line_number":566,"context_line":""}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_7b01b037","line":563,"updated":"2017-02-24 03:08:05.000000000","message":"help message should match the doc","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b6e6852a78ac33fafd2120d1d9a1d8f83dd8fd8","unresolved":false,"context_lines":[{"line_number":560,"context_line":""},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":563,"context_line":"    _description \u003d _(\"Remove a mapping between a floating IP and a port\")"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"    ip_cache \u003d []"},{"line_number":566,"context_line":""}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_23254108","line":563,"in_reply_to":"da36d5c6_7b01b037","updated":"2017-02-24 15:07:34.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"7f26720761bdd6571641339c601e66aab749ecd7","unresolved":false,"context_lines":[{"line_number":567,"context_line":"    def get_parser(self, prog_name):"},{"line_number":568,"context_line":"        parser \u003d super(UnsetFloatingIP, self).get_parser(prog_name)"},{"line_number":569,"context_line":"        parser.add_argument("},{"line_number":570,"context_line":"            \u0027floating_ip\u0027, metavar\u003d\u0027floating-ip\u0027,"},{"line_number":571,"context_line":"            help\u003d_(\"Floating IP to disassociate (IP address or ID)\"))"},{"line_number":572,"context_line":"        return parser"},{"line_number":573,"context_line":""}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_7b88d0c5","line":570,"range":{"start_line":570,"start_character":36,"end_line":570,"end_character":47},"updated":"2017-02-24 03:08:05.000000000","message":"nit: \u003cfloating-ip\u003e","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b6e6852a78ac33fafd2120d1d9a1d8f83dd8fd8","unresolved":false,"context_lines":[{"line_number":567,"context_line":"    def get_parser(self, prog_name):"},{"line_number":568,"context_line":"        parser \u003d super(UnsetFloatingIP, self).get_parser(prog_name)"},{"line_number":569,"context_line":"        parser.add_argument("},{"line_number":570,"context_line":"            \u0027floating_ip\u0027, metavar\u003d\u0027floating-ip\u0027,"},{"line_number":571,"context_line":"            help\u003d_(\"Floating IP to disassociate (IP address or ID)\"))"},{"line_number":572,"context_line":"        return parser"},{"line_number":573,"context_line":""}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_837c2ded","line":570,"range":{"start_line":570,"start_character":36,"end_line":570,"end_character":47},"in_reply_to":"da36d5c6_7b88d0c5","updated":"2017-02-24 15:07:34.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"fde07ba83a5844928a600b670fc8fb2ca59204cf","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            client, parsed_args)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":461,"context_line":"    _description \u003d _(\"Associate floating IP to a port\")"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    ip_cache \u003d []"}],"source_content_type":"text/x-python","patch_set":53,"id":"ba2be162_410c9194","line":460,"range":{"start_line":460,"start_character":6,"end_line":460,"end_character":19},"updated":"2017-03-01 09:41:53.000000000","message":"This class name is okay? If we have a command \u0027openstack floating ip set\u0027 in future to set FIP attribute like description, what class name do we use? I am just concerned the class name conflict. SetFloatingIPPort?","commit_id":"e09a5c9f8be24a0c4f460a94ff9ee72378c8d420"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6ceb3263da3e94de9bc1803d552ad20e9b267ada","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            client, parsed_args)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":461,"context_line":"    _description \u003d _(\"Associate floating IP to a port\")"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    ip_cache \u003d []"}],"source_content_type":"text/x-python","patch_set":53,"id":"ba2be162_39598d5b","line":460,"range":{"start_line":460,"start_character":6,"end_line":460,"end_character":19},"in_reply_to":"ba2be162_410c9194","updated":"2017-03-01 12:35:14.000000000","message":"I discussed with Reedip on IRC and it looks no problem to keep the current class name. At now, the only attribute which can be updated in the neutron floating IP is \u0027description\u0027. It would be enough if \u0027description\u0027 is specified when creating floating IP at least. If we want to update description, we can revisit the class name then.","commit_id":"e09a5c9f8be24a0c4f460a94ff9ee72378c8d420"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6148c7604119c3bfa8aab50cf860cc22c1666bdb","unresolved":false,"context_lines":[{"line_number":483,"context_line":"        )"},{"line_number":484,"context_line":"        return parser"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"    def take_action(self, parsed_args):"},{"line_number":487,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":488,"context_line":"        attrs \u003d {}"},{"line_number":489,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("}],"source_content_type":"text/x-python","patch_set":53,"id":"ba2be162_84ddb772","line":486,"range":{"start_line":486,"start_character":8,"end_line":486,"end_character":19},"updated":"2017-03-01 09:51:32.000000000","message":"Isn\u0027t it better to use take_action_network and take_action_compute?\nFloating IP API is supported by both compute and network APIs now and the similar approach is taken in \u0027openstack floating pool list\u0027 now.","commit_id":"e09a5c9f8be24a0c4f460a94ff9ee72378c8d420"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"e58fccd1c92bc0d712322ee0ab544a0c496c51a2","unresolved":false,"context_lines":[{"line_number":483,"context_line":"        )"},{"line_number":484,"context_line":"        return parser"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"    def take_action(self, parsed_args):"},{"line_number":487,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":488,"context_line":"        attrs \u003d {}"},{"line_number":489,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("}],"source_content_type":"text/x-python","patch_set":53,"id":"ba2be162_9f5ee043","line":486,"range":{"start_line":486,"start_character":8,"end_line":486,"end_character":19},"in_reply_to":"ba2be162_84ddb772","updated":"2017-03-01 10:30:48.000000000","message":"If I am correct, the Floating IP Association is in Network V2 only , so we may not need it once we move the class name to SetFloatingIPPort.\n\nPlease let me know if you consider it otherwise.,","commit_id":"e09a5c9f8be24a0c4f460a94ff9ee72378c8d420"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6ceb3263da3e94de9bc1803d552ad20e9b267ada","unresolved":false,"context_lines":[{"line_number":483,"context_line":"        )"},{"line_number":484,"context_line":"        return parser"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"    def take_action(self, parsed_args):"},{"line_number":487,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":488,"context_line":"        attrs \u003d {}"},{"line_number":489,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("}],"source_content_type":"text/x-python","patch_set":53,"id":"ba2be162_7c74d39b","line":486,"range":{"start_line":486,"start_character":8,"end_line":486,"end_character":19},"in_reply_to":"ba2be162_9f5ee043","updated":"2017-03-01 12:35:14.000000000","message":"Yes, it is supported only in Network V2 only.\n\n\"server add floating ip\" command is similar case and supported only in Compute V2 API. It uses take_action and this means Compute V2.\nFrom this point, my above concern is no need to take care.\n\nOn the other hand, I see \"floating ip pool list\" command havs both take_action_compute and take_action_network, but it is supported only in Compute V2. What\u0027s the difference? I know \u0027network list --external\u0027 does the same for Network V2, but it would be nice if we support \u0027floating ip pool list\" for Network V2 as well.\n\nThe above is my opinion, but I don\u0027t think it is worth blocking the change.","commit_id":"e09a5c9f8be24a0c4f460a94ff9ee72378c8d420"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"fde07ba83a5844928a600b670fc8fb2ca59204cf","unresolved":false,"context_lines":[{"line_number":560,"context_line":"            client, parsed_args)"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":""},{"line_number":563,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":564,"context_line":"    _description \u003d _(\"Disassociate floating IP from a port\")"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"    ip_cache \u003d []"}],"source_content_type":"text/x-python","patch_set":53,"id":"ba2be162_217ebde4","line":563,"range":{"start_line":563,"start_character":6,"end_line":563,"end_character":21},"updated":"2017-03-01 09:41:53.000000000","message":"The same question as for SetFloatingIP.","commit_id":"e09a5c9f8be24a0c4f460a94ff9ee72378c8d420"},{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"855de19011153bb72bdef9abdc8a6d48c6943188","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            client, parsed_args)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIPPort(command.Command):"},{"line_number":461,"context_line":"    _description \u003d _(\"Associate floating IP to a port\")"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    ip_cache \u003d []"}],"source_content_type":"text/x-python","patch_set":55,"id":"9a30ddce_95c5ff5c","line":460,"range":{"start_line":460,"start_character":6,"end_line":460,"end_character":23},"updated":"2017-03-07 06:42:43.000000000","message":"As we can set both the port and fixed-ip-addres with \"openstack floating ip set\" command. IMHO this name needs to be changed to SetFloatingIP only. Similar change for the UnsetFloatingIpPort class as well.","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2379538e0c3069eec784959ca956431ee7f19787","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            client, parsed_args)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class SetFloatingIPPort(command.Command):"},{"line_number":461,"context_line":"    _description \u003d _(\"Associate floating IP to a port\")"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    ip_cache \u003d []"}],"source_content_type":"text/x-python","patch_set":55,"id":"9a30ddce_a834b749","line":460,"range":{"start_line":460,"start_character":6,"end_line":460,"end_character":23},"in_reply_to":"9a30ddce_95c5ff5c","updated":"2017-03-10 17:01:25.000000000","message":"Done","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2d54015a1c4d660190c50d7b750494b985dc8790","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        parser.add_argument("},{"line_number":571,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":572,"context_line":"            metavar\u003d\u0027\u003cfloating-ip\u003e\u0027,"},{"line_number":573,"context_line":"            help\u003d_(\"Floating IP to disassociate (IP address or ID)\"))"},{"line_number":574,"context_line":"        return parser"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":57,"id":"9a30ddce_dbdfd7d3","line":573,"updated":"2017-03-13 03:44:16.000000000","message":"--port option needs to be added (as described in the command reference). Now the command name is \u0027floating ip set\u0027, so we need --port option to indicate what attribute should be unset.","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"43051809e56f7b0ab11de1e45405f2c30bbb5e58","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        parser.add_argument("},{"line_number":571,"context_line":"            \u0027floating_ip\u0027,"},{"line_number":572,"context_line":"            metavar\u003d\u0027\u003cfloating-ip\u003e\u0027,"},{"line_number":573,"context_line":"            help\u003d_(\"Floating IP to disassociate (IP address or ID)\"))"},{"line_number":574,"context_line":"        return parser"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":57,"id":"9a30ddce_7ea6d9ae","line":573,"in_reply_to":"9a30ddce_dbdfd7d3","updated":"2017-03-13 04:38:38.000000000","message":"Done","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":460,"context_line":"class SetFloatingIP(command.Command):"},{"line_number":461,"context_line":"    _description \u003d _(\"Set floating IP Properties\")"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    ip_cache \u003d []"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"    def get_parser(self, prog_name):"},{"line_number":466,"context_line":"        parser \u003d super(SetFloatingIP, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":65,"id":"1a1ced50_f4038f74","line":463,"updated":"2017-03-17 09:28:18.000000000","message":"here","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":486,"context_line":"    def take_action(self, parsed_args):"},{"line_number":487,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":488,"context_line":"        attrs \u003d {}"},{"line_number":489,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("},{"line_number":490,"context_line":"            self.app.client_manager.sdk_connection.session,"},{"line_number":491,"context_line":"            self.ip_cache,"},{"line_number":492,"context_line":"            parsed_args.floating_ip,"}],"source_content_type":"text/x-python","patch_set":65,"id":"1a1ced50_570e2535","line":489,"range":{"start_line":489,"start_character":14,"end_line":489,"end_character":27},"updated":"2017-03-17 09:28:18.000000000","message":"Honestly, the self.ip_cache make me confused, it\u0027s set when command execute every time, but it is instance attribute with same name with class attribute \"SetFloatingIP.ip_cache\", and in the take_action() namespace, self.ip_cache will override the class attribute ip_cache, so the cache should not work in fact (cliff create a new command object when it execute)\n\nAnd I don\u0027t think we should use floating ip cache at here, specially I don\u0027t see how the cache refresh when a new floating ip is created in interactive mode.\n\nSo I prefer to pass empty list [] into _find_floating_ip() and rename the returned value like \"ignore_return_value\" in the patch, and do refactor for _find_floating_ip() in a split patch to remove the cache.\n\nWaiting for others comments, might we can find better way.","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        attrs \u003d {}"},{"line_number":489,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("},{"line_number":490,"context_line":"            self.app.client_manager.sdk_connection.session,"},{"line_number":491,"context_line":"            self.ip_cache,"},{"line_number":492,"context_line":"            parsed_args.floating_ip,"},{"line_number":493,"context_line":"            ignore_missing\u003dFalse,"},{"line_number":494,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":65,"id":"1a1ced50_d49cd36b","line":491,"range":{"start_line":491,"start_character":12,"end_line":491,"end_character":25},"updated":"2017-03-17 09:28:18.000000000","message":"here","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":575,"context_line":"            \u0027--port\u0027,"},{"line_number":576,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":577,"context_line":"            default\u003dFalse,"},{"line_number":578,"context_line":"            help\u003d_(\"Disassociate any port associated with the floating ip\")"},{"line_number":579,"context_line":"        )"},{"line_number":580,"context_line":"        return parser"},{"line_number":581,"context_line":""}],"source_content_type":"text/x-python","patch_set":65,"id":"1a1ced50_4a7761d4","line":578,"range":{"start_line":578,"start_character":71,"end_line":578,"end_character":73},"updated":"2017-03-17 09:28:18.000000000","message":"nits: s/ip/IP/","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5541bdc6928cbf6d58eeb93fa9e7429eec8911cd","unresolved":false,"context_lines":[{"line_number":486,"context_line":"    def take_action(self, parsed_args):"},{"line_number":487,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":488,"context_line":"        attrs \u003d {}"},{"line_number":489,"context_line":"        (obj, self.ip_cache) \u003d _find_floating_ip("},{"line_number":490,"context_line":"            self.app.client_manager.sdk_connection.session,"},{"line_number":491,"context_line":"            self.ip_cache,"},{"line_number":492,"context_line":"            parsed_args.floating_ip,"}],"source_content_type":"text/x-python","patch_set":66,"id":"1a1ced50_88b12e92","line":489,"range":{"start_line":489,"start_character":14,"end_line":489,"end_character":27},"updated":"2017-03-20 03:51:50.000000000","message":"might others have thoughts about the cache, please see my comments in the same line of PS65.","commit_id":"be018140997f22869a581608352e8d3b9a45e969"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"f20254e3fc912b5d05dd6ad76b18b92c188a8123","unresolved":false,"context_lines":[{"line_number":482,"context_line":""},{"line_number":483,"context_line":"    def take_action(self, parsed_args):"},{"line_number":484,"context_line":"        client \u003d self.app.client_manager.network"},{"line_number":485,"context_line":"        attrs \u003d {}"},{"line_number":486,"context_line":"        obj \u003d _find_floating_ip_without_cache("},{"line_number":487,"context_line":"            self.app.client_manager.sdk_connection.session,"},{"line_number":488,"context_line":"            parsed_args.floating_ip,"}],"source_content_type":"text/x-python","patch_set":71,"id":"1a1ced50_02455f16","line":485,"updated":"2017-03-23 18:44:30.000000000","message":"you can define attrs directly in L493:\n\n attrs \u003d {\u0027\u0027port_id\u0027: port.id}","commit_id":"28a93d60e0105d0756f5bdf8a126b876eb4a19be"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"f20254e3fc912b5d05dd6ad76b18b92c188a8123","unresolved":false,"context_lines":[{"line_number":556,"context_line":"            client, parsed_args)"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"class UnsetFloatingIP(command.Command):"},{"line_number":560,"context_line":"    _description \u003d _(\"Unset floating IP Properties\")"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":71,"id":"1a1ced50_224a5b28","line":559,"updated":"2017-03-23 18:44:30.000000000","message":"This method does nothing if \u0027--port\u0027 is not provided?","commit_id":"28a93d60e0105d0756f5bdf8a126b876eb4a19be"}],"openstackclient/tests/functional/network/v2/test_floating_ip.py":[{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"5733bf682fd4ffaeac360a581bed89b0d6e98515","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        raw_output \u003d self.openstack(\u0027floating ip add port \u0027 +"},{"line_number":64,"context_line":"                                    self.FLOATING_IP +"},{"line_number":65,"context_line":"                                    \u0027 \u0027 + self.PORT)"},{"line_number":66,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def test_floating_ip_remove_port(self):"},{"line_number":69,"context_line":"        raw_output \u003d self.openstack(\u0027floating ip remove port \u0027 +"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a629dbe_acce57b5","line":66,"updated":"2016-11-14 00:33:36.000000000","message":"Do some sort of verification of port add.\n\ncatch the output of an \"openstack floating ip show self.ID\" and assert if the Port\u0027s id is in the output.\n\nDo the inverse for the remove port function.","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"341dfd9a6594eeb25f32f99840593fc46fb0fcfc","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        raw_output \u003d self.openstack(\u0027floating ip add port \u0027 +"},{"line_number":64,"context_line":"                                    self.FLOATING_IP +"},{"line_number":65,"context_line":"                                    \u0027 \u0027 + self.PORT)"},{"line_number":66,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def test_floating_ip_remove_port(self):"},{"line_number":69,"context_line":"        raw_output \u003d self.openstack(\u0027floating ip remove port \u0027 +"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_5368f0ba","line":66,"in_reply_to":"9a629dbe_acce57b5","updated":"2016-11-15 04:47:03.000000000","message":"Done","commit_id":"debcbbf2a2b7a264c9fc2ed026a9c421a89c0211"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"d2a1d26685016b16bd97d84fe9e0de99d714171e","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            show_output[\u0027port\u0027],"},{"line_number":199,"context_line":"        )"},{"line_number":200,"context_line":"        self.assertOutput(\u0027\u0027, raw_output)"},{"line_number":201,"context_line":"    # def test_floating_ip_unset_port(self):"},{"line_number":202,"context_line":"    #     raw_output \u003d self.openstack(\u0027floating ip unset port \u0027 +"},{"line_number":203,"context_line":"    #                                 self.FLOATING_IP)"},{"line_number":204,"context_line":"    #     show_output \u003d self.openstack(\u0027floating ip show \u0027 +"}],"source_content_type":"text/x-python","patch_set":18,"id":"3a461143_7587d3b4","line":201,"updated":"2017-01-31 22:21:57.000000000","message":"unset?","commit_id":"124a1deaf3fd0d4a8c4cc856953c7947d4e5343a"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"c74e07cfb2932be4c04293fb2d4b5fe97f0bfcf2","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        self.openstack(\u0027router set --external-gateway \u0027 + self.NETWORK_NAME +"},{"line_number":225,"context_line":"                       \u0027 \u0027 + self.ROUTER)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        # self.addCleanup(self.openstack, \u0027floating ip delete \u0027 + fp_ip)"},{"line_number":228,"context_line":"        # self.addCleanup(self.openstack, \u0027router remove port \u0027 + self.ROUTER"},{"line_number":229,"context_line":"        #                 + \u0027 \u0027 + port_id)"},{"line_number":230,"context_line":"        # self.addCleanup(self.openstack, \u0027port delete \u0027 + port_id)"}],"source_content_type":"text/x-python","patch_set":24,"id":"1a430d35_ee69f68c","line":227,"updated":"2017-02-03 20:46:23.000000000","message":"assuming you will uncomment the clean up before final revision","commit_id":"44e9e5c5ddf33e54847e5fb2c3d159b5e311e846"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"8a50d5e928de7aed05f840eebd08e5f2221d76ce","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":95,"context_line":"        raw_output \u003d cls.openstack(\u0027network delete \u0027 + cls.NETWORK_NAME)"},{"line_number":96,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":97,"context_line":"        # raw_output \u003d cls.openstack(\u0027subnet delete \u0027 +"},{"line_number":98,"context_line":"        #                            cls.PRIVATE_SUBNET_NAME)"},{"line_number":99,"context_line":"        # cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":100,"context_line":"        # raw_output \u003d cls.openstack(\u0027network delete \u0027 +"},{"line_number":101,"context_line":"        #                            cls.PRIVATE_NETWORK_NAME)"},{"line_number":102,"context_line":"        # cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_floating_ip_delete(self):"},{"line_number":105,"context_line":"        \"\"\"Test create, delete multiple\"\"\""}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_b2134db7","line":102,"range":{"start_line":97,"start_character":8,"end_line":102,"end_character":42},"updated":"2017-02-08 01:58:56.000000000","message":"vestigial?","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"8bb1aae2ee7dfc9d8bddc324010470802f0d07b7","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":95,"context_line":"        raw_output \u003d cls.openstack(\u0027network delete \u0027 + cls.NETWORK_NAME)"},{"line_number":96,"context_line":"        cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":97,"context_line":"        # raw_output \u003d cls.openstack(\u0027subnet delete \u0027 +"},{"line_number":98,"context_line":"        #                            cls.PRIVATE_SUBNET_NAME)"},{"line_number":99,"context_line":"        # cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":100,"context_line":"        # raw_output \u003d cls.openstack(\u0027network delete \u0027 +"},{"line_number":101,"context_line":"        #                            cls.PRIVATE_NETWORK_NAME)"},{"line_number":102,"context_line":"        # cls.assertOutput(\u0027\u0027, raw_output)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_floating_ip_delete(self):"},{"line_number":105,"context_line":"        \"\"\"Test create, delete multiple\"\"\""}],"source_content_type":"text/x-python","patch_set":31,"id":"1a430d35_cb6643ec","line":102,"range":{"start_line":97,"start_character":8,"end_line":102,"end_character":42},"in_reply_to":"1a430d35_b2134db7","updated":"2017-02-08 16:04:39.000000000","message":"Done","commit_id":"2e5a28209565ded54dd59a1cf82f0a20a638c4e7"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"7f26720761bdd6571641339c601e66aab749ecd7","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        # )"},{"line_number":193,"context_line":"        self.assertIsNotNone(re.search(self.re_network_id, raw_output))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def test_floating_ip_set_port(self):"},{"line_number":196,"context_line":"        \"\"\"Test set\"\"\""},{"line_number":197,"context_line":"        raw_output \u003d self.openstack("},{"line_number":198,"context_line":"            \u0027floating ip create \u0027 +"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_fb3760fc","line":195,"updated":"2017-02-24 03:08:05.000000000","message":"This test both set and unset so it would be nice to name this \"test_floating_ip_set_and_unset_port\"","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b6e6852a78ac33fafd2120d1d9a1d8f83dd8fd8","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        # )"},{"line_number":193,"context_line":"        self.assertIsNotNone(re.search(self.re_network_id, raw_output))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def test_floating_ip_set_port(self):"},{"line_number":196,"context_line":"        \"\"\"Test set\"\"\""},{"line_number":197,"context_line":"        raw_output \u003d self.openstack("},{"line_number":198,"context_line":"            \u0027floating ip create \u0027 +"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_6372d912","line":195,"in_reply_to":"da36d5c6_fb3760fc","updated":"2017-02-24 15:07:34.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"7f26720761bdd6571641339c601e66aab749ecd7","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        fp_ip \u003d re_ip.group(1)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"        raw_output1 \u003d self.openstack("},{"line_number":207,"context_line":"            \u0027port create --network \u0027 + self.PRIVATE_NETWORK_NAME"},{"line_number":208,"context_line":"            + \u0027 --fixed-ip subnet\u003d\u0027 + self.PRIVATE_SUBNET_NAME +"},{"line_number":209,"context_line":"            \u0027 \u0027 + self.PORT_NAME"},{"line_number":210,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_b646df4c","line":207,"updated":"2017-02-24 03:08:05.000000000","message":"Do we need a cleanup for this created port?","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b6e6852a78ac33fafd2120d1d9a1d8f83dd8fd8","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        fp_ip \u003d re_ip.group(1)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"        raw_output1 \u003d self.openstack("},{"line_number":207,"context_line":"            \u0027port create --network \u0027 + self.PRIVATE_NETWORK_NAME"},{"line_number":208,"context_line":"            + \u0027 --fixed-ip subnet\u003d\u0027 + self.PRIVATE_SUBNET_NAME +"},{"line_number":209,"context_line":"            \u0027 \u0027 + self.PORT_NAME"},{"line_number":210,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_83634d41","line":207,"in_reply_to":"da36d5c6_b646df4c","updated":"2017-02-24 15:07:34.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0c71e0a8a9e8fa885e7cfef1387e3ea4daa641c9","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        self.openstack(\u0027floating ip unset port \u0027 + fp_ip)"},{"line_number":233,"context_line":"        self.openstack(\u0027floating ip delete \u0027 + fp_ip)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        self.openstack(\u0027router unset --external-gateway \u0027"},{"line_number":236,"context_line":"                       + self.ROUTER)"},{"line_number":237,"context_line":"        self.openstack(\u0027router remove port \u0027 + self.ROUTER"},{"line_number":238,"context_line":"                       + \u0027 \u0027 + port_id)"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_fe5ca07e","line":235,"range":{"start_line":235,"start_character":8,"end_line":235,"end_character":22},"updated":"2017-02-24 15:32:26.000000000","message":"Looks better to use addCleanup. See my comment below for details.","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"bc7ebb425a0a0449ed46fbf218b080ade32c34fc","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        self.openstack(\u0027floating ip unset port \u0027 + fp_ip)"},{"line_number":233,"context_line":"        self.openstack(\u0027floating ip delete \u0027 + fp_ip)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        self.openstack(\u0027router unset --external-gateway \u0027"},{"line_number":236,"context_line":"                       + self.ROUTER)"},{"line_number":237,"context_line":"        self.openstack(\u0027router remove port \u0027 + self.ROUTER"},{"line_number":238,"context_line":"                       + \u0027 \u0027 + port_id)"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_52a11cf7","line":235,"range":{"start_line":235,"start_character":8,"end_line":235,"end_character":22},"in_reply_to":"da36d5c6_fe5ca07e","updated":"2017-02-24 16:54:02.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"7f26720761bdd6571641339c601e66aab749ecd7","unresolved":false,"context_lines":[{"line_number":236,"context_line":"                       + self.ROUTER)"},{"line_number":237,"context_line":"        self.openstack(\u0027router remove port \u0027 + self.ROUTER"},{"line_number":238,"context_line":"                       + \u0027 \u0027 + port_id)"},{"line_number":239,"context_line":"        self.addCleanup(self.openstack, \u0027router delete \u0027 + self.ROUTER)"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_563cc3c7","line":239,"updated":"2017-02-24 03:08:05.000000000","message":"You can move this to the line after creating (line 217 maybe) since we will like to add the cleanup earlier to reduce the error before we add the cleanup","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0c71e0a8a9e8fa885e7cfef1387e3ea4daa641c9","unresolved":false,"context_lines":[{"line_number":236,"context_line":"                       + self.ROUTER)"},{"line_number":237,"context_line":"        self.openstack(\u0027router remove port \u0027 + self.ROUTER"},{"line_number":238,"context_line":"                       + \u0027 \u0027 + port_id)"},{"line_number":239,"context_line":"        self.addCleanup(self.openstack, \u0027router delete \u0027 + self.ROUTER)"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_be66a84e","line":239,"in_reply_to":"da36d5c6_2388e1c4","updated":"2017-02-24 15:32:26.000000000","message":"functions registered by addCleanup will be called in the reverse order of adding, so you can move it addCleanup earlier.\n\nRegistering addCleanup here means L.235-239 will not be called in case of test failures.\n\nhttp://testtools.readthedocs.io/en/latest/api.html#testtools.TestCase.addCleanup","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b6e6852a78ac33fafd2120d1d9a1d8f83dd8fd8","unresolved":false,"context_lines":[{"line_number":236,"context_line":"                       + self.ROUTER)"},{"line_number":237,"context_line":"        self.openstack(\u0027router remove port \u0027 + self.ROUTER"},{"line_number":238,"context_line":"                       + \u0027 \u0027 + port_id)"},{"line_number":239,"context_line":"        self.addCleanup(self.openstack, \u0027router delete \u0027 + self.ROUTER)"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_2388e1c4","line":239,"in_reply_to":"da36d5c6_563cc3c7","updated":"2017-02-24 15:07:34.000000000","message":"The cleanup has to be in the order as it is now. Won\u0027t it result in an error if we try to delete a router first while it is still having extenal subnet and internal subnet port connected to it?","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"bc7ebb425a0a0449ed46fbf218b080ade32c34fc","unresolved":false,"context_lines":[{"line_number":236,"context_line":"                       + self.ROUTER)"},{"line_number":237,"context_line":"        self.openstack(\u0027router remove port \u0027 + self.ROUTER"},{"line_number":238,"context_line":"                       + \u0027 \u0027 + port_id)"},{"line_number":239,"context_line":"        self.addCleanup(self.openstack, \u0027router delete \u0027 + self.ROUTER)"}],"source_content_type":"text/x-python","patch_set":44,"id":"da36d5c6_b29978c6","line":239,"in_reply_to":"da36d5c6_be66a84e","updated":"2017-02-24 16:54:02.000000000","message":"Got it. Thank you Akihiro for explaining :) This was very helpful to learn.","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"83201112757b211969b34e28c03ca51c8f671575","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        self.openstack(\u0027floating ip unset port \u0027 + fp_ip)"},{"line_number":233,"context_line":"        self.openstack(\u0027floating ip delete \u0027 + fp_ip)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        self.openstack(\u0027router unset --external-gateway \u0027"},{"line_number":236,"context_line":"                       + self.ROUTER)"},{"line_number":237,"context_line":"        self.openstack(\u0027router remove port \u0027 + self.ROUTER"},{"line_number":238,"context_line":"                       + \u0027 \u0027 + port_id)"},{"line_number":239,"context_line":"        self.addCleanup(self.openstack, \u0027router delete \u0027 + self.ROUTER)"},{"line_number":240,"context_line":"        self.addCleanup(self.openstack, \u0027port delete \u0027 + port_id)"}],"source_content_type":"text/x-python","patch_set":46,"id":"da36d5c6_7e2a7091","line":240,"range":{"start_line":235,"start_character":8,"end_line":240,"end_character":65},"updated":"2017-02-24 15:34:00.000000000","message":"See my comment in the previous patch set.","commit_id":"3b93d669cc6ae2642eca5ee8c595b2beec9dd107"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"ce903c4e522a0e5a4f4c7dd8e35eb660749b9b22","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        self.openstack(\u0027floating ip unset port \u0027 + fp_ip)"},{"line_number":233,"context_line":"        self.openstack(\u0027floating ip delete \u0027 + fp_ip)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        self.openstack(\u0027router unset --external-gateway \u0027"},{"line_number":236,"context_line":"                       + self.ROUTER)"},{"line_number":237,"context_line":"        self.openstack(\u0027router remove port \u0027 + self.ROUTER"},{"line_number":238,"context_line":"                       + \u0027 \u0027 + port_id)"},{"line_number":239,"context_line":"        self.addCleanup(self.openstack, \u0027router delete \u0027 + self.ROUTER)"},{"line_number":240,"context_line":"        self.addCleanup(self.openstack, \u0027port delete \u0027 + port_id)"}],"source_content_type":"text/x-python","patch_set":46,"id":"da36d5c6_b2e0982a","line":240,"range":{"start_line":235,"start_character":8,"end_line":240,"end_character":65},"in_reply_to":"da36d5c6_7e2a7091","updated":"2017-02-24 16:53:53.000000000","message":"Done","commit_id":"3b93d669cc6ae2642eca5ee8c595b2beec9dd107"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b77ede4a2eaa96e479cc7c0f6dbd36ae2a79607","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                        + self.ROUTER)"},{"line_number":238,"context_line":"        self.addCleanup(self.openstack, \u0027router remove port \u0027 + self.ROUTER"},{"line_number":239,"context_line":"                        + \u0027 \u0027 + port_id)"},{"line_number":240,"context_line":"        self.addCleanup(self.openstack, \u0027floating ip unset port \u0027 + fp_ip)"}],"source_content_type":"text/x-python","patch_set":55,"id":"ba2be162_fa10f801","line":240,"updated":"2017-03-06 15:56:38.000000000","message":"addCleanup() should be called before asserts so the cleanup runs even in the assert fails.","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2379538e0c3069eec784959ca956431ee7f19787","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                        + self.ROUTER)"},{"line_number":238,"context_line":"        self.addCleanup(self.openstack, \u0027router remove port \u0027 + self.ROUTER"},{"line_number":239,"context_line":"                        + \u0027 \u0027 + port_id)"},{"line_number":240,"context_line":"        self.addCleanup(self.openstack, \u0027floating ip unset port \u0027 + fp_ip)"}],"source_content_type":"text/x-python","patch_set":55,"id":"9a30ddce_c8a72b09","line":240,"in_reply_to":"ba2be162_fa10f801","updated":"2017-03-10 17:01:25.000000000","message":"Done","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2d54015a1c4d660190c50d7b750494b985dc8790","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        # Create a network for the port"},{"line_number":47,"context_line":"        raw_output \u003d cls.openstack("},{"line_number":48,"context_line":"            \u0027network create \u0027 + cls.PRIVATE_NETWORK_NAME"},{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":"        cls.private_network_id \u003d re.search(cls.re_id, raw_output).group(1)"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":57,"id":"9a30ddce_fbbe5b63","line":48,"updated":"2017-03-13 03:44:16.000000000","message":"You need to delete this network after the test.","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"43051809e56f7b0ab11de1e45405f2c30bbb5e58","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        # Create a network for the port"},{"line_number":47,"context_line":"        raw_output \u003d cls.openstack("},{"line_number":48,"context_line":"            \u0027network create \u0027 + cls.PRIVATE_NETWORK_NAME"},{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":"        cls.private_network_id \u003d re.search(cls.re_id, raw_output).group(1)"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":57,"id":"9a30ddce_dea7c5a4","line":48,"in_reply_to":"9a30ddce_fbbe5b63","updated":"2017-03-13 04:38:38.000000000","message":"Done","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2d54015a1c4d660190c50d7b750494b985dc8790","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            \u0027port create --network \u0027 + self.PRIVATE_NETWORK_NAME"},{"line_number":209,"context_line":"            + \u0027 --fixed-ip subnet\u003d\u0027 + self.PRIVATE_SUBNET_NAME +"},{"line_number":210,"context_line":"            \u0027 \u0027 + self.PORT_NAME"},{"line_number":211,"context_line":"        )"},{"line_number":212,"context_line":"        re_port_id \u003d re.search(self.re_port_id, raw_output1)"},{"line_number":213,"context_line":"        self.assertIsNotNone(re_port_id)"},{"line_number":214,"context_line":"        port_id \u003d re_port_id.group(1)"}],"source_content_type":"text/x-python","patch_set":57,"id":"9a30ddce_7bb34b98","line":211,"updated":"2017-03-13 03:44:16.000000000","message":"The port created here needs to be deleted by addCleanup.","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"43051809e56f7b0ab11de1e45405f2c30bbb5e58","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            \u0027port create --network \u0027 + self.PRIVATE_NETWORK_NAME"},{"line_number":209,"context_line":"            + \u0027 --fixed-ip subnet\u003d\u0027 + self.PRIVATE_SUBNET_NAME +"},{"line_number":210,"context_line":"            \u0027 \u0027 + self.PORT_NAME"},{"line_number":211,"context_line":"        )"},{"line_number":212,"context_line":"        re_port_id \u003d re.search(self.re_port_id, raw_output1)"},{"line_number":213,"context_line":"        self.assertIsNotNone(re_port_id)"},{"line_number":214,"context_line":"        port_id \u003d re_port_id.group(1)"}],"source_content_type":"text/x-python","patch_set":57,"id":"9a30ddce_3eaf017e","line":211,"in_reply_to":"9a30ddce_7bb34b98","updated":"2017-03-13 04:38:38.000000000","message":"Done","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"f0de34ebcfeea0fb9e6bd3ffdd04706083fd9578","unresolved":false,"context_lines":[{"line_number":214,"context_line":"            + \u0027 --fixed-ip subnet\u003d\u0027 + self.PRIVATE_SUBNET_NAME +"},{"line_number":215,"context_line":"            \u0027 \u0027 + self.PORT_NAME"},{"line_number":216,"context_line":"        )"},{"line_number":217,"context_line":"        self.addCleanup(self.openstack, \u0027port delete \u0027 + port_id)"},{"line_number":218,"context_line":"        re_port_id \u003d re.search(self.re_port_id, raw_output1)"},{"line_number":219,"context_line":"        self.assertIsNotNone(re_port_id)"},{"line_number":220,"context_line":"        port_id \u003d re_port_id.group(1)"}],"source_content_type":"text/x-python","patch_set":58,"id":"9a30ddce_fedf290a","line":217,"range":{"start_line":217,"start_character":8,"end_line":217,"end_character":65},"updated":"2017-03-13 04:38:54.000000000","message":"Isn\u0027t this port deleted when \u0027router remove port\u0027 at L.233 is executed?","commit_id":"d66f0a443cad474706843305d69737580e7681ea"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        self.assertIsNotNone(re.search(self.re_network_id, raw_output))"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    def test_floating_ip_set_and_unset_port(self):"},{"line_number":202,"context_line":"        \"\"\"Test set\"\"\""},{"line_number":203,"context_line":"        raw_output \u003d self.openstack("},{"line_number":204,"context_line":"            \u0027floating ip create \u0027 +"},{"line_number":205,"context_line":"            \u0027--description shosho \u0027 +"}],"source_content_type":"text/x-python","patch_set":65,"id":"1a1ced50_17682df5","line":202,"range":{"start_line":202,"start_character":16,"end_line":202,"end_character":19},"updated":"2017-03-17 09:28:18.000000000","message":"floating ip set, unset port","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"}],"openstackclient/tests/unit/network/v2/test_floating_ip.py":[{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"7ee099ea4d60c49c21323078540e47a1efe145e9","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    def setUp(self):"},{"line_number":347,"context_line":"        super(TestAssociateFloatingIP, self).setUp()"},{"line_number":348,"context_line":"        self.network.update_ip \u003d mock.Mock(return_value\u003dNone)"},{"line_number":349,"context_line":"        self.network.find_network \u003d mock.Mock("},{"line_number":350,"context_line":"            return_value\u003dself.floating_network)"},{"line_number":351,"context_line":"        self.network.find_subnet \u003d mock.Mock(return_value\u003dself.subnet)"},{"line_number":352,"context_line":"        self.network.find_port \u003d mock.Mock(return_value\u003dself.port)"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_f9f2bd6e","line":349,"updated":"2016-11-15 06:56:20.000000000","message":"not sure if find_network, find_subnet and find_port are necessary since they aren\u0027t called","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"624a1138ce728057df6b468d59bf4ced77831a30","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    def setUp(self):"},{"line_number":347,"context_line":"        super(TestAssociateFloatingIP, self).setUp()"},{"line_number":348,"context_line":"        self.network.update_ip \u003d mock.Mock(return_value\u003dNone)"},{"line_number":349,"context_line":"        self.network.find_network \u003d mock.Mock("},{"line_number":350,"context_line":"            return_value\u003dself.floating_network)"},{"line_number":351,"context_line":"        self.network.find_subnet \u003d mock.Mock(return_value\u003dself.subnet)"},{"line_number":352,"context_line":"        self.network.find_port \u003d mock.Mock(return_value\u003dself.port)"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_cd47cd49","line":349,"in_reply_to":"7a77a97e_f9f2bd6e","updated":"2016-11-16 01:59:11.000000000","message":"Done","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"7ee099ea4d60c49c21323078540e47a1efe145e9","unresolved":false,"context_lines":[{"line_number":411,"context_line":"    def setUp(self):"},{"line_number":412,"context_line":"        super(TestDisassociateFloatingIP, self).setUp()"},{"line_number":413,"context_line":"        self.network.update_ip \u003d mock.Mock(return_value\u003dNone)"},{"line_number":414,"context_line":"        self.network.delete_ip \u003d mock.Mock(return_value\u003dNone)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"        # Get the command object to test"},{"line_number":417,"context_line":"        self.cmd \u003d floating_ip.DisassociateFloatingIP(self.app, self.namespace)"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_5902d13f","line":414,"updated":"2016-11-15 06:56:20.000000000","message":"not sure if delete_ip is needed either since delete_ip deletes an individual Floating IP and not related to disassociated a Floating IP from a port","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"624a1138ce728057df6b468d59bf4ced77831a30","unresolved":false,"context_lines":[{"line_number":411,"context_line":"    def setUp(self):"},{"line_number":412,"context_line":"        super(TestDisassociateFloatingIP, self).setUp()"},{"line_number":413,"context_line":"        self.network.update_ip \u003d mock.Mock(return_value\u003dNone)"},{"line_number":414,"context_line":"        self.network.delete_ip \u003d mock.Mock(return_value\u003dNone)"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"        # Get the command object to test"},{"line_number":417,"context_line":"        self.cmd \u003d floating_ip.DisassociateFloatingIP(self.app, self.namespace)"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a77a97e_0d78e58e","line":414,"in_reply_to":"7a77a97e_5902d13f","updated":"2016-11-16 01:59:11.000000000","message":"Done","commit_id":"539d30a2a201aad9e10dbd05cd954dd405670e12"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"5b77ede4a2eaa96e479cc7c0f6dbd36ae2a79607","unresolved":false,"context_lines":[{"line_number":666,"context_line":"    @mock.patch("},{"line_number":667,"context_line":"        \"openstackclient.tests.unit.network.v2.test_floating_ip.\" +"},{"line_number":668,"context_line":"        \"floating_ip._find_floating_ip\""},{"line_number":669,"context_line":"    )"},{"line_number":670,"context_line":"    def test_fixed_ip_option(self, find_floating_ip_mock):"},{"line_number":671,"context_line":"        find_floating_ip_mock.side_effect \u003d ["},{"line_number":672,"context_line":"            (self.floating_ip, []),"}],"source_content_type":"text/x-python","patch_set":55,"id":"ba2be162_1a994cc4","line":669,"updated":"2017-03-06 15:56:38.000000000","message":"Why are we mocking test code?","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2379538e0c3069eec784959ca956431ee7f19787","unresolved":false,"context_lines":[{"line_number":666,"context_line":"    @mock.patch("},{"line_number":667,"context_line":"        \"openstackclient.tests.unit.network.v2.test_floating_ip.\" +"},{"line_number":668,"context_line":"        \"floating_ip._find_floating_ip\""},{"line_number":669,"context_line":"    )"},{"line_number":670,"context_line":"    def test_fixed_ip_option(self, find_floating_ip_mock):"},{"line_number":671,"context_line":"        find_floating_ip_mock.side_effect \u003d ["},{"line_number":672,"context_line":"            (self.floating_ip, []),"}],"source_content_type":"text/x-python","patch_set":55,"id":"9a30ddce_e8d4efec","line":669,"in_reply_to":"ba2be162_1a994cc4","updated":"2017-03-10 17:01:25.000000000","message":"It\u0027s mocking _find_floating_ip right? I tried to use the same approach as [1].\n\n[1] https://github.com/openstack/python-openstackclient/blob/master/openstackclient/tests/unit/network/v2/test_floating_ip.py#L215","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        self.cmd \u003d floating_ip.SetFloatingIP(self.app, self.namespace)"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"    @mock.patch("},{"line_number":633,"context_line":"        \"openstackclient.tests.unit.network.v2.test_floating_ip.\" +"},{"line_number":634,"context_line":"        \"floating_ip._find_floating_ip\""},{"line_number":635,"context_line":"    )"},{"line_number":636,"context_line":"    def test_port_option(self, find_floating_ip_mock):"},{"line_number":637,"context_line":"        find_floating_ip_mock.side_effect \u003d ["}],"source_content_type":"text/x-python","patch_set":65,"id":"1a1ced50_7725e1c0","line":634,"range":{"start_line":633,"start_character":8,"end_line":634,"end_character":39},"updated":"2017-03-17 09:28:18.000000000","message":"please mock the \"floating_ip\" command module function directly by using @mock.patch.object, like:\n\n    @mock.patch.object(floating_ip, \u0027_find_floating_ip\u0027)","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":664,"context_line":"            self.floating_ip, **attrs)"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"    @mock.patch("},{"line_number":667,"context_line":"        \"openstackclient.tests.unit.network.v2.test_floating_ip.\" +"},{"line_number":668,"context_line":"        \"floating_ip._find_floating_ip\""},{"line_number":669,"context_line":"    )"},{"line_number":670,"context_line":"    def test_fixed_ip_option(self, find_floating_ip_mock):"},{"line_number":671,"context_line":"        find_floating_ip_mock.side_effect \u003d ["}],"source_content_type":"text/x-python","patch_set":65,"id":"1a1ced50_d72cd5ad","line":668,"range":{"start_line":667,"start_character":8,"end_line":668,"end_character":39},"updated":"2017-03-17 09:28:18.000000000","message":"ditto","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":721,"context_line":"        # Get the command object to test"},{"line_number":722,"context_line":"        self.cmd \u003d floating_ip.UnsetFloatingIP(self.app, self.namespace)"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"    @mock.patch("},{"line_number":725,"context_line":"        \"openstackclient.tests.unit.network.v2.test_floating_ip.\" +"},{"line_number":726,"context_line":"        \"floating_ip._find_floating_ip\""},{"line_number":727,"context_line":"    )"},{"line_number":728,"context_line":"    def test_floating_ip_unset_port(self, find_floating_ip_mock):"},{"line_number":729,"context_line":"        find_floating_ip_mock.side_effect \u003d ["},{"line_number":730,"context_line":"            (self.floating_ip, []),"}],"source_content_type":"text/x-python","patch_set":65,"id":"1a1ced50_f7171152","line":727,"range":{"start_line":724,"start_character":4,"end_line":727,"end_character":5},"updated":"2017-03-17 09:28:18.000000000","message":"ditto","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5541bdc6928cbf6d58eeb93fa9e7429eec8911cd","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        self.cmd \u003d floating_ip.SetFloatingIP(self.app, self.namespace)"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"    @mock.patch("},{"line_number":633,"context_line":"        \"openstackclient.tests.unit.network.v2.test_floating_ip.\" +"},{"line_number":634,"context_line":"        \"floating_ip._find_floating_ip\""},{"line_number":635,"context_line":"    )"},{"line_number":636,"context_line":"    def test_port_option(self, find_floating_ip_mock):"},{"line_number":637,"context_line":"        find_floating_ip_mock.side_effect \u003d ["}],"source_content_type":"text/x-python","patch_set":66,"id":"1a1ced50_68a31250","line":634,"range":{"start_line":633,"start_character":8,"end_line":634,"end_character":38},"updated":"2017-03-20 03:51:50.000000000","message":"looks the part is not fixed.","commit_id":"be018140997f22869a581608352e8d3b9a45e969"}],"releasenotes/notes/floating-ip-set-unset-port-28e33875937b69cf.yaml":[{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"7f26720761bdd6571641339c601e66aab749ecd7","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set port` and"},{"line_number":5,"context_line":"    `openstack floating ip unset port` command."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"da36d5c6_9660fbd0","line":5,"updated":"2017-02-24 03:08:05.000000000","message":"nit: commands","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b6e6852a78ac33fafd2120d1d9a1d8f83dd8fd8","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set port` and"},{"line_number":5,"context_line":"    `openstack floating ip unset port` command."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"da36d5c6_63a57945","line":5,"in_reply_to":"da36d5c6_9660fbd0","updated":"2017-02-24 15:07:34.000000000","message":"Done","commit_id":"eddf992d4f3001255896efde1dc701834dab8b6b"},{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"855de19011153bb72bdef9abdc8a6d48c6943188","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set port` and"},{"line_number":5,"context_line":"    `openstack floating ip unset port` commands."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":55,"id":"9a30ddce_b5b5a3d1","line":4,"range":{"start_line":4,"start_character":37,"end_line":4,"end_character":41},"updated":"2017-03-07 06:42:43.000000000","message":"As Dean mentioned port needs to be removed from the command","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2379538e0c3069eec784959ca956431ee7f19787","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set port` and"},{"line_number":5,"context_line":"    `openstack floating ip unset port` commands."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":55,"id":"9a30ddce_2849a7d0","line":4,"range":{"start_line":4,"start_character":37,"end_line":4,"end_character":41},"in_reply_to":"9a30ddce_b5b5a3d1","updated":"2017-03-10 17:01:25.000000000","message":"Done","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"855de19011153bb72bdef9abdc8a6d48c6943188","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set port` and"},{"line_number":5,"context_line":"    `openstack floating ip unset port` commands."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":55,"id":"9a30ddce_35ca9350","line":5,"range":{"start_line":5,"start_character":33,"end_line":5,"end_character":37},"updated":"2017-03-07 06:42:43.000000000","message":"ditto","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2379538e0c3069eec784959ca956431ee7f19787","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set port` and"},{"line_number":5,"context_line":"    `openstack floating ip unset port` commands."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":55,"id":"9a30ddce_48441bb6","line":5,"range":{"start_line":5,"start_character":33,"end_line":5,"end_character":37},"in_reply_to":"9a30ddce_35ca9350","updated":"2017-03-10 17:01:25.000000000","message":"Done","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2d54015a1c4d660190c50d7b750494b985dc8790","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set` and"},{"line_number":5,"context_line":"    `openstack floating ip unset` commands."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":57,"id":"9a30ddce_bb2ea3a2","line":6,"updated":"2017-03-13 03:44:16.000000000","message":"This blank line is unnecessary.","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"43051809e56f7b0ab11de1e45405f2c30bbb5e58","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set` and"},{"line_number":5,"context_line":"    `openstack floating ip unset` commands."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":57,"id":"9a30ddce_5eb2f5e5","line":6,"in_reply_to":"9a30ddce_bb2ea3a2","updated":"2017-03-13 04:38:38.000000000","message":"Done","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"2d54015a1c4d660190c50d7b750494b985dc8790","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Added `openstack floating ip set` and"},{"line_number":5,"context_line":"    `openstack floating ip unset` commands."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":57,"id":"9a30ddce_7b0fcb36","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":85},"updated":"2017-03-13 03:44:16.000000000","message":"Let\u0027s use \"lpbug\" directive.\n\n [:lpbug:`1560297`]","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"43051809e56f7b0ab11de1e45405f2c30bbb5e58","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Added `openstack floating ip set` and"},{"line_number":5,"context_line":"    `openstack floating ip unset` commands."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    [Bug `1560297 \u003chttps://bugs.launchpad.net/python-openstackclient/+bug/1560297\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":57,"id":"9a30ddce_7ecdf964","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":85},"in_reply_to":"9a30ddce_7b0fcb36","updated":"2017-03-13 04:38:38.000000000","message":"Done","commit_id":"4a75087cc586a0dfed8daf25bcbf95758a1355a2"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set` and"},{"line_number":5,"context_line":"    `openstack floating ip unset` commands."},{"line_number":6,"context_line":"    [:lpbug:`1560297`]"}],"source_content_type":"text/x-yaml","patch_set":65,"id":"1a1ced50_3220d79b","line":4,"range":{"start_line":4,"start_character":10,"end_line":4,"end_character":11},"updated":"2017-03-17 09:28:18.000000000","message":"``openstack floating ip set``","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"5a505e655d279bcfad193011a14ff79d9401aef2","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added `openstack floating ip set` and"},{"line_number":5,"context_line":"    `openstack floating ip unset` commands."},{"line_number":6,"context_line":"    [:lpbug:`1560297`]"}],"source_content_type":"text/x-yaml","patch_set":65,"id":"1a1ced50_b234c7de","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":5},"updated":"2017-03-17 09:28:18.000000000","message":"ditto","commit_id":"60dbf268fbcbaa20aab49eb2a099fac8a23c2b89"}],"setup.cfg":[{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"c917c85d9d1c24993c77e8d418212f26e9f661d0","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    network_segment_show \u003d openstackclient.network.v2.network_segment:ShowNetworkSegment"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    port_add_floating_ip \u003d openstackclient.network.v2.floating_ip:AssociateFloatingIP"},{"line_number":382,"context_line":"    port_remove_floating_ip \u003d openstackclient.network.v2.floating_ip:DisassociateFloatingIP"},{"line_number":383,"context_line":"    port_create \u003d openstackclient.network.v2.port:CreatePort"},{"line_number":384,"context_line":"    port_delete \u003d openstackclient.network.v2.port:DeletePort"},{"line_number":385,"context_line":"    port_list \u003d openstackclient.network.v2.port:ListPort"}],"source_content_type":"text/x-ttcn-cfg","patch_set":7,"id":"ba5da102_694b27b1","line":382,"updated":"2016-11-06 20:06:45.000000000","message":"nit: make alphabetical","commit_id":"7f0776a984f298e8dc4f547fdf054d5baf7c3715"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"46f07aaae8c202b5257d9e6a73b2eda02d726ac1","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    network_segment_show \u003d openstackclient.network.v2.network_segment:ShowNetworkSegment"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    port_add_floating_ip \u003d openstackclient.network.v2.floating_ip:AssociateFloatingIP"},{"line_number":382,"context_line":"    port_remove_floating_ip \u003d openstackclient.network.v2.floating_ip:DisassociateFloatingIP"},{"line_number":383,"context_line":"    port_create \u003d openstackclient.network.v2.port:CreatePort"},{"line_number":384,"context_line":"    port_delete \u003d openstackclient.network.v2.port:DeletePort"},{"line_number":385,"context_line":"    port_list \u003d openstackclient.network.v2.port:ListPort"}],"source_content_type":"text/x-ttcn-cfg","patch_set":7,"id":"ba5da102_db9dd15a","line":382,"in_reply_to":"ba5da102_694b27b1","updated":"2016-11-07 05:18:29.000000000","message":"Done","commit_id":"7f0776a984f298e8dc4f547fdf054d5baf7c3715"},{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"855de19011153bb72bdef9abdc8a6d48c6943188","unresolved":false,"context_lines":[{"line_number":341,"context_line":"    floating_ip_create \u003d openstackclient.network.v2.floating_ip:CreateFloatingIP"},{"line_number":342,"context_line":"    floating_ip_delete \u003d openstackclient.network.v2.floating_ip:DeleteFloatingIP"},{"line_number":343,"context_line":"    floating_ip_list \u003d openstackclient.network.v2.floating_ip:ListFloatingIP"},{"line_number":344,"context_line":"    floating_ip_set_port \u003d openstackclient.network.v2.floating_ip:SetFloatingIPPort"},{"line_number":345,"context_line":"    floating_ip_show \u003d openstackclient.network.v2.floating_ip:ShowFloatingIP"},{"line_number":346,"context_line":"    floating_ip_unset_port \u003d openstackclient.network.v2.floating_ip:UnsetFloatingIPPort"},{"line_number":347,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":55,"id":"9a30ddce_55ce275b","line":344,"range":{"start_line":344,"start_character":20,"end_line":344,"end_character":24},"updated":"2017-03-07 06:42:43.000000000","message":"ditto","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2379538e0c3069eec784959ca956431ee7f19787","unresolved":false,"context_lines":[{"line_number":341,"context_line":"    floating_ip_create \u003d openstackclient.network.v2.floating_ip:CreateFloatingIP"},{"line_number":342,"context_line":"    floating_ip_delete \u003d openstackclient.network.v2.floating_ip:DeleteFloatingIP"},{"line_number":343,"context_line":"    floating_ip_list \u003d openstackclient.network.v2.floating_ip:ListFloatingIP"},{"line_number":344,"context_line":"    floating_ip_set_port \u003d openstackclient.network.v2.floating_ip:SetFloatingIPPort"},{"line_number":345,"context_line":"    floating_ip_show \u003d openstackclient.network.v2.floating_ip:ShowFloatingIP"},{"line_number":346,"context_line":"    floating_ip_unset_port \u003d openstackclient.network.v2.floating_ip:UnsetFloatingIPPort"},{"line_number":347,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":55,"id":"9a30ddce_a80bd77b","line":344,"range":{"start_line":344,"start_character":20,"end_line":344,"end_character":24},"in_reply_to":"9a30ddce_55ce275b","updated":"2017-03-10 17:01:25.000000000","message":"Done","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"855de19011153bb72bdef9abdc8a6d48c6943188","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    floating_ip_list \u003d openstackclient.network.v2.floating_ip:ListFloatingIP"},{"line_number":344,"context_line":"    floating_ip_set_port \u003d openstackclient.network.v2.floating_ip:SetFloatingIPPort"},{"line_number":345,"context_line":"    floating_ip_show \u003d openstackclient.network.v2.floating_ip:ShowFloatingIP"},{"line_number":346,"context_line":"    floating_ip_unset_port \u003d openstackclient.network.v2.floating_ip:UnsetFloatingIPPort"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"    floating_ip_pool_list \u003d openstackclient.network.v2.floating_ip_pool:ListFloatingIPPool"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":55,"id":"9a30ddce_d5085794","line":346,"range":{"start_line":346,"start_character":22,"end_line":346,"end_character":26},"updated":"2017-03-07 06:42:43.000000000","message":"ditto","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"2379538e0c3069eec784959ca956431ee7f19787","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    floating_ip_list \u003d openstackclient.network.v2.floating_ip:ListFloatingIP"},{"line_number":344,"context_line":"    floating_ip_set_port \u003d openstackclient.network.v2.floating_ip:SetFloatingIPPort"},{"line_number":345,"context_line":"    floating_ip_show \u003d openstackclient.network.v2.floating_ip:ShowFloatingIP"},{"line_number":346,"context_line":"    floating_ip_unset_port \u003d openstackclient.network.v2.floating_ip:UnsetFloatingIPPort"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"    floating_ip_pool_list \u003d openstackclient.network.v2.floating_ip_pool:ListFloatingIPPool"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":55,"id":"9a30ddce_c80e4b8b","line":346,"range":{"start_line":346,"start_character":22,"end_line":346,"end_character":26},"in_reply_to":"9a30ddce_d5085794","updated":"2017-03-10 17:01:25.000000000","message":"Done","commit_id":"dc1a9c0476cf5362e43cd2b20da8cd924ddb4e02"}]}
