)]}'
{"specs/pike/approved/deprecate-os-virtual-interfaces.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":19,"context_line":"2.32 for vif tags."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This blueprint proposes to deprecate the ``os-virtual-interfaces`` API which"},{"line_number":22,"context_line":"just lists virtual interfaces for a given server, and replace that with the"},{"line_number":23,"context_line":"``os-interface`` API."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_e210f8aa","line":22,"range":{"start_line":22,"start_character":50,"end_line":22,"end_character":75},"updated":"2017-04-10 10:00:51.000000000","message":"and add this functionality to the","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e4a52d4e87208a119513583709acd60b1e530a5","unresolved":false,"context_lines":[{"line_number":19,"context_line":"2.32 for vif tags."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This blueprint proposes to deprecate the ``os-virtual-interfaces`` API which"},{"line_number":22,"context_line":"just lists virtual interfaces for a given server, and replace that with the"},{"line_number":23,"context_line":"``os-interface`` API."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_f849a3b6","line":22,"range":{"start_line":22,"start_character":50,"end_line":22,"end_character":75},"in_reply_to":"bff0334d_898c9ad7","updated":"2017-04-11 08:07:02.000000000","message":"Aye, I\u0027m not sure what aspect of \u0027os-virtual-interfaces\u0027 you\u0027re replacing. This phrase suggested you were merging the nova-network aspects of this in here","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":19,"context_line":"2.32 for vif tags."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This blueprint proposes to deprecate the ``os-virtual-interfaces`` API which"},{"line_number":22,"context_line":"just lists virtual interfaces for a given server, and replace that with the"},{"line_number":23,"context_line":"``os-interface`` API."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_898c9ad7","line":22,"range":{"start_line":22,"start_character":50,"end_line":22,"end_character":75},"in_reply_to":"bff0334d_e210f8aa","updated":"2017-04-10 22:10:30.000000000","message":"You can already list ports with the os-interface API, so adding it doesn\u0027t really make sense here. Maybe I should just remove this part.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This blueprint proposes to deprecate the ``os-virtual-interfaces`` API which"},{"line_number":22,"context_line":"just lists virtual interfaces for a given server, and replace that with the"},{"line_number":23,"context_line":"``os-interface`` API."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_427b24f4","line":23,"updated":"2017-04-10 10:00:51.000000000","message":"...presenting a unified API for both nova-network and neutron users?","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e4a52d4e87208a119513583709acd60b1e530a5","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This blueprint proposes to deprecate the ``os-virtual-interfaces`` API which"},{"line_number":22,"context_line":"just lists virtual interfaces for a given server, and replace that with the"},{"line_number":23,"context_line":"``os-interface`` API."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_586e4f2f","line":23,"in_reply_to":"bff0334d_09baca6c","updated":"2017-04-11 08:07:02.000000000","message":"OK, the \u0027and replace that with\u0027 suggests the \u0027os-interface\u0027 API will now be capable of handling the work of the older \u0027os-virtual-interfaces\u0027 API. That paragraph needs some clarification, IMO","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1947972bb0b9b91cc286004683074268b78c920d","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This blueprint proposes to deprecate the ``os-virtual-interfaces`` API which"},{"line_number":22,"context_line":"just lists virtual interfaces for a given server, and replace that with the"},{"line_number":23,"context_line":"``os-interface`` API."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_6c1616ab","line":23,"in_reply_to":"bff0334d_427b24f4","updated":"2017-04-10 14:03:59.000000000","message":"We don\u0027t care about nova-network. It\u0027s deprecated.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This blueprint proposes to deprecate the ``os-virtual-interfaces`` API which"},{"line_number":22,"context_line":"just lists virtual interfaces for a given server, and replace that with the"},{"line_number":23,"context_line":"``os-interface`` API."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_09baca6c","line":23,"in_reply_to":"bff0334d_6c1616ab","updated":"2017-04-10 22:10:30.000000000","message":"Right, unified schmunified.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"abf7474330a28123469ae51c41367d2dafcf7005","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"There are really three main issues that this spec is addressing."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"1. We have two interfaces in the compute API which do roughly the same thing,"},{"line_number":32,"context_line":"   but totally depend on the backend network implementation. From a user point"},{"line_number":33,"context_line":"   of view, this is confusing and error-prone since a user should not have to"},{"line_number":34,"context_line":"   care what the backend implementation is for a given API. We need to combine"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_677f3615","line":31,"range":{"start_line":31,"start_character":11,"end_line":31,"end_character":25},"updated":"2017-04-11 07:44:18.000000000","message":"One more similar API \u0027IPs\u0027, but it doesn\u0027t talk about the interface, it talks about the IP address  https://github.com/openstack/nova/blob/master/doc/api_samples/server-ips/server-ips-resp.json\n\nThe \u0027IPs\u0027 API get the info from the nova DB.\n\nWe also have \u0027addresses\u0027 field in the response of \u0027/servers\u0027 API(It includes mac address and type than the \u0027IPs\u0027 API): https://github.com/openstack/nova/blob/master/doc/api_samples/servers/server-get-resp.json#L5\n\nDo we think about those are duplicated, or we think we can have one API for \u0027interfaces\u0027, another API for query \u0027addresses\u0027 quickly?","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2af3f076ada3a9d138a4b74d96662a5a46d4eac1","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"There are really three main issues that this spec is addressing."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"1. We have two interfaces in the compute API which do roughly the same thing,"},{"line_number":32,"context_line":"   but totally depend on the backend network implementation. From a user point"},{"line_number":33,"context_line":"   of view, this is confusing and error-prone since a user should not have to"},{"line_number":34,"context_line":"   care what the backend implementation is for a given API. We need to combine"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_6ee383a5","line":31,"range":{"start_line":31,"start_character":11,"end_line":31,"end_character":25},"in_reply_to":"bff0334d_677f3615","updated":"2017-04-11 13:59:49.000000000","message":"Well, we also have attached volumes in the server body response and we have the os-volume_attachments API. That\u0027s a bit of duplication, but I think it\u0027s fine to return some information in the server response body along with everything else, and a separate subresource for specific information about volumes and ports.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1947972bb0b9b91cc286004683074268b78c920d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"1. We have two interfaces in the compute API which do roughly the same thing,"},{"line_number":32,"context_line":"   but totally depend on the backend network implementation. From a user point"},{"line_number":33,"context_line":"   of view, this is confusing and error-prone since a user should not have to"},{"line_number":34,"context_line":"   care what the backend implementation is for a given API. We need to combine"},{"line_number":35,"context_line":"   on a single API. The ``os-virtual-interfaces`` API is completely read-only."},{"line_number":36,"context_line":"   In addition to ``GET`` methods, the ``os-interface`` API also has ``POST``"},{"line_number":37,"context_line":"   and ``DELETE`` methods for attaching and detaching a port to/from a server,"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_cc540256","line":34,"range":{"start_line":34,"start_character":3,"end_line":34,"end_character":58},"updated":"2017-04-10 14:03:59.000000000","message":"++ indeed, that is kinda the whole *point* of an API -- to hide the implementation details behind a consistent interface...","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":34,"context_line":"   care what the backend implementation is for a given API. We need to combine"},{"line_number":35,"context_line":"   on a single API. The ``os-virtual-interfaces`` API is completely read-only."},{"line_number":36,"context_line":"   In addition to ``GET`` methods, the ``os-interface`` API also has ``POST``"},{"line_number":37,"context_line":"   and ``DELETE`` methods for attaching and detaching a port to/from a server,"},{"line_number":38,"context_line":"   much like the ``os-volume_attachments`` API for attaching and detaching"},{"line_number":39,"context_line":"   volumes to/from a server."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_4264444a","line":37,"range":{"start_line":37,"start_character":30,"end_line":37,"end_character":68},"updated":"2017-04-10 10:00:51.000000000","message":"femtonit:\n\n   attaching/detaching a port to/from\n\nor\n\n    attaching and detaching a port to and from a server","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1947972bb0b9b91cc286004683074268b78c920d","unresolved":false,"context_lines":[{"line_number":38,"context_line":"   much like the ``os-volume_attachments`` API for attaching and detaching"},{"line_number":39,"context_line":"   volumes to/from a server."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"2. The ``os-interface`` API ``GET`` methods are proxies to the Neutron"},{"line_number":42,"context_line":"   networking service. In the 2.36 microversion we deprecated several APIs"},{"line_number":43,"context_line":"   which were pure proxies to other services like Glance, Cinder and Neutron."},{"line_number":44,"context_line":"   There was an attempt [1]_ at one point to deprecate the ``os-interface`` API"},{"line_number":45,"context_line":"   since it was a proxy for the ``GET`` methods, but during review it was"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_1f07aa1a","line":42,"range":{"start_line":41,"start_character":3,"end_line":42,"end_character":20},"updated":"2017-04-10 14:03:59.000000000","message":"I actually disagree with this statement. The os-interface API is *not* a proxy to the Neutron networking service. The os-interface API provides the linkage between the server (Nova instance) and the port object in Neutron. There isn\u0027t a correspondiong \"get me the ports for this server instance\" call in Neutron (which is good. Nova\u0027s domain is the instance, not Neutron).\n\nThings like /images, /volumes and /networks etc were direct proxies to other service endpoints, but os-interface is not and should not be treated like it is.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":38,"context_line":"   much like the ``os-volume_attachments`` API for attaching and detaching"},{"line_number":39,"context_line":"   volumes to/from a server."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"2. The ``os-interface`` API ``GET`` methods are proxies to the Neutron"},{"line_number":42,"context_line":"   networking service. In the 2.36 microversion we deprecated several APIs"},{"line_number":43,"context_line":"   which were pure proxies to other services like Glance, Cinder and Neutron."},{"line_number":44,"context_line":"   There was an attempt [1]_ at one point to deprecate the ``os-interface`` API"},{"line_number":45,"context_line":"   since it was a proxy for the ``GET`` methods, but during review it was"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_c974e2d1","line":42,"range":{"start_line":41,"start_character":3,"end_line":42,"end_character":20},"in_reply_to":"bff0334d_1f07aa1a","updated":"2017-04-10 22:10:30.000000000","message":"I\u0027m not sure if you want me to reword this or what. What this means is they are a direct proxy because they don\u0027t use nova database information to serve the request, they call directly through to neutron API:\n\nhttps://github.com/openstack/nova/blob/496bfb6287486f1c36249f18bd35cc4aa459f351/nova/api/openstack/compute/attach_interfaces.py#L65\n\nThat\u0027s what I mean by proxy. It\u0027s not the same for os-volume_attachments because we serve that request using the block_device_mappings table.\n\nLet me know if/how you\u0027d like me to reword this.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":42,"context_line":"   networking service. In the 2.36 microversion we deprecated several APIs"},{"line_number":43,"context_line":"   which were pure proxies to other services like Glance, Cinder and Neutron."},{"line_number":44,"context_line":"   There was an attempt [1]_ at one point to deprecate the ``os-interface`` API"},{"line_number":45,"context_line":"   since it was a proxy for the ``GET`` methods, but during review it was"},{"line_number":46,"context_line":"   decided that the better way to go would be to deprecate the"},{"line_number":47,"context_line":"   ``os-virtual-interfaces`` API, which got us here."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. We want to be able to expose block device and virtual interface tags out of"},{"line_number":50,"context_line":"   the compute REST API ``GET`` methods. We can do that easily for block"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_a2d9d0f3","line":47,"range":{"start_line":45,"start_character":48,"end_line":47,"end_character":52},"updated":"2017-04-10 10:00:51.000000000","message":"Could you provide a little more context, or at least a link to this review. I can\u0027t see how combining an API for a deprecated service (nova-network) with a proxy API we wanted to deprecate could be better than deprecating both","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":42,"context_line":"   networking service. In the 2.36 microversion we deprecated several APIs"},{"line_number":43,"context_line":"   which were pure proxies to other services like Glance, Cinder and Neutron."},{"line_number":44,"context_line":"   There was an attempt [1]_ at one point to deprecate the ``os-interface`` API"},{"line_number":45,"context_line":"   since it was a proxy for the ``GET`` methods, but during review it was"},{"line_number":46,"context_line":"   decided that the better way to go would be to deprecate the"},{"line_number":47,"context_line":"   ``os-virtual-interfaces`` API, which got us here."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. We want to be able to expose block device and virtual interface tags out of"},{"line_number":50,"context_line":"   the compute REST API ``GET`` methods. We can do that easily for block"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_827eccac","line":47,"range":{"start_line":45,"start_character":48,"end_line":47,"end_character":52},"updated":"2017-04-10 10:00:51.000000000","message":"Looking at this further below, I see that we\u0027re actually going to stop proxying neutron by using our own stored information. Maybe you should state that here","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e4a52d4e87208a119513583709acd60b1e530a5","unresolved":false,"context_lines":[{"line_number":42,"context_line":"   networking service. In the 2.36 microversion we deprecated several APIs"},{"line_number":43,"context_line":"   which were pure proxies to other services like Glance, Cinder and Neutron."},{"line_number":44,"context_line":"   There was an attempt [1]_ at one point to deprecate the ``os-interface`` API"},{"line_number":45,"context_line":"   since it was a proxy for the ``GET`` methods, but during review it was"},{"line_number":46,"context_line":"   decided that the better way to go would be to deprecate the"},{"line_number":47,"context_line":"   ``os-virtual-interfaces`` API, which got us here."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. We want to be able to expose block device and virtual interface tags out of"},{"line_number":50,"context_line":"   the compute REST API ``GET`` methods. We can do that easily for block"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_d8f13f6d","line":47,"range":{"start_line":45,"start_character":48,"end_line":47,"end_character":52},"in_reply_to":"bff0334d_69327612","updated":"2017-04-11 08:07:02.000000000","message":"I missed [1]. Sounds good as is on second read","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":42,"context_line":"   networking service. In the 2.36 microversion we deprecated several APIs"},{"line_number":43,"context_line":"   which were pure proxies to other services like Glance, Cinder and Neutron."},{"line_number":44,"context_line":"   There was an attempt [1]_ at one point to deprecate the ``os-interface`` API"},{"line_number":45,"context_line":"   since it was a proxy for the ``GET`` methods, but during review it was"},{"line_number":46,"context_line":"   decided that the better way to go would be to deprecate the"},{"line_number":47,"context_line":"   ``os-virtual-interfaces`` API, which got us here."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. We want to be able to expose block device and virtual interface tags out of"},{"line_number":50,"context_line":"   the compute REST API ``GET`` methods. We can do that easily for block"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_69327612","line":47,"range":{"start_line":45,"start_character":48,"end_line":47,"end_character":52},"in_reply_to":"bff0334d_a2d9d0f3","updated":"2017-04-10 22:10:30.000000000","message":"That\u0027s linked from [1] in this same sentence.\n\nThis is the problem description section, so I didn\u0027t talk about changing from calling directly to neutron and rather using instance_info_caches here, I talk about that in the proposed change section.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":50,"context_line":"   the compute REST API ``GET`` methods. We can do that easily for block"},{"line_number":51,"context_line":"   devices and the ``os-volume_attachments`` API [2]_ but until we can"},{"line_number":52,"context_line":"   consolidate on a single virtual interface API, we are blocked from exposing"},{"line_number":53,"context_line":"   those tags in a single microversion (which is our ideal)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Use Cases"},{"line_number":56,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_c205f447","line":53,"range":{"start_line":53,"start_character":53,"end_line":53,"end_character":58},"updated":"2017-04-10 10:00:51.000000000","message":"ideal what?","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e4a52d4e87208a119513583709acd60b1e530a5","unresolved":false,"context_lines":[{"line_number":50,"context_line":"   the compute REST API ``GET`` methods. We can do that easily for block"},{"line_number":51,"context_line":"   devices and the ``os-volume_attachments`` API [2]_ but until we can"},{"line_number":52,"context_line":"   consolidate on a single virtual interface API, we are blocked from exposing"},{"line_number":53,"context_line":"   those tags in a single microversion (which is our ideal)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Use Cases"},{"line_number":56,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_18fb2747","line":53,"range":{"start_line":53,"start_character":53,"end_line":53,"end_character":58},"in_reply_to":"bff0334d_2c06bc1d","updated":"2017-04-11 08:07:02.000000000","message":"Maybe it\u0027s an Americanism. I think you can probably drop it","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":50,"context_line":"   the compute REST API ``GET`` methods. We can do that easily for block"},{"line_number":51,"context_line":"   devices and the ``os-volume_attachments`` API [2]_ but until we can"},{"line_number":52,"context_line":"   consolidate on a single virtual interface API, we are blocked from exposing"},{"line_number":53,"context_line":"   those tags in a single microversion (which is our ideal)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Use Cases"},{"line_number":56,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_2c06bc1d","line":53,"range":{"start_line":53,"start_character":53,"end_line":53,"end_character":58},"in_reply_to":"bff0334d_c205f447","updated":"2017-04-10 22:10:30.000000000","message":"Exposing the tags for both vifs and bdms in a single microversion, rather than, for example, expose bdm tags today (which we can easily in the os-volume_attachments API) in one microversion and expose vif tags later in another microversion after we solve the os-virtual-interfaces/os-interface API conundrum. I realize that part is a bit confusing, I\u0027m not sure how you\u0027d like me to change it without being redundant. Maybe I just remove the \"(which is our ideal)\" part.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":56,"context_line":"---------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"As a user, I want to use a single compute REST API to list, attach, show and"},{"line_number":59,"context_line":"delete virtual interfaces (Neutron ports) for my server, regardless of network"},{"line_number":60,"context_line":"backend."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_22c5c0f1","line":59,"range":{"start_line":59,"start_character":26,"end_line":59,"end_character":41},"updated":"2017-04-10 10:00:51.000000000","message":"nit: maybe just \u0027ports\u0027 (they wouldn\u0027t be neutron ports if using nova-network)","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1947972bb0b9b91cc286004683074268b78c920d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"---------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"As a user, I want to use a single compute REST API to list, attach, show and"},{"line_number":59,"context_line":"delete virtual interfaces (Neutron ports) for my server, regardless of network"},{"line_number":60,"context_line":"backend."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_3fa26efe","line":59,"range":{"start_line":59,"start_character":26,"end_line":59,"end_character":41},"in_reply_to":"bff0334d_22c5c0f1","updated":"2017-04-10 14:03:59.000000000","message":"I would just remove \"(Neutron ports)\" entirely. Neutron (and even the fact that it\u0027s a port object in Neutron) are entirely inconsequential to the end user.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":56,"context_line":"---------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"As a user, I want to use a single compute REST API to list, attach, show and"},{"line_number":59,"context_line":"delete virtual interfaces (Neutron ports) for my server, regardless of network"},{"line_number":60,"context_line":"backend."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_ac19ac7a","line":59,"range":{"start_line":59,"start_character":26,"end_line":59,"end_character":41},"in_reply_to":"bff0334d_3fa26efe","updated":"2017-04-10 22:10:30.000000000","message":"I can remove (Neutron ports).","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":76,"context_line":"   information in the nova database to be able to fulfill this API without a"},{"line_number":77,"context_line":"   proxy call to the ``ports`` API in Neutron."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"   We have two options for building a response from nova data:"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"   1. We can use the ``virtual_interfaces`` table. This is problematic,"},{"line_number":82,"context_line":"      however, for any ports attached before microversion 2.32 which is when"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_e248f887","line":79,"range":{"start_line":79,"start_character":52,"end_line":79,"end_character":56},"updated":"2017-04-10 10:00:51.000000000","message":"nit: using \u0027nova\u0027 (lowercase) and \u0027Neutron\u0027 (title case) annoys me far more than it should","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":76,"context_line":"   information in the nova database to be able to fulfill this API without a"},{"line_number":77,"context_line":"   proxy call to the ``ports`` API in Neutron."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"   We have two options for building a response from nova data:"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"   1. We can use the ``virtual_interfaces`` table. This is problematic,"},{"line_number":82,"context_line":"      however, for any ports attached before microversion 2.32 which is when"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_6c296488","line":79,"range":{"start_line":79,"start_character":52,"end_line":79,"end_character":56},"in_reply_to":"bff0334d_e248f887","updated":"2017-04-10 22:10:30.000000000","message":"Sometimes I use lowercase for the \u0027nova\u0027 database which is the name of the database, not \u0027Nova\u0027, but yeah here I\u0027m talking more about the service. I can update.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":89,"context_line":"      the ``network_info`` column and is used for the"},{"line_number":90,"context_line":"      ``GET /servers/{server_id}/ips`` API."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"   We could first lookup the data in the ``virtual_interfaces`` table and if"},{"line_number":93,"context_line":"   nothing is found we could fallback to the ``instance_info_caches`` table, or"},{"line_number":94,"context_line":"   just always use the ``instance_info_caches`` table. For the purpose of this"},{"line_number":95,"context_line":"   spec and microversion, we\u0027ll just use the ``instance_info_caches`` table."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"   Note that when we expose VIF tags out of the compute REST API, we will have"},{"line_number":98,"context_line":"   to get those from the ``virtual_interfaces`` table since the tags are not"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_6202a80d","line":95,"range":{"start_line":92,"start_character":0,"end_line":95,"end_character":76},"updated":"2017-04-10 10:00:51.000000000","message":"Can we ensure that a TODO is added in the code to remove this fallback once we go to Queens?","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":89,"context_line":"      the ``network_info`` column and is used for the"},{"line_number":90,"context_line":"      ``GET /servers/{server_id}/ips`` API."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"   We could first lookup the data in the ``virtual_interfaces`` table and if"},{"line_number":93,"context_line":"   nothing is found we could fallback to the ``instance_info_caches`` table, or"},{"line_number":94,"context_line":"   just always use the ``instance_info_caches`` table. For the purpose of this"},{"line_number":95,"context_line":"   spec and microversion, we\u0027ll just use the ``instance_info_caches`` table."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"   Note that when we expose VIF tags out of the compute REST API, we will have"},{"line_number":98,"context_line":"   to get those from the ``virtual_interfaces`` table since the tags are not"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_cc3e30b7","line":95,"range":{"start_line":92,"start_character":0,"end_line":95,"end_character":76},"in_reply_to":"bff0334d_6202a80d","updated":"2017-04-10 22:10:30.000000000","message":"\"For the purpose of this\n   spec and microversion, we\u0027ll just use the ``instance_info_caches`` table.\"\n\n^ means we aren\u0027t going to look in the virtual_interfaces table in Pike in the os-interface API. Full stop. I\u0027m more or less trying to explain options here, and the next paragraph explains future work, but is out of scope for this microversion, as noted.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"abf7474330a28123469ae51c41367d2dafcf7005","unresolved":false,"context_lines":[{"line_number":95,"context_line":"   spec and microversion, we\u0027ll just use the ``instance_info_caches`` table."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"   Note that when we expose VIF tags out of the compute REST API, we will have"},{"line_number":98,"context_line":"   to get those from the ``virtual_interfaces`` table since the tags are not"},{"line_number":99,"context_line":"   stored in the ``instance_info_caches`` table. However, that is out of scope"},{"line_number":100,"context_line":"   for this spec so will not be described here."},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_cd7aa3ef","line":98,"range":{"start_line":98,"start_character":26,"end_line":98,"end_character":47},"updated":"2017-04-11 07:44:18.000000000","message":"virtual_interfaces table only has \u0027mac address\u0027. The info for the fields \u0027fixed_ips\u0027 and \u0027port_status\u0027 are in network_info_caches.\n\nOr maybe we should stop to show the address from the \u0027os-interfaces\u0027 API, since we already have \u0027ips\u0027 API and \u0027/servers\u0027 API for the addresses.\n\nBut we can figure that out in another spec.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2af3f076ada3a9d138a4b74d96662a5a46d4eac1","unresolved":false,"context_lines":[{"line_number":95,"context_line":"   spec and microversion, we\u0027ll just use the ``instance_info_caches`` table."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"   Note that when we expose VIF tags out of the compute REST API, we will have"},{"line_number":98,"context_line":"   to get those from the ``virtual_interfaces`` table since the tags are not"},{"line_number":99,"context_line":"   stored in the ``instance_info_caches`` table. However, that is out of scope"},{"line_number":100,"context_line":"   for this spec so will not be described here."},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_b1432a42","line":98,"range":{"start_line":98,"start_character":26,"end_line":98,"end_character":47},"in_reply_to":"bff0334d_cd7aa3ef","updated":"2017-04-11 13:59:49.000000000","message":"\u003e virtual_interfaces table only has \u0027mac address\u0027. The info for the fields \u0027fixed_ips\u0027 and \u0027port_status\u0027 are in network_info_caches.\n\nI\u0027m not sure your point here. The virtual_interfaces table contains the tag column. We don\u0027t store the vif tag in instance_info_caches table. So if/when we expose vif tags out of the REST API, we\u0027ll have to use  the virtual_interfaces table for that. That\u0027s all I\u0027m saying here.\n\n\u003e Or maybe we should stop to show the address from the \u0027os-interfaces\u0027 API, since we already have \u0027ips\u0027 API and \u0027/servers\u0027 API for the addresses.\n\nThis is an interesting idea, and ties in with some of the discussion in this spec about simplifying the os-interface response.\n\nLooking at the /ips response, it looks like it should show both fixed and floating IPs, along with the version and optionally the type and mac:\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/views/addresses.py#L27\n\nI think the type is important to distinguish fixed from floating IPs, but that\u0027s never shown for the /ips API. extend_address is only ever True when showing details on a /servers request, which is kind of odd.\n\nWe could use this microversion to make /ips show the type and mac_addr, and then drop fixed_ips and mac_addr from the os-interface response to avoid that duplication.\n\nThat would leave the os-interface response to just something like this:\n\n        {\n            \"net_id\": \"3cb9bc59-5699-4588-a4b1-b87f96708bc6\",\n            \"port_id\": \"ce531f90-199f-48c0-816c-13e38010b442\",\n            \"port_state\": \"ACTIVE\"\n        }\n\nAnd we could arguably drop the port_state field.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1947972bb0b9b91cc286004683074268b78c920d","unresolved":false,"context_lines":[{"line_number":138,"context_line":"      \"fixed_ips\": ["},{"line_number":139,"context_line":"        {"},{"line_number":140,"context_line":"          \"ip_address\": \"192.168.1.3\","},{"line_number":141,"context_line":"          \"subnet_id\": \"f8a6e8f8-c2ec-497c-9f23-da9616de54ef\""},{"line_number":142,"context_line":"        }"},{"line_number":143,"context_line":"      ],"},{"line_number":144,"context_line":"      \"mac_addr\": \"fa:16:3e:4c:2c:30\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_1fa9ea8e","line":141,"updated":"2017-04-10 14:03:59.000000000","message":"There are just so many problems with this REST API payload :( Ugh...\n\n1) Why is it in a \"interfaceAttachment\" top-level key?\n\n2) Why is the subnet_id included in the fixed_ips collection? What would a normal end-user need that information for ever?\n\n3) The port_state is a Neutron-specific thing and actually doesn\u0027t correspond with the state of the vNIC on the guest -- it can be entirely out of sync and thusly provides misinformation to the end user...\n\nIn short, this API is complete crap and probably should just be totally deprecated anyway and replaced with something that might actually be useful to end users...","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2af3f076ada3a9d138a4b74d96662a5a46d4eac1","unresolved":false,"context_lines":[{"line_number":138,"context_line":"      \"fixed_ips\": ["},{"line_number":139,"context_line":"        {"},{"line_number":140,"context_line":"          \"ip_address\": \"192.168.1.3\","},{"line_number":141,"context_line":"          \"subnet_id\": \"f8a6e8f8-c2ec-497c-9f23-da9616de54ef\""},{"line_number":142,"context_line":"        }"},{"line_number":143,"context_line":"      ],"},{"line_number":144,"context_line":"      \"mac_addr\": \"fa:16:3e:4c:2c:30\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_b1a56aa4","line":141,"in_reply_to":"bff0334d_0d7e4bae","updated":"2017-04-11 13:59:49.000000000","message":"\u003e I\u0027m not sure how much valid values of port_state in the neutron API.\n\nhttps://developer.openstack.org/api-ref/networking/v2/index.html?expanded\u003dshow-port-details-detail#show-port-details\n\n\"The port status. Values are ACTIVE, DOWN, BUILD and ERROR.\"\n\n\u003e Maybe we can remove the addresses and port_state from this API. If the user wants to query the address, they have \u0027IPs\u0027 API and \u0027/servers\u0027, but we can\u0027t guarantee it is updated to date. If the user needs the latest info, please go to the neutron API.\n\nThat\u0027s what is suggested above, or hinted at. We strip down os-interface and remove anything that was duplicated with /ips.\n\n\u003e But also, that is another spec and another microversion?\n\nI personally think it\u0027s worth cleaning up os-virtual-interfaces and os-interface in the same microversion. If all we were going to do in this microversion is deprecate os-virtual-interface, then I think that needs to be lumped in with a generic deprecation microversion, like with multinic, os-quota-class-sets and probably os-hosts. We\u0027re deprecating some of those for different reasons though, so it gets really confusing, at least to me, what the microversion means when it\u0027s a jack of all trades.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":138,"context_line":"      \"fixed_ips\": ["},{"line_number":139,"context_line":"        {"},{"line_number":140,"context_line":"          \"ip_address\": \"192.168.1.3\","},{"line_number":141,"context_line":"          \"subnet_id\": \"f8a6e8f8-c2ec-497c-9f23-da9616de54ef\""},{"line_number":142,"context_line":"        }"},{"line_number":143,"context_line":"      ],"},{"line_number":144,"context_line":"      \"mac_addr\": \"fa:16:3e:4c:2c:30\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_2c3ebc8a","line":141,"in_reply_to":"bff0334d_1fa9ea8e","updated":"2017-04-10 22:10:30.000000000","message":"1) I don\u0027t know, because we love crap like that. We could drop the nesting in the microversion if we cared enough. Note we do something similar for os-volume_attachments, for show it\u0027s a top level \u0027volumeAttachment\u0027 object, for index it\u0027s a top-level volumeAttachments key to a list of dicts.\n\n2) Not totally sure, unless just to provide that info. It\u0027s all part of building the internal network model. We get the fixed IPs from the port:\n\nhttps://github.com/openstack/nova/blob/496bfb6287486f1c36249f18bd35cc4aa459f351/nova/network/neutronv2/api.py#L2044\n\nthen get the subnets for the fixed ips:\n\nhttps://github.com/openstack/nova/blob/496bfb6287486f1c36249f18bd35cc4aa459f351/nova/network/neutronv2/api.py#L2057\n\nAnd finally the network:\n\nhttps://github.com/openstack/nova/blob/496bfb6287486f1c36249f18bd35cc4aa459f351/nova/network/neutronv2/api.py#L2064\n\nI would have to dig back into the original change that added the API to figure this out, but that predates specs or any thoughtful design process so it\u0027s probably anyone\u0027s guess why that was exposed.\n\n3) Similar to the above, we could remove this is we think it\u0027s not valuable.\n\n--\n\nIf we wanted to completely strip this response down to just a list of port uuids to return, that would be fine. That\u0027s actually what John suggested in the now abandoned spec [1]:\n\nhttps://review.openstack.org/#/c/350277/1/specs/newton/approved/deprecate-os-interface.rst@43\n\nSo the compute API could provide a list of port uuids for the server and if you wanted the details for any of the ports, you go to neutron to get those. That makes the \"/servers/{server_id}/os-interface/{port_id}\" API pretty dumb though, because you\u0027d be getting details on a uuid that just doesn\u0027t show any details - unless we also removed that API in this microversion.\n\nKeep in mind the long-term goal though is to expose vif tags out of this API, which is something you can\u0027t get from Neutron, so I don\u0027t want to trim to the point that we can\u0027t add that in later.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"abf7474330a28123469ae51c41367d2dafcf7005","unresolved":false,"context_lines":[{"line_number":138,"context_line":"      \"fixed_ips\": ["},{"line_number":139,"context_line":"        {"},{"line_number":140,"context_line":"          \"ip_address\": \"192.168.1.3\","},{"line_number":141,"context_line":"          \"subnet_id\": \"f8a6e8f8-c2ec-497c-9f23-da9616de54ef\""},{"line_number":142,"context_line":"        }"},{"line_number":143,"context_line":"      ],"},{"line_number":144,"context_line":"      \"mac_addr\": \"fa:16:3e:4c:2c:30\","}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_0d7e4bae","line":141,"in_reply_to":"bff0334d_2c3ebc8a","updated":"2017-04-11 07:44:18.000000000","message":"The \u0027port_state\u0027 field is totally messed. It passthrough from neutron API directly. And we only have a port status in network info cache as boolean. I\u0027m not sure how much valid values of port_state in the neutron API.\n\nMaybe we can remove the addresses and port_state from this API. If the user wants to query the address, they have \u0027IPs\u0027 API and \u0027/servers\u0027, but we can\u0027t guarantee it is updated to date. If the user needs the latest info, please go to the neutron API.\n\nBut also, that is another spec and another microversion?","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"abf7474330a28123469ae51c41367d2dafcf7005","unresolved":false,"context_lines":[{"line_number":156,"context_line":"  * mac_addr: VIF[\u0027address\u0027]"},{"line_number":157,"context_line":"  * net_id: VIF[\u0027network\u0027][\u0027id\u0027]"},{"line_number":158,"context_line":"  * port_id: VIF[\u0027id\u0027]"},{"line_number":159,"context_line":"  * port_state: VIF[\u0027active\u0027] which is a boolean, so True is \u0027ACTIVE\u0027 and False"},{"line_number":160,"context_line":"                is \u0027DOWN\u0027."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":".. note:: We will continue to not support nova-network for requests to the"},{"line_number":163,"context_line":"  ``os-interface`` API. There are three reasons for this:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_ed28c797","line":160,"range":{"start_line":159,"start_character":4,"end_line":160,"end_character":26},"updated":"2017-04-11 07:44:18.000000000","message":"Ok, neutron only have ACTIVE and DOWN\u0027, no something like \u0027FAILED\u0027?","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2af3f076ada3a9d138a4b74d96662a5a46d4eac1","unresolved":false,"context_lines":[{"line_number":156,"context_line":"  * mac_addr: VIF[\u0027address\u0027]"},{"line_number":157,"context_line":"  * net_id: VIF[\u0027network\u0027][\u0027id\u0027]"},{"line_number":158,"context_line":"  * port_id: VIF[\u0027id\u0027]"},{"line_number":159,"context_line":"  * port_state: VIF[\u0027active\u0027] which is a boolean, so True is \u0027ACTIVE\u0027 and False"},{"line_number":160,"context_line":"                is \u0027DOWN\u0027."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":".. note:: We will continue to not support nova-network for requests to the"},{"line_number":163,"context_line":"  ``os-interface`` API. There are three reasons for this:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_d1b34ee8","line":160,"range":{"start_line":159,"start_character":4,"end_line":160,"end_character":26},"in_reply_to":"bff0334d_ed28c797","updated":"2017-04-11 13:59:49.000000000","message":"\"The port status. Values are ACTIVE, DOWN, BUILD and ERROR.\"","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":159,"context_line":"  * port_state: VIF[\u0027active\u0027] which is a boolean, so True is \u0027ACTIVE\u0027 and False"},{"line_number":160,"context_line":"                is \u0027DOWN\u0027."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":".. note:: We will continue to not support nova-network for requests to the"},{"line_number":163,"context_line":"  ``os-interface`` API. There are three reasons for this:"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"  1. The ``interfaceAttachment`` response has ``port_id`` and ``port_state``"},{"line_number":166,"context_line":"     fields which is a Neutron concept. We could theoretically use"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_85b6d63d","line":163,"range":{"start_line":162,"start_character":0,"end_line":163,"end_character":57},"updated":"2017-04-10 10:00:51.000000000","message":"Wait - what? I thought you said we were going to combine the two backends under this one API? I\u0027m confused","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":159,"context_line":"  * port_state: VIF[\u0027active\u0027] which is a boolean, so True is \u0027ACTIVE\u0027 and False"},{"line_number":160,"context_line":"                is \u0027DOWN\u0027."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":".. note:: We will continue to not support nova-network for requests to the"},{"line_number":163,"context_line":"  ``os-interface`` API. There are three reasons for this:"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"  1. The ``interfaceAttachment`` response has ``port_id`` and ``port_state``"},{"line_number":166,"context_line":"     fields which is a Neutron concept. We could theoretically use"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_ecd0d421","line":163,"range":{"start_line":162,"start_character":0,"end_line":163,"end_character":57},"in_reply_to":"bff0334d_85b6d63d","updated":"2017-04-10 22:10:30.000000000","message":"Is that because I said \u0027replace\u0027 on L22 and L69? If so, I can reword those.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e4a52d4e87208a119513583709acd60b1e530a5","unresolved":false,"context_lines":[{"line_number":159,"context_line":"  * port_state: VIF[\u0027active\u0027] which is a boolean, so True is \u0027ACTIVE\u0027 and False"},{"line_number":160,"context_line":"                is \u0027DOWN\u0027."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":".. note:: We will continue to not support nova-network for requests to the"},{"line_number":163,"context_line":"  ``os-interface`` API. There are three reasons for this:"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"  1. The ``interfaceAttachment`` response has ``port_id`` and ``port_state``"},{"line_number":166,"context_line":"     fields which is a Neutron concept. We could theoretically use"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_b8c43bf6","line":163,"range":{"start_line":162,"start_character":0,"end_line":163,"end_character":57},"in_reply_to":"bff0334d_ecd0d421","updated":"2017-04-11 08:07:02.000000000","message":"Yup. Do please","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"abf7474330a28123469ae51c41367d2dafcf7005","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"  1. The ``interfaceAttachment`` response has ``port_id`` and ``port_state``"},{"line_number":166,"context_line":"     fields which is a Neutron concept. We could theoretically use"},{"line_number":167,"context_line":"     ``virtual_interfaces.uuid`` for the ``port_id`` field, but that could lead"},{"line_number":168,"context_line":"     to confusion where a user could think they can use a port with that ID in"},{"line_number":169,"context_line":"     Neutron where it would not exist."},{"line_number":170,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_b8531b17","line":167,"range":{"start_line":167,"start_character":5,"end_line":167,"end_character":32},"updated":"2017-04-11 07:44:18.000000000","message":"I guess I know why Jay confuses on the  top-level key is \u0027interfaceAttachment\u0027. We should have a \u0027uuid\u0027 field for the attachment(But the URL is talk about another resource name \u0027os-interface). And the port_id is a \u0027id\u0027 to reference to neutron port.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ad062b573825b229de884a77ab5b3eb069617","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"There will actually be an improvement to performance for the ``os-interace``"},{"line_number":205,"context_line":"API since it will no longer need to proxy to an external service to get the"},{"line_number":206,"context_line":"port information for a given server (port.device_id in the Neutron data model)."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Other deployer impact"},{"line_number":209,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_655e3213","line":206,"range":{"start_line":206,"start_character":37,"end_line":206,"end_character":51},"updated":"2017-04-10 10:00:51.000000000","message":"``code``","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2becc0275f430efa8981830648e491fa41b98247","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"There will actually be an improvement to performance for the ``os-interace``"},{"line_number":205,"context_line":"API since it will no longer need to proxy to an external service to get the"},{"line_number":206,"context_line":"port information for a given server (port.device_id in the Neutron data model)."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Other deployer impact"},{"line_number":209,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_acc64c67","line":206,"range":{"start_line":206,"start_character":37,"end_line":206,"end_character":51},"in_reply_to":"bff0334d_655e3213","updated":"2017-04-10 22:10:30.000000000","message":"``sfinucan``\n\nI\u0027m going to make you a t-shirt that says that.","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8e4a52d4e87208a119513583709acd60b1e530a5","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"There will actually be an improvement to performance for the ``os-interace``"},{"line_number":205,"context_line":"API since it will no longer need to proxy to an external service to get the"},{"line_number":206,"context_line":"port information for a given server (port.device_id in the Neutron data model)."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"Other deployer impact"},{"line_number":209,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff0334d_98b5f780","line":206,"range":{"start_line":206,"start_character":37,"end_line":206,"end_character":51},"in_reply_to":"bff0334d_acc64c67","updated":"2017-04-11 08:07:02.000000000","message":"I\u0027m a medium","commit_id":"5d7e726992ab8af8e72092fce1f1945c5299e2e3"}]}
