)]}'
{"specs/kilo/capacity-headroom.rst":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"c055ba10f9c86a455443b94b887aa465d649d941","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  total_capacity * max_over_subscription_ratio - provisioned_capacity"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* The proposal provides a cinder api to export the capacity infos of each"},{"line_number":47,"context_line":"  backend (total/allocated/virtual)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"New methods in HostState"},{"line_number":50,"context_line":"-------------------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_ec43cf40","line":47,"updated":"2015-05-08 19:29:46.000000000","message":"There should be a Use Case section now here. It would be good to get that info:\n\nhttps://github.com/openstack/cinder-specs/blob/master/specs/template.rst#use-cases","commit_id":"3cd5d097cf88f440bea03d4dd6d34e420279df8c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b032be37677d02cd5cd8a82518a92be1364bd0aa","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            capacity: {"},{"line_number":98,"context_line":"            \"total_capacity_gb_of_all\": 10.1,"},{"line_number":99,"context_line":"            \"allocated_capacity_gb_of_all\": 0,"},{"line_number":100,"context_line":"            \"virtual_capacity_gb_of_all\": 0,"},{"line_number":101,"context_line":"            \"host_states\":["},{"line_number":102,"context_line":"                {"},{"line_number":103,"context_line":"                \"name\": \"ubuntu@lvm#backend_name\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_77066887","line":100,"updated":"2015-05-08 20:24:38.000000000","message":"Adding capacities of all backends and presenting to the user will be more confusing than helping.  Some backends report unknown and infinite, some support thin, and some support thick only. You will be providing wrong and confusing information by simply adding them together.","commit_id":"3cd5d097cf88f440bea03d4dd6d34e420279df8c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b032be37677d02cd5cd8a82518a92be1364bd0aa","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                \"name\": \"ubuntu@lvm#backend_name\","},{"line_number":104,"context_line":"                \"total_capacity_gb\": 4.01,"},{"line_number":105,"context_line":"                \"allocated_capacity_gb\": 0,"},{"line_number":106,"context_line":"                \"virtual_capacity_gb\": 0,"},{"line_number":107,"context_line":"                }"},{"line_number":108,"context_line":"            ]"},{"line_number":109,"context_line":"            }"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_37b47080","line":106,"updated":"2015-05-08 20:24:38.000000000","message":"Where is provisioned_capacity","commit_id":"3cd5d097cf88f440bea03d4dd6d34e420279df8c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b032be37677d02cd5cd8a82518a92be1364bd0aa","unresolved":false,"context_lines":[{"line_number":148,"context_line":"Developer impact"},{"line_number":149,"context_line":"----------------"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"* Cinder volume drivers should report provisoning_capability if it"},{"line_number":152,"context_line":"  has. This will improve the efficency of the storage utiilization."},{"line_number":153,"context_line":"  Note: This proposal will calculate virtual capacity thru"},{"line_number":154,"context_line":"  provisioning_capability. Otherwise we will calculate physical"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_57380cef","line":151,"updated":"2015-05-08 20:24:38.000000000","message":"Provisioned_capacity was already added in Kilo and driver should report it.  It is not a new developer impact for the driver because of this patch.","commit_id":"3cd5d097cf88f440bea03d4dd6d34e420279df8c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b032be37677d02cd5cd8a82518a92be1364bd0aa","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"* Calculate the virtual capacity:"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"   - calculates the total remaining virtual capacity for all the backends."},{"line_number":175,"context_line":"   - If a backend doesn\u0027t implement the over subscription mechanism,"},{"line_number":176,"context_line":"     just use the physical capacity instead."},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_321ebe5f","line":174,"updated":"2015-05-08 20:24:38.000000000","message":"As commented earlier, I don\u0027t think adding capacities from all backends together provides helpful info.  It will actually create confusion.","commit_id":"3cd5d097cf88f440bea03d4dd6d34e420279df8c"}],"specs/liberty/capacity-headroom.rst":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b083128be7216d33aeb6d31fb6648b7beabf129b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"https://blueprints.launchpad.net/cinder/+spec/capacity-headroom"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The proposal is to provide a mechanism surfacing the visibility of"},{"line_number":16,"context_line":"the total remaining block storage capacity which is available to"},{"line_number":17,"context_line":"allocate or resize volumes. It will be an indication for deployer"},{"line_number":18,"context_line":"to have the future plan."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_dba37c9d","line":16,"updated":"2015-05-12 15:21:32.000000000","message":"You mean \"total remaining block storage capacity in the entire Cinder setup\", correct?  Total capacity for one backend is already there.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b083128be7216d33aeb6d31fb6648b7beabf129b","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The proposal is to provide a mechanism surfacing the visibility of"},{"line_number":16,"context_line":"the total remaining block storage capacity which is available to"},{"line_number":17,"context_line":"allocate or resize volumes. It will be an indication for deployer"},{"line_number":18,"context_line":"to have the future plan."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_dbf93cca","line":17,"updated":"2015-05-12 15:21:32.000000000","message":"Why is \"total remaining capacity\" useful for resizing volumes?  You can only resize a volume on one backend.  You cannot resize a volume across multiple backends.  So I don\u0027t see why total capacity for all backends can help here.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b083128be7216d33aeb6d31fb6648b7beabf129b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"After grouping the backends into 3 categories: unknown/infinite,"},{"line_number":36,"context_line":"thin, thick, it will show the total capacity of all the thin"},{"line_number":37,"context_line":"backends, and total capacity of all the thick backends"},{"line_number":38,"context_line":"individually. The admin users may have a hint about the trend"},{"line_number":39,"context_line":"of cinder capacity usage, and that will be useful for future"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_fbec0091","line":36,"updated":"2015-05-12 15:21:32.000000000","message":"There\u0027s still an issue here.  Backends reporting \"unknown/infinite\" may support thin provisioning. This grouping gives people impression that these backends don\u0027t support thin provisioning and therefore it is misleading.  Also some backends can support both thin and thick. If you show them under both thin and thick, that is not accurate because they can only support thin or thick for a particular volume.  If you show them only under thin, that is not right either.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b083128be7216d33aeb6d31fb6648b7beabf129b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Group the backends into 3 categories: unknow/infinite,"},{"line_number":47,"context_line":"  thin, thick."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Calculates the total remaining virtual capacity"},{"line_number":50,"context_line":"  for all the backends with thin provisioning."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_9b818492","line":47,"updated":"2015-05-12 15:21:32.000000000","message":"See comments above.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c288b6385ad6f26d5217ee024e4b1fc451772a60","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  According to the over subscrition mechanism implemented for LVM,"},{"line_number":53,"context_line":"  the remaining virtual capacity for a backend can be used as"},{"line_number":54,"context_line":"  terminology: apparent_available_virtual_capacity. "},{"line_number":55,"context_line":"  It can be calculated by following formula:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  apparent_available_virtual_capacity \u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_93029f3d","line":54,"updated":"2015-05-12 08:25:50.000000000","message":"remove the space.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b083128be7216d33aeb6d31fb6648b7beabf129b","unresolved":false,"context_lines":[{"line_number":68,"context_line":"New methods in HostState"},{"line_number":69,"context_line":"-------------------------------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* get_capacity()"},{"line_number":72,"context_line":"  - call get_pools()"},{"line_number":73,"context_line":"  - calculate the capacity sum info for backends group "},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_160fabe2","line":71,"updated":"2015-05-12 15:21:32.000000000","message":"Instead of adding another API in Cinder, can you just call get_pools in Ceilometer and get information you need to display there?","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c288b6385ad6f26d5217ee024e4b1fc451772a60","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* get_capacity()"},{"line_number":72,"context_line":"  - call get_pools()"},{"line_number":73,"context_line":"  - calculate the capacity sum info for backends group "},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_331d33be","line":73,"updated":"2015-05-12 08:25:50.000000000","message":"@Xiaohui, this spec is not well-formatted, you may need to update it again.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c288b6385ad6f26d5217ee024e4b1fc451772a60","unresolved":false,"context_lines":[{"line_number":91,"context_line":"REST API impact"},{"line_number":92,"context_line":"---------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Show capacity sum info for all backends "},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"  * List detail capacity sum information for the total of all"},{"line_number":97,"context_line":"    backends"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_d38257c8","line":94,"updated":"2015-05-12 08:25:50.000000000","message":"here.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b083128be7216d33aeb6d31fb6648b7beabf129b","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            }"},{"line_number":126,"context_line":"            unknown: {"},{"line_number":127,"context_line":"            \"total_backends\": 0,"},{"line_number":128,"context_line":"            }"},{"line_number":129,"context_line":"        }"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_36bbcfc6","line":128,"updated":"2015-05-12 15:21:32.000000000","message":"See my comments earlier regarding this grouping.  If a backend supports both thin and thick, how are you going to display that?  A backend reports \u0027unknown\u0027 or \u0027infinite\u0027 can support thin (or thick), but this grouping suggests that it doesn\u0027t support that.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c288b6385ad6f26d5217ee024e4b1fc451772a60","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    for all the backends with thin provisioning."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    apparent_available_virtual_capacity \u003d"},{"line_number":200,"context_line":"    total_capacity * max_over_subscription_ratio - "},{"line_number":201,"context_line":"    provisioned_capacity"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"  - Calculates the total remaining capacity for all the backends"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_736a8b1c","line":200,"updated":"2015-05-12 08:25:50.000000000","message":"same here.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b083128be7216d33aeb6d31fb6648b7beabf129b","unresolved":false,"context_lines":[{"line_number":223,"context_line":"      conbe called by the resource action of Cinder"},{"line_number":224,"context_line":"      REST API as below."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"* Make a cinder REST API as resource extensions to report the capacity"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    - Add a new file named capacity.py and add a new class named"},{"line_number":229,"context_line":"      as Capacity Class to be the extension."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_ac3770e2","line":226,"updated":"2015-05-12 15:21:32.000000000","message":"Do we really need a new Cinder API for this?  See the following patch. It sends notifications about pool info to Ceilometer.\n\nhttps://review.openstack.org/#/c/180447/","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"c288b6385ad6f26d5217ee024e4b1fc451772a60","unresolved":false,"context_lines":[{"line_number":236,"context_line":""},{"line_number":237,"context_line":"* Make changes in cinderclient to send the resource request"},{"line_number":238,"context_line":"    - Add a CapacityManager Class to handle the web request"},{"line_number":239,"context_line":"    - Add CLI"},{"line_number":240,"context_line":"Dependencies"},{"line_number":241,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a0c5dc1_f3cb1b1d","line":239,"updated":"2015-05-12 08:25:50.000000000","message":"blank needed here.","commit_id":"da6c6fa5ab4ff42a45281357cc92f7da58f870b2"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"a4d54e3c41a5f7baf4e479f0429bdc261e210b22","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* get_capacity()"},{"line_number":75,"context_line":"  - call get_pools()"},{"line_number":76,"context_line":"  - calculate the capacity sum info for backends group "},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a016987_0d778303","line":76,"updated":"2015-05-27 05:09:38.000000000","message":"Remove trailing white space","commit_id":"ce34f616b78408c94b7aa063c96e3dce3a87591f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"a4d54e3c41a5f7baf4e479f0429bdc261e210b22","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Then ceilometer service can produce capacity samples feeding"},{"line_number":110,"context_line":"to horizon service, which may show a line chart displaying"},{"line_number":111,"context_line":"the capacity utilization trend during a period time."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Other end user impact"},{"line_number":114,"context_line":"---------------------"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a016987_2d511f63","line":112,"updated":"2015-05-27 05:09:38.000000000","message":"Can you specify exactly where you are going to send notifications?  Will it be in the scheduler, manager, or some place else?","commit_id":"ce34f616b78408c94b7aa063c96e3dce3a87591f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ab5feede0878240f63a4069aaf67be6fa4fc6952","unresolved":false,"context_lines":[{"line_number":24,"context_line":"much block storage capacity left totally in cinder can be deployed."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"* condition with several backends"},{"line_number":27,"context_line":"* condition with a backend which exports capacity as \"infinite\" or"},{"line_number":28,"context_line":"  \"unknown\""},{"line_number":29,"context_line":"* condition with a backend support \"over subscription\" which temporary"},{"line_number":30,"context_line":"  capacity not used can be utilized to deploy new volumes"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a016987_b83141a4","line":27,"updated":"2015-05-31 03:42:37.000000000","message":"exports -\u003e reports","commit_id":"9f117e0337ae719afb7bbfe31858227358d52396"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ab5feede0878240f63a4069aaf67be6fa4fc6952","unresolved":false,"context_lines":[{"line_number":26,"context_line":"* condition with several backends"},{"line_number":27,"context_line":"* condition with a backend which exports capacity as \"infinite\" or"},{"line_number":28,"context_line":"  \"unknown\""},{"line_number":29,"context_line":"* condition with a backend support \"over subscription\" which temporary"},{"line_number":30,"context_line":"  capacity not used can be utilized to deploy new volumes"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a016987_78274963","line":29,"updated":"2015-05-31 03:42:37.000000000","message":"support -\u003e supporting\n\nwhich temporary capacity not used -\u003e whose virtual capacity","commit_id":"9f117e0337ae719afb7bbfe31858227358d52396"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ab5feede0878240f63a4069aaf67be6fa4fc6952","unresolved":false,"context_lines":[{"line_number":47,"context_line":"  thin/thick."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Calculates all kinds of total capacity for thin/thick group."},{"line_number":50,"context_line":"  The kinds include total/free/available/provisioned/virtual_free."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  How to calculate the remaining virtual capacity:"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a016987_180295b4","line":50,"updated":"2015-05-31 03:42:37.000000000","message":"The kinds include -\u003e This includes","commit_id":"9f117e0337ae719afb7bbfe31858227358d52396"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ab5feede0878240f63a4069aaf67be6fa4fc6952","unresolved":false,"context_lines":[{"line_number":130,"context_line":"Developer impact"},{"line_number":131,"context_line":"----------------"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* Cinder volume drivers should report provisoning_capability if it"},{"line_number":134,"context_line":"  has. This will improve the efficency of the storage utiilization."},{"line_number":135,"context_line":"  Note: This proposal will calculate virtual capacity thru"},{"line_number":136,"context_line":"  provisioning_capability. Otherwise we will calculate physical"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a016987_f86579ae","line":133,"updated":"2015-05-31 03:42:37.000000000","message":"provisoning_capability -\u003e provisioned_capacity","commit_id":"9f117e0337ae719afb7bbfe31858227358d52396"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ab5feede0878240f63a4069aaf67be6fa4fc6952","unresolved":false,"context_lines":[{"line_number":133,"context_line":"* Cinder volume drivers should report provisoning_capability if it"},{"line_number":134,"context_line":"  has. This will improve the efficency of the storage utiilization."},{"line_number":135,"context_line":"  Note: This proposal will calculate virtual capacity thru"},{"line_number":136,"context_line":"  provisioning_capability. Otherwise we will calculate physical"},{"line_number":137,"context_line":"  capacity instead."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a016987_b80a61d0","line":136,"updated":"2015-05-31 03:42:37.000000000","message":"provisioned_capacity","commit_id":"9f117e0337ae719afb7bbfe31858227358d52396"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ab5feede0878240f63a4069aaf67be6fa4fc6952","unresolved":false,"context_lines":[{"line_number":156,"context_line":"  - Group the backends into 2 categories: unknow/infinite,"},{"line_number":157,"context_line":"    thin/thick."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"  - Calculates the total capcity of total/free/available"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"  - Calculates the total provisioned/virtual_free capacity"},{"line_number":162,"context_line":"    if thin provisioning is supported."}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a016987_980d65ea","line":159,"updated":"2015-05-31 03:42:37.000000000","message":"capacity","commit_id":"9f117e0337ae719afb7bbfe31858227358d52396"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"80ed81364c8a3470daa92c90c0048af6d9a6e893","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Developer impact"},{"line_number":129,"context_line":"----------------"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* Cinder volume drivers should report provisioned_capability if it"},{"line_number":132,"context_line":"  has. This will improve the efficiency of the storage utilization."},{"line_number":133,"context_line":"  Note: This proposal will calculate virtual capacity thru"},{"line_number":134,"context_line":"  provisioned_capability. Otherwise we will calculate physical"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5afe65bd_225eeee9","line":131,"updated":"2015-06-02 02:00:27.000000000","message":"s/capability/capacity/  And you can\u0027t force driver to report things, best bet is to assume drivers can report.","commit_id":"610eb4f97cb4da7e58ecc4faee566d176e921fbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"20646288cdef2fea7e3763cffb54effc6fef178b","unresolved":false,"context_lines":[{"line_number":131,"context_line":"* Cinder volume drivers should report provisioned_capability if it"},{"line_number":132,"context_line":"  has. This will improve the efficiency of the storage utilization."},{"line_number":133,"context_line":"  Note: This proposal will calculate virtual capacity thru"},{"line_number":134,"context_line":"  provisioned_capability. Otherwise we will calculate physical"},{"line_number":135,"context_line":"  capacity instead."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"5afe65bd_8874a1cf","line":134,"updated":"2015-06-02 04:41:29.000000000","message":"Here too. It is capacity, not capability","commit_id":"610eb4f97cb4da7e58ecc4faee566d176e921fbb"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"80ed81364c8a3470daa92c90c0048af6d9a6e893","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"* Calculate the capacity:"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  - Group the backends into 2 categories: unknown/infinite,"},{"line_number":155,"context_line":"    thin/thick."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"  - Calculates the total capacity of total/free/available"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5afe65bd_0263f2b2","line":154,"updated":"2015-06-02 02:00:27.000000000","message":"I don\u0027t think grouping is needed to be done in Cinder, it should be done in Celiometer.","commit_id":"610eb4f97cb4da7e58ecc4faee566d176e921fbb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"20646288cdef2fea7e3763cffb54effc6fef178b","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"* Calculate the capacity:"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  - Group the backends into 2 categories: unknown/infinite,"},{"line_number":155,"context_line":"    thin/thick."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"  - Calculates the total capacity of total/free/available"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5afe65bd_5cd0ae53","line":154,"in_reply_to":"5afe65bd_0263f2b2","updated":"2015-06-02 04:41:29.000000000","message":"I have similar concern about this. It seems to me notifications can be sent for each backend and Ceilometer can then use the data. That being said, the two groups in the current design looks much better than what was proposed earlier.","commit_id":"610eb4f97cb4da7e58ecc4faee566d176e921fbb"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"f0f70671353f3bbd5ac7445ac66cf96bee3d9649","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"* Calculate the capacity:"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  - Group the backends into 2 categories: unknown/infinite,"},{"line_number":155,"context_line":"    thin/thick."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"  - Calculates the total capacity of total/free/available"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5afe65bd_769b5973","line":154,"in_reply_to":"5afe65bd_5cd0ae53","updated":"2015-06-03 03:24:45.000000000","message":"I agree with Winston and Xing on this, the notification should be per backend and then allow ceilometer and other consumers of that data to group them as they need.","commit_id":"610eb4f97cb4da7e58ecc4faee566d176e921fbb"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"4d17f41b1fba0b5f4016d9a914a89d226c83dd3e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Use Cases"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"The proposal calculates the virtual free capacity for each backend,"},{"line_number":37,"context_line":"and notify the info together with other useful capacity which already"},{"line_number":38,"context_line":"exist to ceilometer service. The ceilometer service will utilize the"},{"line_number":39,"context_line":"notification to generate capacity samples. The admin users may have a"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5afe65bd_9ee2312e","line":36,"updated":"2015-06-04 09:02:13.000000000","message":"I suggest saying \u0027backend storage pool\u0027 rather than just \u0027backend\u0027.  That makes it explicit that when there are multiple storage pools per backend they each get calculated and reported separately rather than summed.","commit_id":"19c6ffa3425f7f9be7a3bcf75951f8dd6f96238a"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"4d17f41b1fba0b5f4016d9a914a89d226c83dd3e","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Proposed change"},{"line_number":45,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* Calculates the total virtual free capacity for a thin/thick backend."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  How to calculate the virtual free capacity(virtual_free):"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5afe65bd_1bd413bb","line":46,"updated":"2015-06-04 09:02:13.000000000","message":"I believe your intention is to use the same formulas as those the scheduler uses, in accord with the oversubscription blueprint spec from kilo, https://review.openstack.org/#/c/129342/12/specs/kilo/over-subscription-in-thin-provisioning.rst.\n\nIt would be good to say that explicitly and cite that blueprint spec.","commit_id":"19c6ffa3425f7f9be7a3bcf75951f8dd6f96238a"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"4d17f41b1fba0b5f4016d9a914a89d226c83dd3e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  virtual_free \u003d apparent_available_virtual_capacity \u003d"},{"line_number":59,"context_line":"  total_capacity * max_over_subscription_ratio - provisioned_capacity"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  For thick provisioning, just use physical capacity."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* For backends which only reports unknown/infinite, just"},{"line_number":64,"context_line":"  report it as unknown or infinite."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5afe65bd_1b01b36a","line":61,"updated":"2015-06-04 09:02:13.000000000","message":"I would like to see the formula written explicitly.","commit_id":"19c6ffa3425f7f9be7a3bcf75951f8dd6f96238a"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"4d17f41b1fba0b5f4016d9a914a89d226c83dd3e","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  in scheduler."},{"line_number":81,"context_line":"* provide a cinder api to retrieve the capacity info from database."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Compare with the proposal, database write operations in scheduler may"},{"line_number":84,"context_line":"cost more."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5afe65bd_bbe3bfa3","line":83,"updated":"2015-06-04 09:02:13.000000000","message":"s/Compare/Compared/","commit_id":"19c6ffa3425f7f9be7a3bcf75951f8dd6f96238a"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"4d17f41b1fba0b5f4016d9a914a89d226c83dd3e","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"* Calculate the capacity:"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  - Calculates the total virtual_free capacity for a backend if thin"},{"line_number":154,"context_line":"    provisioning is supported."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    virtual_free \u003d apparent_available_virtual_capacity \u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5afe65bd_7b9787ec","line":153,"updated":"2015-06-04 09:02:13.000000000","message":"for a backend storage pool","commit_id":"19c6ffa3425f7f9be7a3bcf75951f8dd6f96238a"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"4d17f41b1fba0b5f4016d9a914a89d226c83dd3e","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    Otherwise, just use the physical capacity."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* notify capacity (total/free/allocated/provisioned/virtual_free)"},{"line_number":163,"context_line":"  for each backend to Ceilometer service"},{"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":"5afe65bd_fb8b77c1","line":163,"updated":"2015-06-04 09:02:13.000000000","message":"backend storage pool","commit_id":"19c6ffa3425f7f9be7a3bcf75951f8dd6f96238a"}]}
