)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b589a4d02ee92cacc030d3c04bfeca186ea8f75d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This includes the parameter, body, and example verifications for"},{"line_number":10,"context_line":"api-ref servers-action-fixed-ip."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"part of bp:api-ref-in-rst"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I2b9971d7ff3716f330b55020bf37489dbc9e9b2c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a8ec9b2_d81f8759","line":12,"updated":"2016-09-20 15:49:33.000000000","message":"Please move this to blueprint api-ref-in-rst-ocata along with the topic branch.","commit_id":"02413f8817ce32748173a4452a3d340a69f6a543"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"885232373c786a5a90b87333dbd939d0b7b91cf3","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This includes the parameter, body, and example verifications for"},{"line_number":10,"context_line":"api-ref servers-action-fixed-ip."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"part of bp:api-ref-in-rst-ocata"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I2b9971d7ff3716f330b55020bf37489dbc9e9b2c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"1a430d35_185e88e9","line":12,"updated":"2017-02-03 19:48:12.000000000","message":"Let\u0027s target this to Pike now:\n\nblueprint api-ref-in-rst-pike","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f8ea333d7c5e4d4943775475b2219160aa638d75","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This includes the parameter, body, and example verifications for"},{"line_number":10,"context_line":"api-ref servers-action-fixed-ip."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"part of bp:api-ref-in-rst-ocata"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I2b9971d7ff3716f330b55020bf37489dbc9e9b2c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"fa31d9ce_b269cb27","line":12,"in_reply_to":"1a430d35_185e88e9","updated":"2017-02-13 18:44:32.000000000","message":"+1","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"}],"api-ref/source/parameters.yaml":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"df8d2943e6fa92763cee50862dfcd0ca366df9a2","unresolved":false,"context_lines":[{"line_number":3143,"context_line":"  type: string"},{"line_number":3144,"context_line":"removeFixedIp:"},{"line_number":3145,"context_line":"  description: |"},{"line_number":3146,"context_line":"    The action to remove a fixed ip address from a server."},{"line_number":3147,"context_line":"  in: body"},{"line_number":3148,"context_line":"  required: true"},{"line_number":3149,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9a89bdaa_40ab3575","line":3146,"range":{"start_line":3146,"start_character":51,"end_line":3146,"end_character":58},"updated":"2016-09-12 23:24:58.000000000","message":"it is better to put \u0027instance\u0027 like line 704 for the consistent doc.","commit_id":"0f0a3c2fd9c1f6e218d38d26129a4eabeda743ce"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"633b8c8b26ec4e4ab914717e54739ffb4a6dec32","unresolved":false,"context_lines":[{"line_number":3143,"context_line":"  type: string"},{"line_number":3144,"context_line":"removeFixedIp:"},{"line_number":3145,"context_line":"  description: |"},{"line_number":3146,"context_line":"    The action to remove a fixed ip address from a server."},{"line_number":3147,"context_line":"  in: body"},{"line_number":3148,"context_line":"  required: true"},{"line_number":3149,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7a8ec9b2_987b98f4","line":3146,"range":{"start_line":3146,"start_character":51,"end_line":3146,"end_character":58},"in_reply_to":"7a8ec9b2_7fcaeb6f","updated":"2016-09-19 11:16:36.000000000","message":"Those other places are wrong.\n\nWe should always use \"servers\" in the API docs.","commit_id":"0f0a3c2fd9c1f6e218d38d26129a4eabeda743ce"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"29d11c4bc9e8b96111faa4961a535cc36b2737d0","unresolved":false,"context_lines":[{"line_number":3143,"context_line":"  type: string"},{"line_number":3144,"context_line":"removeFixedIp:"},{"line_number":3145,"context_line":"  description: |"},{"line_number":3146,"context_line":"    The action to remove a fixed ip address from a server."},{"line_number":3147,"context_line":"  in: body"},{"line_number":3148,"context_line":"  required: true"},{"line_number":3149,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7a8ec9b2_7fcaeb6f","line":3146,"range":{"start_line":3146,"start_character":51,"end_line":3146,"end_character":58},"in_reply_to":"9a89bdaa_40ab3575","updated":"2016-09-14 16:41:07.000000000","message":"Thank you for your review Ken\u0027ichi.  I will make this change, and also change L704 to say \".. to the instance\"  (instead of  \"... to a server instance\")  as well.","commit_id":"0f0a3c2fd9c1f6e218d38d26129a4eabeda743ce"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4b3a4f027df9f58ef0783fc25253e2298dc5a0b9","unresolved":false,"context_lines":[{"line_number":701,"context_line":"  type: string"},{"line_number":702,"context_line":"addFixedIp:"},{"line_number":703,"context_line":"  description: |"},{"line_number":704,"context_line":"    The action to add a fixed ip address to the instance."},{"line_number":705,"context_line":"  in: body"},{"line_number":706,"context_line":"  required: true"},{"line_number":707,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7a8ec9b2_78432caf","line":704,"range":{"start_line":704,"start_character":48,"end_line":704,"end_character":56},"updated":"2016-09-19 11:16:01.000000000","message":"This is wrong, it really must be \"server\" anywhere in the API docs.","commit_id":"17191566fb7a657817e6340809b2980dc46394c1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4b3a4f027df9f58ef0783fc25253e2298dc5a0b9","unresolved":false,"context_lines":[{"line_number":3143,"context_line":"  type: string"},{"line_number":3144,"context_line":"removeFixedIp:"},{"line_number":3145,"context_line":"  description: |"},{"line_number":3146,"context_line":"    The action to remove a fixed ip address from the instance."},{"line_number":3147,"context_line":"  in: body"},{"line_number":3148,"context_line":"  required: true"},{"line_number":3149,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7a8ec9b2_d80a8078","line":3146,"range":{"start_line":3146,"start_character":53,"end_line":3146,"end_character":61},"updated":"2016-09-19 11:16:01.000000000","message":"As above. I think you got these correct first time.","commit_id":"17191566fb7a657817e6340809b2980dc46394c1"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"83f70c6f4c02e7df4d0018511bfde2a4812c37d4","unresolved":false,"context_lines":[{"line_number":803,"context_line":"    The action to add a fixed ip address to a server."},{"line_number":804,"context_line":"  in: body"},{"line_number":805,"context_line":"  required: true"},{"line_number":806,"context_line":"  type: string"},{"line_number":807,"context_line":"addFloatingIp:"},{"line_number":808,"context_line":"  description: |"},{"line_number":809,"context_line":"    The action."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"9a629dbe_6b29ade5","line":806,"range":{"start_line":806,"start_character":8,"end_line":806,"end_character":14},"updated":"2016-11-11 14:10:15.000000000","message":"this is a object?\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/schemas/multinic.py#L19","commit_id":"e72ca9cc03b4a4560dfaade23fe553fbad59776a"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"e1f3b6edb426b90ce109e829b51162825f952fe6","unresolved":false,"context_lines":[{"line_number":803,"context_line":"    The action to add a fixed ip address to a server."},{"line_number":804,"context_line":"  in: body"},{"line_number":805,"context_line":"  required: true"},{"line_number":806,"context_line":"  type: string"},{"line_number":807,"context_line":"addFloatingIp:"},{"line_number":808,"context_line":"  description: |"},{"line_number":809,"context_line":"    The action."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7a77a97e_ec784492","line":806,"range":{"start_line":806,"start_character":8,"end_line":806,"end_character":14},"in_reply_to":"9a629dbe_6b29ade5","updated":"2016-11-15 00:40:07.000000000","message":"This is fixed.","commit_id":"e72ca9cc03b4a4560dfaade23fe553fbad59776a"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"83f70c6f4c02e7df4d0018511bfde2a4812c37d4","unresolved":false,"context_lines":[{"line_number":3539,"context_line":"    The action to remove a fixed ip address from a server."},{"line_number":3540,"context_line":"  in: body"},{"line_number":3541,"context_line":"  required: true"},{"line_number":3542,"context_line":"  type: string"},{"line_number":3543,"context_line":"removeFloatingIp:"},{"line_number":3544,"context_line":"  description: |"},{"line_number":3545,"context_line":"    The action."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"9a629dbe_cb1ab9c5","line":3542,"range":{"start_line":3542,"start_character":8,"end_line":3542,"end_character":14},"updated":"2016-11-11 14:10:15.000000000","message":"ditto","commit_id":"e72ca9cc03b4a4560dfaade23fe553fbad59776a"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"e1f3b6edb426b90ce109e829b51162825f952fe6","unresolved":false,"context_lines":[{"line_number":3539,"context_line":"    The action to remove a fixed ip address from a server."},{"line_number":3540,"context_line":"  in: body"},{"line_number":3541,"context_line":"  required: true"},{"line_number":3542,"context_line":"  type: string"},{"line_number":3543,"context_line":"removeFloatingIp:"},{"line_number":3544,"context_line":"  description: |"},{"line_number":3545,"context_line":"    The action."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7a77a97e_2c731cb3","line":3542,"range":{"start_line":3542,"start_character":8,"end_line":3542,"end_character":14},"in_reply_to":"9a629dbe_cb1ab9c5","updated":"2016-11-15 00:40:07.000000000","message":"thix has been fixed as well.","commit_id":"e72ca9cc03b4a4560dfaade23fe553fbad59776a"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"a6c8563c02d7d5ca3270bf847fa7d1b4b1016b59","unresolved":false,"context_lines":[{"line_number":3036,"context_line":"net_id_req:"},{"line_number":3037,"context_line":"  description: |"},{"line_number":3038,"context_line":"    The network ID in the request body."},{"line_number":3039,"context_line":"  in: body"},{"line_number":3040,"context_line":"  required: true"},{"line_number":3041,"context_line":"  type: string"},{"line_number":3042,"context_line":"net_id_resp:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3a71b18c_e2743d69","line":3039,"updated":"2016-12-05 15:55:57.000000000","message":"Do you need to indicate that this parameter is found in the request?","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"ab8a63ede31bd445f23b2e9add48d800c7aeea69","unresolved":false,"context_lines":[{"line_number":3036,"context_line":"net_id_req:"},{"line_number":3037,"context_line":"  description: |"},{"line_number":3038,"context_line":"    The network ID in the request body."},{"line_number":3039,"context_line":"  in: body"},{"line_number":3040,"context_line":"  required: true"},{"line_number":3041,"context_line":"  type: string"},{"line_number":3042,"context_line":"net_id_resp:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3a461143_d971d645","line":3039,"in_reply_to":"3a461143_2ca8dd8c","updated":"2017-01-30 20:37:24.000000000","message":"I think the typical pattern found in the API ref is the lookup parameter name can be what you like/what is close to the actual parameter name, but the parameter listed in the rest_parameter stanza should be the actual field in the request/response. To show nested objects, you could list the parameter in the .inc file as, for example,\naddFixedIp.networkId","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"a5a37e386419b72304a1ea52e28802e09b735904","unresolved":false,"context_lines":[{"line_number":3036,"context_line":"net_id_req:"},{"line_number":3037,"context_line":"  description: |"},{"line_number":3038,"context_line":"    The network ID in the request body."},{"line_number":3039,"context_line":"  in: body"},{"line_number":3040,"context_line":"  required: true"},{"line_number":3041,"context_line":"  type: string"},{"line_number":3042,"context_line":"net_id_resp:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3a461143_2ca8dd8c","line":3039,"in_reply_to":"3a71b18c_e2743d69","updated":"2017-01-30 19:22:52.000000000","message":"I can change the description to  \u0027The required network ID parameter for addFixedIP request\u0027 to correctly reflect its actual context.    Please let me know what you think.","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"56699e1487e55163adec6375770f78e30071617a","unresolved":false,"context_lines":[{"line_number":3164,"context_line":"  description: |"},{"line_number":3165,"context_line":"    The network ID in the request body."},{"line_number":3166,"context_line":"  in: body"},{"line_number":3167,"context_line":"  required: true"},{"line_number":3168,"context_line":"  type: string"},{"line_number":3169,"context_line":"net_id_resp:"},{"line_number":3170,"context_line":"  description: |"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"fa31d9ce_e0500961","line":3167,"updated":"2017-02-17 14:24:52.000000000","message":"These parameters are fine (net_id_req, net_id_resp), though, as they are exactly the same for the request and the response, I would suggest that one be eliminated for easier maintenance. I don\u0027t think you need to futher clarify that the id is in the request body.","commit_id":"704f317c4b1fbe5b131e55c60597f9192400f07a"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2d13117c9405de7c7ea113fd9e2ca3c06a225eaf","unresolved":false,"context_lines":[{"line_number":3164,"context_line":"  description: |"},{"line_number":3165,"context_line":"    The network ID in the request body."},{"line_number":3166,"context_line":"  in: body"},{"line_number":3167,"context_line":"  required: true"},{"line_number":3168,"context_line":"  type: string"},{"line_number":3169,"context_line":"net_id_resp:"},{"line_number":3170,"context_line":"  description: |"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"da36d5c6_427cddeb","line":3167,"in_reply_to":"fa31d9ce_e0500961","updated":"2017-02-25 02:37:45.000000000","message":"Agree","commit_id":"704f317c4b1fbe5b131e55c60597f9192400f07a"}],"api-ref/source/servers-action-fixed-ip.inc":[{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"f0c495ee5c41526f7cd83391c2a3bef6d437b124","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  - server_id: server_id"},{"line_number":30,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":31,"context_line":"  - networkId: ip_address"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action): JSON request**"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":2,"id":"1aa78d24_5c7fa9df","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":14},"updated":"2016-07-06 23:48:04.000000000","message":"Just a question - I noticed that here it says \"networkId\" but actually we are passing a fixed ip address, not \"networkId\".  I believe this should also be \"address\" just like the one for the removeFixedIp action.  However, changing this will require a change to the multinic.py module as well.","commit_id":"c2e92a38afe0068a92479ef2359eee4859fb3f87"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"96e2a9afa89dae85269e2c432c4e97614a4cbe67","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  - server_id: server_id_path"},{"line_number":30,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":31,"context_line":"  - networkId: ip_address"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action): JSON request**"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":4,"id":"1aa78d24_01e743ac","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":13},"updated":"2016-07-07 19:52:57.000000000","message":"Carryover question from Patch 2:\n\nThe addFixedIp request body shows \"networkId\" tag but actually we are passing a fixed ip address value, not a network ID. Should we change \"networkId\" tag to \"address\" just like what the removeFixedIp action\u0027s request body has? I understand that changing this will also entail changing a few other files/modules (one of which is api/openstack/compute/multinic.py).   Please advise.","commit_id":"0f0a3c2fd9c1f6e218d38d26129a4eabeda743ce"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"df8d2943e6fa92763cee50862dfcd0ca366df9a2","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  - server_id: server_id_path"},{"line_number":30,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":31,"context_line":"  - networkId: ip_address"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action): JSON request**"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":4,"id":"9a89bdaa_203e3128","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":13},"in_reply_to":"1aa78d24_01e743ac","updated":"2016-09-12 23:24:58.000000000","message":"I think the networkId is network id, not ip address because Tempest is doing that based on https://github.com/openstack/tempest/blob/master/tempest/api/compute/servers/test_attach_interfaces.py#L261\n\nAnyways, the parameter name should not be changed because this api-ref should show actual parameter names for users.","commit_id":"0f0a3c2fd9c1f6e218d38d26129a4eabeda743ce"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"29d11c4bc9e8b96111faa4961a535cc36b2737d0","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  - server_id: server_id_path"},{"line_number":30,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":31,"context_line":"  - networkId: ip_address"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action): JSON request**"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":4,"id":"7a8ec9b2_ffca7b19","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":13},"in_reply_to":"9a89bdaa_203e3128","updated":"2016-09-14 16:41:07.000000000","message":"Ken\u0027ichi,  thank you for the clarification.  I\u0027ll keep the \u0027networkId\u0027 label as is.","commit_id":"0f0a3c2fd9c1f6e218d38d26129a4eabeda743ce"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ee4ccdf452cb0b112b9f5b4a76d2df94e073d2fc","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"Add (Associate) Fixed Ip (addFixedIp Action)"},{"line_number":4,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":".. rest_method:: POST /servers/{server_id}/action"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Adds a fixed IP address to a server instance, which associates that"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"7a8ec9b2_35244d0b","line":5,"updated":"2016-09-19 11:10:37.000000000","message":"These are nova-network only, I think we should add something like we have for cloudpipe:\nhttps://git.openstack.org/cgit/openstack/nova/tree/api-ref/source/os-cloudpipe.inc#n7","commit_id":"17191566fb7a657817e6340809b2980dc46394c1"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"b26be83c52816f40e6a87559577a831079ce7126","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"Add (Associate) Fixed Ip (addFixedIp Action)"},{"line_number":4,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":".. rest_method:: POST /servers/{server_id}/action"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Adds a fixed IP address to a server instance, which associates that"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"7a8ec9b2_a97388e6","line":5,"in_reply_to":"7a8ec9b2_35244d0b","updated":"2016-09-19 19:16:07.000000000","message":"the deprecate warning message will be added in the next patch.","commit_id":"17191566fb7a657817e6340809b2980dc46394c1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ee4ccdf452cb0b112b9f5b4a76d2df94e073d2fc","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  - server_id: server_id_path"},{"line_number":30,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":31,"context_line":"  - networkId: ip_address"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action): JSON request**"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":5,"id":"7a8ec9b2_7817ac44","line":31,"range":{"start_line":31,"start_character":15,"end_line":31,"end_character":25},"updated":"2016-09-19 11:10:37.000000000","message":"This is actually the nova-network network id, I believe. Its not the IP address.","commit_id":"17191566fb7a657817e6340809b2980dc46394c1"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"b26be83c52816f40e6a87559577a831079ce7126","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  - server_id: server_id_path"},{"line_number":30,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":31,"context_line":"  - networkId: ip_address"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action): JSON request**"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":5,"id":"7a8ec9b2_2935b8f6","line":31,"range":{"start_line":31,"start_character":15,"end_line":31,"end_character":25},"in_reply_to":"7a8ec9b2_7817ac44","updated":"2016-09-19 19:16:07.000000000","message":"You are right, John.  The fix will be delivered in the next patch.","commit_id":"17191566fb7a657817e6340809b2980dc46394c1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fd9f3e208841915ced7c6382f5f0d78e945e7af3","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":".. warning::"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   This API only works with ``nova-network`` which is"},{"line_number":9,"context_line":"   deprecated in favor of Neutron."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":".. rest_method:: POST /servers/{server_id}/action"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":8,"id":"5a8bc5a2_582a1c91","line":9,"range":{"start_line":8,"start_character":3,"end_line":9,"end_character":34},"updated":"2016-09-27 00:22:19.000000000","message":"This is actually not true:\n\nhttps://github.com/openstack/nova/blob/ebb51d50dcbc0052dc95a2595cd904c59df8b0d2/nova/network/neutronv2/api.py#L1338\n\nThis is also tested in tempest here:\n\nhttps://github.com/openstack/tempest/blob/3570c1e90face7562b336b4437dd59b3a5d3f675/tempest/api/compute/servers/test_attach_interfaces.py#L254\n\nIn fact that test only runs for neutron jobs:\n\nhttps://github.com/openstack/tempest/blob/3570c1e90face7562b336b4437dd59b3a5d3f675/tempest/api/compute/servers/test_attach_interfaces.py#L36","commit_id":"1398db0adbc83da1936d755b5127148e1952ddd6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fa21bdac14a13b7d01180d04458140f966a1ef64","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":".. warning::"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   This API only works with ``nova-network`` which is"},{"line_number":9,"context_line":"   deprecated in favor of Neutron."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":".. rest_method:: POST /servers/{server_id}/action"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":8,"id":"5a8bc5a2_d3e9afb8","line":9,"range":{"start_line":8,"start_character":3,"end_line":9,"end_character":34},"in_reply_to":"5a8bc5a2_1395d785","updated":"2016-09-27 00:53:16.000000000","message":"FYI:\n\nhttp://logs.openstack.org/13/294513/20/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial/b813806/logs/tempest.txt.gz#_2016-09-21_14_00_09_909\n\nBody: {\"addFixedIp\": {\"networkId\": \"8ef04095-a87f-45d3-920e-d2f7a022f32f\"}}","commit_id":"1398db0adbc83da1936d755b5127148e1952ddd6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c92e524228760fd5c16376d9b2278d98762917cd","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":".. warning::"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   This API only works with ``nova-network`` which is"},{"line_number":9,"context_line":"   deprecated in favor of Neutron."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":".. rest_method:: POST /servers/{server_id}/action"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":8,"id":"5a8bc5a2_1395d785","line":9,"range":{"start_line":8,"start_character":3,"end_line":9,"end_character":34},"in_reply_to":"5a8bc5a2_582a1c91","updated":"2016-09-27 00:33:56.000000000","message":"Also, since the addFixedIP action isn\u0027t deprecated for nova-network with 2.36 since it\u0027s a server resource action, we probably don\u0027t need a warning at all. That\u0027s kind of a tricky one with the 2.36 microversion in that network APIs and proxies are deprecated except for actions on non-deprecated resources, like servers. We\u0027ll have the same thing with addFloatingIP.","commit_id":"1398db0adbc83da1936d755b5127148e1952ddd6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"1d628af71eb5a0470b865a658c903156174d7e2a","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":".. warning::"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   This API only works with ``nova-network`` which is"},{"line_number":9,"context_line":"   deprecated in favor of Neutron."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":".. rest_method:: POST /servers/{server_id}/action"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":8,"id":"5a8bc5a2_493e942a","line":9,"range":{"start_line":8,"start_character":3,"end_line":9,"end_character":34},"in_reply_to":"5a8bc5a2_d3e9afb8","updated":"2016-09-27 21:50:51.000000000","message":"So to clarify, I will remove the deprecation warning per Matt\u0027s comments.  Instead, I will replace them with a  statement to describe the networkId values expected from nova-net (id or UUID) and neutron (uuid only).   Let me know if you think otherwise.","commit_id":"1398db0adbc83da1936d755b5127148e1952ddd6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"05ed55b44b8db678d02dbf723d5e39fed968cbd2","unresolved":false,"context_lines":[{"line_number":3,"context_line":"Add (Associate) Fixed Ip (addFixedIp Action)"},{"line_number":4,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":".. note::"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   Network APIs and proxies are deprecated begining microversion 2.36, except"},{"line_number":9,"context_line":"   for actions on non-deprecated resources such as servers. The addFixedIp"},{"line_number":10,"context_line":"   action is one such exemption."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":".. rest_method:: POST /servers/{server_id}/action"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":10,"id":"3a98d1f4_90914f9c","line":10,"range":{"start_line":6,"start_character":0,"end_line":10,"end_character":32},"updated":"2016-09-29 17:56:20.000000000","message":"I replaced the \"warning\" with \"note\"  based on Matt\u0027s 2nd comment from patch 8:\n\nhttps://review.openstack.org/#/c/338606/8/api-ref/source/servers-action-fixed-ip.inc","commit_id":"96574399f29b802180309bcdadbd2771c61c6a76"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"05ed55b44b8db678d02dbf723d5e39fed968cbd2","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Remove (Disassociate) Fixed Ip (removeFixedIp Action)"},{"line_number":51,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":".. note::"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"   Network APIs and proxies are deprecated begining microversion 2.36, except"},{"line_number":56,"context_line":"   for actions on non-deprecated resources such as servers. The removeFixedIp"},{"line_number":57,"context_line":"   action is one such exemption."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. rest_method:: POST /servers/{server_id}/action"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":10,"id":"3a98d1f4_d0baf7e0","line":57,"range":{"start_line":53,"start_character":0,"end_line":57,"end_character":32},"updated":"2016-09-29 17:56:20.000000000","message":"Ditto","commit_id":"96574399f29b802180309bcdadbd2771c61c6a76"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9b17ecfaf2ffa47babe86651dc11ce01f0083610","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":".. note::"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   Network APIs and proxies are deprecated begining microversion 2.36, except"},{"line_number":9,"context_line":"   for actions on non-deprecated resources such as servers. The addFixedIp"},{"line_number":10,"context_line":"   action is one such exemption."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":11,"id":"1a95cdbc_6c8e5e7a","line":8,"range":{"start_line":8,"start_character":43,"end_line":8,"end_character":51},"updated":"2016-10-07 15:51:23.000000000","message":"beginning (two ns)","commit_id":"6c230c81cfeb87bd89f4048a738c3c41383a7698"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"19b3b02ef56b62a962d19c23ef90220002e58f18","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Normal response codes: 202"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Error response codes: badRequest(400), itemNotFound(404)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Request"},{"line_number":29,"context_line":"-------"}],"source_content_type":"text/x-c++src","patch_set":15,"id":"7a77a97e_e4e4bfad","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":56},"updated":"2016-11-21 23:29:18.000000000","message":"removed error response codes 401 and 403 per https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/multinic.py#L40","commit_id":"c723e7f911587be5fc886c7c586d38c8fc702fed"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"19b3b02ef56b62a962d19c23ef90220002e58f18","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Normal response codes: 202"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Error response codes: badRequest(400), itemNotFound(404)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Request"},{"line_number":72,"context_line":"-------"}],"source_content_type":"text/x-c++src","patch_set":15,"id":"7a77a97e_64e7cfac","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":56},"updated":"2016-11-21 23:29:18.000000000","message":"removed error response codes 401 and 403 per https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/multinic.py#L58","commit_id":"c723e7f911587be5fc886c7c586d38c8fc702fed"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f763a76bd9a2e0f0a82642e9d069a49914d04e69","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Normal response codes: 202"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Request"},{"line_number":26,"context_line":"-------"}],"source_content_type":"text/x-c++src","patch_set":16,"id":"5a74a57a_256adeee","side":"PARENT","line":23,"range":{"start_line":23,"start_character":58,"end_line":23,"end_character":67},"updated":"2016-11-25 13:55:34.000000000","message":"you mentioned removed because of \nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/multinic.py#L40\n\nhowever, you need check those 2 :)\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/extensions.py#L347\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/extensions.py#L359","commit_id":"54482fde22742bc852414c58552fe64ea59d61d5"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"a6c8563c02d7d5ca3270bf847fa7d1b4b1016b59","unresolved":false,"context_lines":[{"line_number":6,"context_line":".. note::"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   Network APIs and proxies are deprecated beginning microversion 2.36, except"},{"line_number":9,"context_line":"   for actions on non-deprecated resources such as servers. The addFixedIp"},{"line_number":10,"context_line":"   action is one such exemption."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":".. rest_method:: POST /servers/{server_id}/action"}],"source_content_type":"text/x-c++src","patch_set":18,"id":"3a71b18c_e2435d40","line":9,"updated":"2016-12-05 15:55:57.000000000","message":"Network APIs and proxies are deprecated as of microversion 2.36\nOR\nNetwork APIs and proxies are deprecated beginning with ...","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"e08c53818ccfd529bc2f94ec049ce7d37204cd18","unresolved":false,"context_lines":[{"line_number":6,"context_line":".. note::"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   Network APIs and proxies are deprecated beginning microversion 2.36, except"},{"line_number":9,"context_line":"   for actions on non-deprecated resources such as servers. The addFixedIp"},{"line_number":10,"context_line":"   action is one such exemption."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":".. rest_method:: POST /servers/{server_id}/action"}],"source_content_type":"text/x-c++src","patch_set":18,"id":"fa31d9ce_a37978ca","line":9,"in_reply_to":"3a71b18c_e2435d40","updated":"2017-02-13 21:22:53.000000000","message":"Done","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"a6c8563c02d7d5ca3270bf847fa7d1b4b1016b59","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  - server_id: server_id_path"},{"line_number":35,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":36,"context_line":"  - networkId: net_id_req"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action)**"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json"}],"source_content_type":"text/x-c++src","patch_set":18,"id":"3a71b18c_e24d1d3f","line":37,"updated":"2016-12-05 15:55:57.000000000","message":"You may want to list the networkId parameter as:\naddFixedIp.networkId?","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f8ea333d7c5e4d4943775475b2219160aa638d75","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  - server_id: server_id_path"},{"line_number":35,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":36,"context_line":"  - networkId: net_id_req"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action)**"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json"}],"source_content_type":"text/x-c++src","patch_set":18,"id":"fa31d9ce_1219b788","line":37,"in_reply_to":"3a461143_dc8b8466","updated":"2017-02-13 18:44:32.000000000","message":"Yeah, some APIs do like:\n\nhttps://github.com/openstack/nova/blob/master/api-ref/source/os-hosts.inc#L64-L70\n\n 64   - host: host_resource_array\n 65   - resource: host_resource\n 66   - host.project: host_project\n 67   - host.cpu: host_cpu\n 68   - host.memory_mb: host_memory_mb\n 69   - host.disk_gb: host_disk_gb\n 70   - host.host: host_name_body\n\nAnd that seems readable for users to understand the structure.\nBut majority of parameters is still without this kind of objects. So it is better to get some consensus about that.","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"ab8a63ede31bd445f23b2e9add48d800c7aeea69","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  - server_id: server_id_path"},{"line_number":35,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":36,"context_line":"  - networkId: net_id_req"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action)**"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json"}],"source_content_type":"text/x-c++src","patch_set":18,"id":"3a461143_dc8b8466","line":37,"in_reply_to":"3a461143_e1a89e79","updated":"2017-01-30 20:37:24.000000000","message":"The actual field name could be,\naddFixedIp.networkId as networkId is nested in the object addFixedIp. Right? The lookup value is fine.","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"a5a37e386419b72304a1ea52e28802e09b735904","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  - server_id: server_id_path"},{"line_number":35,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":36,"context_line":"  - networkId: net_id_req"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action)**"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json"}],"source_content_type":"text/x-c++src","patch_set":18,"id":"3a461143_e1a89e79","line":37,"in_reply_to":"3a71b18c_e24d1d3f","updated":"2017-01-30 19:22:52.000000000","message":"Clarification needed - do you mean rename \"net_id_req\" to \"networkId\"?   \n\nPlease see my added comment for net_id_req in parameter.yaml file.","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5c39b0048532724e7a316ba228c91d0f68535a60","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  - server_id: server_id_path"},{"line_number":35,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":36,"context_line":"  - networkId: net_id_req"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action)**"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json"}],"source_content_type":"text/x-c++src","patch_set":18,"id":"fa31d9ce_2d62dcad","line":37,"in_reply_to":"fa31d9ce_1219b788","updated":"2017-02-13 18:51:28.000000000","message":"I believe the above is only needed because \"host\" appears twice.\n\nLets keep it simple, like it is here, when we can.\n\nThe sample request and response makes the structure clear. Its best not to repeat ourselves too much.","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"3d4c16ecaa5d2e8cea593ac167c99be8cf3e19b3","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  - server_id: server_id_path"},{"line_number":35,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":36,"context_line":"  - networkId: net_id_req"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action)**"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json"}],"source_content_type":"text/x-c++src","patch_set":18,"id":"fa31d9ce_4d839004","line":37,"in_reply_to":"fa31d9ce_1219b788","updated":"2017-02-13 18:56:37.000000000","message":"We had some conversation about this kind of change and this case is fine without the object name because the structure is very simple.\n\n　10:47 (oomichi) sdague: johnthetubaguy: hi, about api-ref thing:   Which do you prefer: \"Including object name in parameter\" or not (like addFixedIp.networkId vs networkId)\n　10:47 (oomichi) sdague: johnthetubaguy: I am reviewing https://review.openstack.org/#/c/338606/18/api-ref/source/servers-action-fixed-ip.inc\n　10:48 (oomichi) addFixedIp.networkId seems easy to understand the structures of requrest/response of APIs\n　10:49 (johnthetubaguy) oomichi: I thought we only did that if it was unclear which bit of the request/response we were talking about\n　10:50 (johnthetubaguy) oomichi: so for host.host, we needed it for all of them\n　10:50 (oomichi) johnthetubaguy: like multiple paramters in a single object?\n　10:50 (johnthetubaguy) oomichi: like \"host\" appears twice\n　10:50 (oomichi) johnthetubaguy: ah, nice sample :)\n　10:50 (mriedem) we have that all over, like networks.port\n　10:50 (mriedem) block_device_mapping_v2.boot_index\n　10:54 (oomichi) mriedem: yeah, that aslo is a nice sample. \"create a server\" is super complex API, then it is nice to clarify which object the parameters belong to","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"dd2d6fd9d58bd9b424ff31960d5c1c1bcbebbf5e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  - server_id: server_id_path"},{"line_number":35,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":36,"context_line":"  - networkId: net_id_req"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action)**"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json"}],"source_content_type":"text/x-c++src","patch_set":18,"id":"fa31d9ce_23be6865","line":37,"in_reply_to":"fa31d9ce_4d839004","updated":"2017-02-13 21:20:51.000000000","message":"thank you guys for the input.  Will leave the parameter name as is.","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"ab8a63ede31bd445f23b2e9add48d800c7aeea69","unresolved":false,"context_lines":[{"line_number":36,"context_line":"  - networkId: net_id_req"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action)**"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json"},{"line_number":41,"context_line":"   :language: javascript"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":18,"id":"3a461143_9cdc9c74","line":39,"updated":"2017-01-30 20:37:24.000000000","message":"The action should be addFixedIp?","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"e08c53818ccfd529bc2f94ec049ce7d37204cd18","unresolved":false,"context_lines":[{"line_number":36,"context_line":"  - networkId: net_id_req"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (Addfixedip Action)**"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json"},{"line_number":41,"context_line":"   :language: javascript"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":18,"id":"fa31d9ce_43519c35","line":39,"in_reply_to":"3a461143_9cdc9c74","updated":"2017-02-13 21:22:53.000000000","message":"Done","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"ab8a63ede31bd445f23b2e9add48d800c7aeea69","unresolved":false,"context_lines":[{"line_number":81,"context_line":"  - address: ip_address"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"**Example Remove (Disassociate) Fixed Ip (Removefixedip Action)**"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-remove-fixed-ip-req.json"},{"line_number":86,"context_line":"   :language: javascript"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":18,"id":"3a461143_9cc3bc88","line":84,"updated":"2017-01-30 20:37:24.000000000","message":"The action should be removeFixedIp?","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"e08c53818ccfd529bc2f94ec049ce7d37204cd18","unresolved":false,"context_lines":[{"line_number":81,"context_line":"  - address: ip_address"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"**Example Remove (Disassociate) Fixed Ip (Removefixedip Action)**"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":".. literalinclude:: ../../doc/api_samples/os-multinic/multinic-remove-fixed-ip-req.json"},{"line_number":86,"context_line":"   :language: javascript"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":18,"id":"fa31d9ce_037de4b0","line":84,"in_reply_to":"3a461143_9cc3bc88","updated":"2017-02-13 21:22:53.000000000","message":"Done","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6a34cffaaec8f1c6ccbabec3a2a26c33fb299cb0","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  - server_id: server_id_path"},{"line_number":35,"context_line":"  - addFixedIp: addFixedIp"},{"line_number":36,"context_line":"  - networkId: net_id_resp"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"**Example Add (Associate) Fixed Ip (addFixedIp Action)**"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":22,"id":"9a30ddce_043ba7ec","line":36,"range":{"start_line":36,"start_character":15,"end_line":36,"end_character":26},"updated":"2017-03-07 04:50:39.000000000","message":"name seems confusing in request but ok for me to avoid duplication in parameters.yaml","commit_id":"5c574cf31c46505581f37186ace740dea2d2e013"}],"doc/api_samples/os-multinic/multinic-add-fixed-ip-req.json":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"48694396e1a7a3dae754d7167079ed78532dbe5e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": \"10.0.0.4\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":5,"id":"7a8ec9b2_78c24c54","line":3,"updated":"2016-09-19 11:11:18.000000000","message":"is that correct? Hmm... let me dig into that.","commit_id":"17191566fb7a657817e6340809b2980dc46394c1"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"b26be83c52816f40e6a87559577a831079ce7126","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": \"10.0.0.4\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":5,"id":"7a8ec9b2_815a264f","line":3,"in_reply_to":"7a8ec9b2_38cfe456","updated":"2016-09-19 19:16:07.000000000","message":"You are right, John.  This should have been the network id, not the ip address.  Will be fixed in the next patch.","commit_id":"17191566fb7a657817e6340809b2980dc46394c1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"08bc3b688b1f691d544bbb3ac535c6c721ee4551","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": \"10.0.0.4\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":5,"id":"7a8ec9b2_38cfe456","line":3,"in_reply_to":"7a8ec9b2_78c24c54","updated":"2016-09-19 11:14:28.000000000","message":"Did you update this using tox in the usual way? I don\u0027t see how this can be an IP address?\n\nYou can see the logic used here:\nhttps://github.com/openstack/nova/blob/ceaacaa24fb50d484d4434915f3943fd9d97642a/nova/network/manager.py#L702","commit_id":"17191566fb7a657817e6340809b2980dc46394c1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"64c5bed072c964ceda61c9147c621792ac4bf240","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": \"79b1e5d9-d1e0-4b7e-9895-319d3c16cf2a\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":8,"id":"5a8bc5a2_300bcd2b","line":3,"updated":"2016-09-26 13:39:57.000000000","message":"I don\u0027t believe that is correct. I think in nova-network the network-id is an int, and this only works with nova-network.\n\nHow are you making these sample changes, they should only be updated using a tox run:\nhttps://github.com/openstack/nova/blob/647d53f5c9331a798099b765532a3025c5736a15/tox.ini#L46","commit_id":"1398db0adbc83da1936d755b5127148e1952ddd6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9a32e36f396cd2709ff3ebfeb78d14c624bb0ea3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": \"79b1e5d9-d1e0-4b7e-9895-319d3c16cf2a\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":8,"id":"5a8bc5a2_d359af36","line":3,"in_reply_to":"5a8bc5a2_300bcd2b","updated":"2016-09-27 00:26:19.000000000","message":"Since this is implemented for both nova-network and neutron, we could actually have two samples, one for each network backend - maybe that would help us avoid confusion. The actual api-samples functional tests would I think only care about the nova-network one since that\u0027s what our fake network backend used in the functional tests cares about, but it might help avoid confusion in the api-ref docs if we have samples for both.","commit_id":"1398db0adbc83da1936d755b5127148e1952ddd6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"1d628af71eb5a0470b865a658c903156174d7e2a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": \"79b1e5d9-d1e0-4b7e-9895-319d3c16cf2a\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":8,"id":"5a8bc5a2_235dee48","line":3,"in_reply_to":"5a8bc5a2_d359af36","updated":"2016-09-27 21:50:51.000000000","message":"I incorrectly tested this originally with neutron and not with nova-network.  \n\nI\u0027ve been able test the \"nova-network\" successfully this time - and I discovered two items: \n1) nova-net accepts EITHER the network ID OR network UUID value.\n2) when running with network ID (integer) value, the request json shows the integer being converted into a string by enclosing it in quotes:\n\n{  \n   \"addFixedIp\":{  \n      \"networkId\":\"1\"  \u003c--- integer as a string value\n   }\n}\n\nSince the logic already converts the networkID from nova-net to a string in the request json, I think we don\u0027t need to create a separate neutron sample showing the networkId with a string value.  I\u0027ll replace the original request json to enclosed the integer in quotes (\"1\" instead of 1) - and will replace the deprecate warning statement with the nova-net/neutron networkID value expectations in the api-ref source file).","commit_id":"1398db0adbc83da1936d755b5127148e1952ddd6"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"05ed55b44b8db678d02dbf723d5e39fed968cbd2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": \"1\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":10,"id":"3a98d1f4_50cb4753","line":3,"range":{"start_line":3,"start_character":22,"end_line":3,"end_character":23},"updated":"2016-09-29 17:56:20.000000000","message":"I replaced the original 1 (as integer) to \"1\" as string (enclosed in quotes).  Made this change after testing it in devstack running openstack-api-version 2.37 (upgarded devstack lately).\n\nI ran the following command with --debug option on: \n\"nova --debug add-fixed-ip \u003cinstance id\u003e \u003cnetwork id\u003e\" \n\nwhere network id \u003d 1  (integer, no quotes).\n\nDebug log shows request json with networkId 1 enclosed in quotes:\nDEBUG (session:337) REQ: curl -g -i -X POST http://10.0.2.15:8774/v2.1/servers/35a2e76f-d3f9-41a0-991f-60aec48593f1/action -H \"Accept: application/json\" -H \"User-Agent: python-novaclient\" -H \"OpenStack-API-Version: compute 2.37\" -H \"X-OpenStack-Nova-API-Version: 2.37\" -H \"X-Auth-Token: {SHA1}62686f88e680de09a2046afeba560426269bc71b\" -H \"Content-Type: application/json\" -d \u0027{\"addFixedIp\": {\"networkId\": \"1\"}}\u0027","commit_id":"96574399f29b802180309bcdadbd2771c61c6a76"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"c411ba4b1ba22980c2594e291f7e25d0f053e1b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": \"1\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":10,"id":"3a98d1f4_c3e9531c","line":3,"range":{"start_line":3,"start_character":22,"end_line":3,"end_character":23},"in_reply_to":"3a98d1f4_50cb4753","updated":"2016-09-29 18:10:33.000000000","message":"I did try running \u0027tox -e api-samples test_fixed_ips\u0027 to generate only api-samples related to fixed-ip.\n\nhttp://paste.openstack.org/show/583379/\n\nThe test passed, but no new api-samples were created (git diff/ git status both returned nothing).  Also manually checked the doc/api_samples/os-multinic folder and confirmed nothing was added.\n\nWould like to request for instructions to correctly run api-sample.","commit_id":"96574399f29b802180309bcdadbd2771c61c6a76"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"29e681dd4224d93a81e104bf41c6e7c289b45fb2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": 1"},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":11,"id":"3a98d1f4_b52aab2a","line":3,"range":{"start_line":3,"start_character":0,"end_line":3,"end_character":22},"updated":"2016-09-30 00:33:32.000000000","message":"I decided to go ahead and re-generate the api-sample so it matches the original.","commit_id":"6c230c81cfeb87bd89f4048a738c3c41383a7698"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"83f70c6f4c02e7df4d0018511bfde2a4812c37d4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": 1"},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":12,"id":"9a629dbe_abdae514","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":1},"updated":"2016-11-11 14:10:15.000000000","message":"seems unrelated change","commit_id":"e72ca9cc03b4a4560dfaade23fe553fbad59776a"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"e1f3b6edb426b90ce109e829b51162825f952fe6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": 1"},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":12,"id":"9a629dbe_bc3664e5","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":1},"in_reply_to":"9a629dbe_abdae514","updated":"2016-11-15 00:40:07.000000000","message":"Instead of editing this file, I regenerated this file using \u0027tox -e api-samples\u0027.  So I believe this should be fine.","commit_id":"e72ca9cc03b4a4560dfaade23fe553fbad59776a"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"9faff3f46afd0ccc92a7a83593e26a4b66139fb0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": 1"},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":18,"id":"5a74a57a_b38a4619","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":1},"updated":"2016-11-29 12:33:14.000000000","message":"don\u0027t know why has this ...","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"},{"author":{"_account_id":21111,"name":"STEW TY","email":"punsoca@gmail.com","username":"stewie925"},"change_message_id":"d6c2bfc0b0be33318e5f8a472ea69beab37ab81b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    \"addFixedIp\": {"},{"line_number":3,"context_line":"        \"networkId\": 1"},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":18,"id":"3a461143_c749f261","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":1},"in_reply_to":"5a74a57a_b38a4619","updated":"2017-01-30 19:30:50.000000000","message":"I had to regenerate this file to pass the tox -eapi-sample test.  The regeneration automatically removed those extra lines.","commit_id":"656cb72a13a00fa9e1beba679abd21aa0816b253"}]}
