)]}'
{"specs/liberty/approved/support-all-tenants-in-floatingips-list.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"56a813a02b8e9c50fb9d2044e938b469d02a2807","unresolved":false,"context_lines":[{"line_number":74,"context_line":"---------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The API is modified in nova-api to work with existing python-novaclient"},{"line_number":77,"context_line":"behaviour."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Request::"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_d356eb05","line":77,"updated":"2015-04-27 16:47:41.000000000","message":"this is not possible, v2.0 is now frozen.\n\nWe will need to add a microversion for this in the v2.1 API\n\nPlease update to reflect that.","commit_id":"39afce11e402d49ce7b1f16d46c60aad05f68f24"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6db08cb92c174e12f0cf78b7e8f83580507ab798","unresolved":false,"context_lines":[{"line_number":74,"context_line":"---------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The API is modified in nova-api to work with existing python-novaclient"},{"line_number":77,"context_line":"behaviour."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Request::"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_d611395f","line":77,"in_reply_to":"7ad32947_d356eb05","updated":"2015-04-27 17:30:24.000000000","message":"Gotcha. But then python-novaclient will have to be modified to only support sending the all_tenants flag in 2.1 as well, yes?","commit_id":"39afce11e402d49ce7b1f16d46c60aad05f68f24"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"dbdd3e9db6852af69af090db9fad31afa828f843","unresolved":false,"context_lines":[{"line_number":74,"context_line":"---------------"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The API is modified in nova-api to work with existing python-novaclient"},{"line_number":77,"context_line":"behaviour."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Request::"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3acd31a7_fde89b18","line":77,"in_reply_to":"7ad32947_d611395f","updated":"2015-04-29 14:51:46.000000000","message":"Yes, we should revert the current support from python-novaclient at this point.","commit_id":"39afce11e402d49ce7b1f16d46c60aad05f68f24"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"56a813a02b8e9c50fb9d2044e938b469d02a2807","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Requesting all tenants\u0027s floating IPs could return a very large response if"},{"line_number":126,"context_line":"there are many floating IPs assigned. This could impact performance or even be"},{"line_number":127,"context_line":"used in a denial of service type attack. An operator can mitigate this risk by"},{"line_number":128,"context_line":"rate limiting this API and/or only allowing admin users to use it."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Other deployer impact"},{"line_number":131,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_53b9bb2d","line":128,"updated":"2015-04-27 16:47:41.000000000","message":"It can cause bit memory issues.\n\nDo we not need to limit the size of the response, or adding paging, or similar?","commit_id":"39afce11e402d49ce7b1f16d46c60aad05f68f24"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6db08cb92c174e12f0cf78b7e8f83580507ab798","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Requesting all tenants\u0027s floating IPs could return a very large response if"},{"line_number":126,"context_line":"there are many floating IPs assigned. This could impact performance or even be"},{"line_number":127,"context_line":"used in a denial of service type attack. An operator can mitigate this risk by"},{"line_number":128,"context_line":"rate limiting this API and/or only allowing admin users to use it."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Other deployer impact"},{"line_number":131,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_d10dc338","line":128,"in_reply_to":"7ad32947_53b9bb2d","updated":"2015-04-27 17:30:24.000000000","message":"Paging seems like the way to go. To be honest I thought it was done automatically. I\u0027ll do some reading on how it\u0027s done and resubmit.","commit_id":"39afce11e402d49ce7b1f16d46c60aad05f68f24"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f05da7ad0aa326d76ab9c525d97429b433a52ea6","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Support for listing all tenants\u0027s floating IPs has been present in"},{"line_number":32,"context_line":"python-novaclient since April 2014 (almost a year!) [2]. It\u0027s therefore too"},{"line_number":33,"context_line":"late to revert it out. This spec is to start the design discussion on adding it"},{"line_number":34,"context_line":"back into nova-api."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_92050b47","line":34,"updated":"2015-06-11 12:04:38.000000000","message":"I don\u0027t think thats actually true, we should probably revert it out of python-novaclient straight away, before we add it back in for this spec.","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f980741adb9068fe34be91a182c5f757b15d1f09","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Support for listing all tenants\u0027s floating IPs has been present in"},{"line_number":32,"context_line":"python-novaclient since April 2014 (almost a year!) [2]. It\u0027s therefore too"},{"line_number":33,"context_line":"late to revert it out. This spec is to start the design discussion on adding it"},{"line_number":34,"context_line":"back into nova-api."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_2e38f79f","line":34,"in_reply_to":"1af86dd1_d0ffd132","updated":"2015-06-23 05:36:06.000000000","message":"Done","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f980741adb9068fe34be91a182c5f757b15d1f09","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Support for listing all tenants\u0027s floating IPs has been present in"},{"line_number":32,"context_line":"python-novaclient since April 2014 (almost a year!) [2]. It\u0027s therefore too"},{"line_number":33,"context_line":"late to revert it out. This spec is to start the design discussion on adding it"},{"line_number":34,"context_line":"back into nova-api."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_4e3bfb9c","line":34,"in_reply_to":"3afb71cf_92050b47","updated":"2015-06-23 05:36:06.000000000","message":"Done","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2ec68ebc243f8cb5230ca82f79989bcf922163fb","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Support for listing all tenants\u0027s floating IPs has been present in"},{"line_number":32,"context_line":"python-novaclient since April 2014 (almost a year!) [2]. It\u0027s therefore too"},{"line_number":33,"context_line":"late to revert it out. This spec is to start the design discussion on adding it"},{"line_number":34,"context_line":"back into nova-api."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_d0ffd132","line":34,"in_reply_to":"3afb71cf_92050b47","updated":"2015-06-12 19:19:20.000000000","message":"I agree, I think we should revert it because it doesn\u0027t work.","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f05da7ad0aa326d76ab9c525d97429b433a52ea6","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This method is added to both nova-network and Neutron client API. In the"},{"line_number":58,"context_line":"former, the implementation calls get_all in the FloatingIPList object. In the"},{"line_number":59,"context_line":"latter, the implementation calls list_floatingips without any parameters."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_920f4b36","line":59,"updated":"2015-06-11 12:04:38.000000000","message":"Can we please talk about how we will limit the response from those calls.\n\nThe DB can cause a long API query, and massive memory usage, similar to neutron, but it propagates into neutron.\n\nCan we use some limit or paging facility in neutron that maps to the same facility in our API please?","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b23cdb0d4ac1243987db854112235116a45fe9a1","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This method is added to both nova-network and Neutron client API. In the"},{"line_number":58,"context_line":"former, the implementation calls get_all in the FloatingIPList object. In the"},{"line_number":59,"context_line":"latter, the implementation calls list_floatingips without any parameters."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_aef2b904","line":59,"in_reply_to":"1af86dd1_539acb15","updated":"2015-06-22 15:33:06.000000000","message":"+1 I think its just because we have never had to at this point.","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f980741adb9068fe34be91a182c5f757b15d1f09","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This method is added to both nova-network and Neutron client API. In the"},{"line_number":58,"context_line":"former, the implementation calls get_all in the FloatingIPList object. In the"},{"line_number":59,"context_line":"latter, the implementation calls list_floatingips without any parameters."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_6c826002","line":59,"in_reply_to":"1af86dd1_539acb15","updated":"2015-06-23 05:36:06.000000000","message":"Done","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f980741adb9068fe34be91a182c5f757b15d1f09","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This method is added to both nova-network and Neutron client API. In the"},{"line_number":58,"context_line":"former, the implementation calls get_all in the FloatingIPList object. In the"},{"line_number":59,"context_line":"latter, the implementation calls list_floatingips without any parameters."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_8c856408","line":59,"in_reply_to":"3afb71cf_920f4b36","updated":"2015-06-23 05:36:06.000000000","message":"Done","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2ec68ebc243f8cb5230ca82f79989bcf922163fb","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"This method is added to both nova-network and Neutron client API. In the"},{"line_number":58,"context_line":"former, the implementation calls get_all in the FloatingIPList object. In the"},{"line_number":59,"context_line":"latter, the implementation calls list_floatingips without any parameters."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_539acb15","line":59,"in_reply_to":"3afb71cf_920f4b36","updated":"2015-06-12 19:19:20.000000000","message":"I just had a look through the code and at the DB API level, there isn\u0027t any marker/limit for floating_ip_get_all currently, which makes me wonder if it was just an oversight or from the fact that we don\u0027t allow anyone to query all floating ips across all tenants yet, or if we didn\u0027t think it would be a problem. If we need to page, it would have to be added all the way down at the DB API level","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2ec68ebc243f8cb5230ca82f79989bcf922163fb","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Since getting all tenants\u0027s floating IPs never worked anyway, the API could"},{"line_number":65,"context_line":"simply be reverted out of the client. However, the existence of a bug report"},{"line_number":66,"context_line":"[6] for this feature indicates that it\u0027s wanted by at least some users."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Data model impact"},{"line_number":69,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_3382af01","line":66,"updated":"2015-06-12 19:19:20.000000000","message":"I\u0027m not sure this is really an alternative approach for supporting all tenants in floating ip query. It\u0027s something we should do though, until Nova API supports this","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f980741adb9068fe34be91a182c5f757b15d1f09","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Since getting all tenants\u0027s floating IPs never worked anyway, the API could"},{"line_number":65,"context_line":"simply be reverted out of the client. However, the existence of a bug report"},{"line_number":66,"context_line":"[6] for this feature indicates that it\u0027s wanted by at least some users."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Data model impact"},{"line_number":69,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_0cee34ec","line":66,"in_reply_to":"1af86dd1_3382af01","updated":"2015-06-23 05:36:06.000000000","message":"Done","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f05da7ad0aa326d76ab9c525d97429b433a52ea6","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Request::"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    GET /\u003ctenant_id\u003e/os-floating-ips?all_tenants\u003d1"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"List all tenants\u0027s floating IP addresses."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_d2b4a382","line":80,"updated":"2015-06-11 12:04:38.000000000","message":"it would be good to add /v2.1/ here so its clear its only being added into the v2.1 API, and not being added to v2.0","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f980741adb9068fe34be91a182c5f757b15d1f09","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Request::"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    GET /\u003ctenant_id\u003e/os-floating-ips?all_tenants\u003d1"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"List all tenants\u0027s floating IP addresses."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_cca5acb5","line":80,"in_reply_to":"1af86dd1_53ee4b23","updated":"2015-06-23 05:36:06.000000000","message":"Done","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b23cdb0d4ac1243987db854112235116a45fe9a1","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Request::"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    GET /\u003ctenant_id\u003e/os-floating-ips?all_tenants\u003d1"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"List all tenants\u0027s floating IP addresses."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_aec959ae","line":80,"in_reply_to":"1af86dd1_53ee4b23","updated":"2015-06-22 15:33:06.000000000","message":"I am usually treating them as a guide, but yeah, it would be good to add v2.1 for clarity here.","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f980741adb9068fe34be91a182c5f757b15d1f09","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Request::"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    GET /\u003ctenant_id\u003e/os-floating-ips?all_tenants\u003d1"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"List all tenants\u0027s floating IP addresses."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_0cc5d459","line":80,"in_reply_to":"3afb71cf_d2b4a382","updated":"2015-06-23 05:36:06.000000000","message":"Done","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2ec68ebc243f8cb5230ca82f79989bcf922163fb","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Request::"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    GET /\u003ctenant_id\u003e/os-floating-ips?all_tenants\u003d1"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"List all tenants\u0027s floating IP addresses."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_53ee4b23","line":80,"in_reply_to":"3afb71cf_d2b4a382","updated":"2015-06-12 19:19:20.000000000","message":"Yes, also without the version in the url it\u0027s not correct anyway, though I don\u0027t know if these are supposed to be real urls or just a guide","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f05da7ad0aa326d76ab9c525d97429b433a52ea6","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    }"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"The response headers, body and possible codes are unchanged from current"},{"line_number":104,"context_line":"behaviour."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Security impact"},{"line_number":107,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_f24f9f8f","line":104,"updated":"2015-06-11 12:04:38.000000000","message":"I think we need to add paging and limits into this API, for it to work correctly.\n\nCould you please describe what you will add for that?","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2ec68ebc243f8cb5230ca82f79989bcf922163fb","unresolved":false,"context_lines":[{"line_number":127,"context_line":"used in a denial of service type attack. To mitigate this risk, the new API"},{"line_number":128,"context_line":"will use paging. It will therefore be subject to the existing osapi_max_limit"},{"line_number":129,"context_line":"configuration option and operators will be able to limit the number of items"},{"line_number":130,"context_line":"sent in response to a single request."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Other deployer impact"},{"line_number":133,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_939043ee","line":130,"updated":"2015-06-12 19:19:20.000000000","message":"Here the paging is mentioned in this paragraph","commit_id":"0cdd6c93f7a1c439a311541a1fc0fd511c7ee8e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c637b830fb670dabaaed9028dba7b7d63a030e1b","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Until very recently [7], python-novaclient supported an --all-tenants flag when"},{"line_number":14,"context_line":"listing floating IPs, even though support for this flag was reverted out of"},{"line_number":15,"context_line":"nova-api a long time ago [5] because the API change did not go through the"},{"line_number":16,"context_line":"proper design discussion. During this time, some users have developed an"},{"line_number":17,"context_line":"expectation to be able to list all tenants\u0027s floating IPs when in reality"},{"line_number":18,"context_line":"nova-api does not support it. This spec is to reintroduce support in nova-api"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_27e538a3","line":15,"updated":"2015-06-23 15:08:14.000000000","message":"And because it was spamming the hell out of the nova-api logs since it was failing hard in the gate runs. :)","commit_id":"047c8c590039a72e6418252a483fb89354021627"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"de01850c0f9909615958908b79ce1919da0f65b7","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Until very recently [7], python-novaclient supported an --all-tenants flag when"},{"line_number":14,"context_line":"listing floating IPs, even though support for this flag was reverted out of"},{"line_number":15,"context_line":"nova-api a long time ago [5] because the API change did not go through the"},{"line_number":16,"context_line":"proper design discussion. During this time, some users have developed an"},{"line_number":17,"context_line":"expectation to be able to list all tenants\u0027s floating IPs when in reality"},{"line_number":18,"context_line":"nova-api does not support it. This spec is to reintroduce support in nova-api"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_6f3d4bdc","line":15,"in_reply_to":"fa32b979_27e538a3","updated":"2015-06-23 19:44:35.000000000","message":"Done","commit_id":"047c8c590039a72e6418252a483fb89354021627"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c637b830fb670dabaaed9028dba7b7d63a030e1b","unresolved":false,"context_lines":[{"line_number":111,"context_line":"Security impact"},{"line_number":112,"context_line":"---------------"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"None."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Notifications impact"},{"line_number":117,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_7cde7612","line":114,"updated":"2015-06-23 15:08:14.000000000","message":"There is a security impact if there is a policy.json change I think.","commit_id":"047c8c590039a72e6418252a483fb89354021627"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"de01850c0f9909615958908b79ce1919da0f65b7","unresolved":false,"context_lines":[{"line_number":111,"context_line":"Security impact"},{"line_number":112,"context_line":"---------------"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"None."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Notifications impact"},{"line_number":117,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_1a987fbf","line":114,"in_reply_to":"fa32b979_7cde7612","updated":"2015-06-23 19:44:35.000000000","message":"Not sure I grok how a new line in policy.json is a security impact.\n\nAs per IRC dicussion, let\u0027s wait for ken\u0027ichi and/or sdague to weigh in on this.","commit_id":"047c8c590039a72e6418252a483fb89354021627"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c637b830fb670dabaaed9028dba7b7d63a030e1b","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Performance Impact"},{"line_number":129,"context_line":"------------------"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"The use of pagination should limit the performance impact of this new API, as"},{"line_number":132,"context_line":"it will be subject to the existing osapi_max_limit configuration parameter."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_998eec2c","line":131,"updated":"2015-06-23 15:08:14.000000000","message":"How often does ceilometer plan to poll on this API?","commit_id":"047c8c590039a72e6418252a483fb89354021627"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"de01850c0f9909615958908b79ce1919da0f65b7","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Performance Impact"},{"line_number":129,"context_line":"------------------"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"The use of pagination should limit the performance impact of this new API, as"},{"line_number":132,"context_line":"it will be subject to the existing osapi_max_limit configuration parameter."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_7adf4b3a","line":131,"in_reply_to":"fa32b979_998eec2c","updated":"2015-06-23 19:44:35.000000000","message":"I\u0027m not aware of any plans to re-add this back into Ceilometer.","commit_id":"047c8c590039a72e6418252a483fb89354021627"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c637b830fb670dabaaed9028dba7b7d63a030e1b","unresolved":false,"context_lines":[{"line_number":134,"context_line":"Other deployer impact"},{"line_number":135,"context_line":"---------------------"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"None."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Developer impact"},{"line_number":140,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_bcaabe6f","line":137,"updated":"2015-06-23 15:08:14.000000000","message":"Won\u0027t there be a policy.json change for this?\n\nI\u0027m looking at how this is restricted for listing servers:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/etc/nova/policy.json#n188\n\nIn the v2 API there is actually a check for the compute:get_all_tenants policy entry:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/compute/servers.py#n207\n\nI don\u0027t see that in the v2.1 API so I\u0027m not sure exactly how it works there:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/compute/plugins/v3/servers.py#n331\n\nI see it is checked for the fping extension in the v2.1 API:\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/etc/nova/policy.json#n283\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/compute/plugins/v3/fping.py#n76","commit_id":"047c8c590039a72e6418252a483fb89354021627"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"de01850c0f9909615958908b79ce1919da0f65b7","unresolved":false,"context_lines":[{"line_number":134,"context_line":"Other deployer impact"},{"line_number":135,"context_line":"---------------------"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"None."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Developer impact"},{"line_number":140,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_babcf3bb","line":137,"in_reply_to":"fa32b979_bcaabe6f","updated":"2015-06-23 19:44:35.000000000","message":"Done","commit_id":"047c8c590039a72e6418252a483fb89354021627"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a241efa848eb8775f0f62f78f4c94d2d1714ecca","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"The request headers and body (or rather, lack thereof) are unchanged from"},{"line_number":85,"context_line":"current behaviour. An optional all_tenants GET parameter is added. It is"},{"line_number":86,"context_line":"interpreted as a true/false value."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Response::"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_fdba67e0","line":86,"updated":"2015-06-24 05:07:33.000000000","message":"the all_tenants shouldn\u0027t access by any user. I guess in your propose it only can be accessed by admin-user in default, right? We\u0027d add policy rule to control the permission for this parameter.","commit_id":"a4863ef8b541b06db52879a9147ddbe38412a362"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"cd16149a617b6fe927ba5efd8d6b3082c3afc60b","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"The request headers and body (or rather, lack thereof) are unchanged from"},{"line_number":85,"context_line":"current behaviour. An optional all_tenants GET parameter is added. It is"},{"line_number":86,"context_line":"interpreted as a true/false value."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Response::"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_cbd9cbf4","line":86,"in_reply_to":"fa32b979_fdba67e0","updated":"2015-06-24 12:24:00.000000000","message":"Done","commit_id":"a4863ef8b541b06db52879a9147ddbe38412a362"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"f9de20727f4b8caf0d09b2a0458323821da64b82","unresolved":false,"context_lines":[{"line_number":160,"context_line":"Work Items"},{"line_number":161,"context_line":"----------"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"This spec can be implemented in a single patch."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Dependencies"},{"line_number":166,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_7ded90b6","line":163,"updated":"2015-06-26 00:19:02.000000000","message":"This section is supposed to be a bulleted list of the main work items needed to implement this spec. The other spec [1] does a good job of listing the steps needed. Your work items will be a little different in that you don\u0027t intend to leave the nova-network side as-is, if I understand correctly.\n\n[1] https://review.openstack.org/#/c/177530/","commit_id":"91844ac4c3a76df5dd959518d03f5339677c1164"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"5331a356a9d9e37ee9e32e2de0d0a23cafc446dc","unresolved":false,"context_lines":[{"line_number":160,"context_line":"Work Items"},{"line_number":161,"context_line":"----------"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"This spec can be implemented in a single patch."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Dependencies"},{"line_number":166,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_f8468e7a","line":163,"in_reply_to":"fa32b979_7ded90b6","updated":"2015-06-26 01:17:08.000000000","message":"Done","commit_id":"91844ac4c3a76df5dd959518d03f5339677c1164"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a72a2bd20b829fb549a090563b0f84866461acce","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Because a query for all tenants\u0027s floating IPs can return a lot of IPs,"},{"line_number":51,"context_line":"pagination is needed to limit the response size. In addition, the feature will"},{"line_number":52,"context_line":"need to be implemented in both Nova network and Neutron."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Neutron already supports pagination in all its APIs. Listing all tenants\u0027s"},{"line_number":55,"context_line":"floating IPs with pagination support in Neutron is a matter of passing it the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_ae72fce1","line":52,"updated":"2015-06-26 02:52:16.000000000","message":"In this other spec it says that listing floating IPs for all tenants is already supported in neutron?\n\nhttps://review.openstack.org/#/c/177530/1/specs/liberty/approved/get-floatingip-by-all-tenants.rst\n\nIf that\u0027s true, then why do we need this in nova unless it\u0027s just to do it with nova-network?  Otherwise we don\u0027t need API changes to proxy things that the admin can get from neutron API if they are using neutron.","commit_id":"a0f6aed0cc5d03cae9b445cfeb7ffa41a8157cea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a4e35131f44dc4f1f28d85b89ec4b5be94d8364c","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Because a query for all tenants\u0027s floating IPs can return a lot of IPs,"},{"line_number":51,"context_line":"pagination is needed to limit the response size. In addition, the feature will"},{"line_number":52,"context_line":"need to be implemented in both Nova network and Neutron."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Neutron already supports pagination in all its APIs. Listing all tenants\u0027s"},{"line_number":55,"context_line":"floating IPs with pagination support in Neutron is a matter of passing it the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_496ea097","line":52,"in_reply_to":"fa32b979_96538e39","updated":"2015-06-26 21:00:51.000000000","message":"Yeah, OK, so if nova is not doing all-tenants in the API so that we have the same thing between nova-network and neutron, then we shouldn\u0027t change the nova API to do this just for parity or as a proxy for neutron.  People that want this should just go directly to neutron if they are using neutron.  Especially since we have a policy on no proxying:\n\nhttp://docs.openstack.org/developer/nova/project_scope.html#no-more-api-proxies","commit_id":"a0f6aed0cc5d03cae9b445cfeb7ffa41a8157cea"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b47ec3f8ed59499a9a2459777aa66cdde7e980f","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Because a query for all tenants\u0027s floating IPs can return a lot of IPs,"},{"line_number":51,"context_line":"pagination is needed to limit the response size. In addition, the feature will"},{"line_number":52,"context_line":"need to be implemented in both Nova network and Neutron."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Neutron already supports pagination in all its APIs. Listing all tenants\u0027s"},{"line_number":55,"context_line":"floating IPs with pagination support in Neutron is a matter of passing it the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_b03fbab4","line":52,"in_reply_to":"fa32b979_ae72fce1","updated":"2015-06-26 03:01:17.000000000","message":"If neutron doesn\u0027t support listing floating IPs for all tenants, is there a related neutron spec to add this support that has buy-in from the neutron team?","commit_id":"a0f6aed0cc5d03cae9b445cfeb7ffa41a8157cea"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"d0818583f2e57eda38b947a026633756a41f9f8a","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Because a query for all tenants\u0027s floating IPs can return a lot of IPs,"},{"line_number":51,"context_line":"pagination is needed to limit the response size. In addition, the feature will"},{"line_number":52,"context_line":"need to be implemented in both Nova network and Neutron."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Neutron already supports pagination in all its APIs. Listing all tenants\u0027s"},{"line_number":55,"context_line":"floating IPs with pagination support in Neutron is a matter of passing it the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_96538e39","line":52,"in_reply_to":"fa32b979_b03fbab4","updated":"2015-06-26 05:24:48.000000000","message":"Neutron already supports listing IPs for all tenants, but our Nova proxy to Neutron passes project_id to scope it to just the tenant. My assumption is it\u0027s done that way to make sure Neutron and nova-network behave the same. If we lift that by adding all tenants to the Nova API, then we would have different behavior between Neutron and nova-network because nova-network wouldn\u0027t be honoring all tenants unless we add it there too.\n\nYou make a good point that this is really just supporting those who want to query Nova instead of Neutron for the floating ip list.","commit_id":"a0f6aed0cc5d03cae9b445cfeb7ffa41a8157cea"}]}
