)]}'
{"cinder/scheduler/filters/capacity_filter.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e0ee3d237268f9688ac5af6a7ff8881f605d3e8c","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        # provisioned capacity over total capacity has exceeded over"},{"line_number":99,"context_line":"        # subscription ratio."},{"line_number":100,"context_line":"        if (use_thin_logic and host_state.thin_provisioning_support and"},{"line_number":101,"context_line":"                host_state.max_over_subscription_ratio \u003e\u003d 1):"},{"line_number":102,"context_line":"            provisioned_ratio \u003d ((host_state.provisioned_capacity_gb +"},{"line_number":103,"context_line":"                                  volume_size) / total)"},{"line_number":104,"context_line":"            if provisioned_ratio \u003e host_state.max_over_subscription_ratio:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_752b3e31","line":101,"updated":"2016-05-18 13:57:39.000000000","message":"I have been intending to clean this code up, since there doesn\u0027t seem to be a need to check for \u003e\u003d 1 and use a different branch.  (In fact, being able to set \u003c 1 would also be useful.)\n\nWhy does this need a separate \"use_thin_logic\" path?","commit_id":"64d59d4acb8a27c2d34cb20a3fa0941f466e4214"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d262ca4a810f46e2ebc1b3ab280357e5ae8729de","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        # provisioned capacity over total capacity has exceeded over"},{"line_number":99,"context_line":"        # subscription ratio."},{"line_number":100,"context_line":"        if (use_thin_logic and host_state.thin_provisioning_support and"},{"line_number":101,"context_line":"                host_state.max_over_subscription_ratio \u003e\u003d 1):"},{"line_number":102,"context_line":"            provisioned_ratio \u003d ((host_state.provisioned_capacity_gb +"},{"line_number":103,"context_line":"                                  volume_size) / total)"},{"line_number":104,"context_line":"            if provisioned_ratio \u003e host_state.max_over_subscription_ratio:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_a7ce1558","line":101,"in_reply_to":"bab6814e_752b3e31","updated":"2016-05-18 16:01:52.000000000","message":"So \u003c1 is a different one. We could talk about that.\n\nThe use_thin_logic is to make sure that the user is creating a thin lun.","commit_id":"64d59d4acb8a27c2d34cb20a3fa0941f466e4214"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"56439798c361e9e87fc9ec1b9661cdd3a190afc2","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        # provisioned capacity over total capacity has exceeded over"},{"line_number":99,"context_line":"        # subscription ratio."},{"line_number":100,"context_line":"        if (use_thin_logic and host_state.thin_provisioning_support and"},{"line_number":101,"context_line":"                host_state.max_over_subscription_ratio \u003e\u003d 1):"},{"line_number":102,"context_line":"            provisioned_ratio \u003d ((host_state.provisioned_capacity_gb +"},{"line_number":103,"context_line":"                                  volume_size) / total)"},{"line_number":104,"context_line":"            if provisioned_ratio \u003e host_state.max_over_subscription_ratio:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_b2112aaf","line":101,"in_reply_to":"bab6814e_a7ce1558","updated":"2016-05-18 18:28:33.000000000","message":"That\u0027s the point, though.  It shouldn\u0027t be a different one.","commit_id":"64d59d4acb8a27c2d34cb20a3fa0941f466e4214"},{"author":{"_account_id":12736,"name":"Xuepeng Ji","email":"ji.xuepeng@zte.com.cn","username":"jixuepeng"},"change_message_id":"8fe410862b40740eb7054fcd7a10fda1e92d8162","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        # provisioned_capacity_gb to determine whether a volume can be"},{"line_number":87,"context_line":"        # provisioned. Instead free capacity will be used to evaluate."},{"line_number":88,"context_line":"        thin \u003d True"},{"line_number":89,"context_line":"        vol_type \u003d filter_properties.get(\u0027volume_type\u0027, {})"},{"line_number":90,"context_line":"        provision_type \u003d vol_type.get(\u0027extra_specs\u0027, {}).get("},{"line_number":91,"context_line":"            \u0027provisioning:type\u0027)"},{"line_number":92,"context_line":"        if provision_type \u003d\u003d \u0027thick\u0027:"},{"line_number":93,"context_line":"            thin \u003d False"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        # Only evaluate using max_over_subscription_ratio if"},{"line_number":96,"context_line":"        # thin_provisioning_support is True. Check if the ratio of"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ac06dbe_ce0ec5e4","line":93,"range":{"start_line":89,"start_character":0,"end_line":93,"end_character":24},"updated":"2016-08-25 03:37:49.000000000","message":"If a user want to use a thin volume and thin is specified in provisioning:type, but the volume host does not support thin_provisioning, I think the scheduler shoud filter the host.","commit_id":"84d8855f6abc175894fc38b8753713bd27a26e9d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"51c0d8e8ffbfab56df45909b0abc8c8ecf8c3630","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        # provisioned_capacity_gb to determine whether a volume can be"},{"line_number":87,"context_line":"        # provisioned. Instead free capacity will be used to evaluate."},{"line_number":88,"context_line":"        thin \u003d True"},{"line_number":89,"context_line":"        vol_type \u003d filter_properties.get(\u0027volume_type\u0027, {})"},{"line_number":90,"context_line":"        provision_type \u003d vol_type.get(\u0027extra_specs\u0027, {}).get("},{"line_number":91,"context_line":"            \u0027provisioning:type\u0027)"},{"line_number":92,"context_line":"        if provision_type \u003d\u003d \u0027thick\u0027:"},{"line_number":93,"context_line":"            thin \u003d False"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        # Only evaluate using max_over_subscription_ratio if"},{"line_number":96,"context_line":"        # thin_provisioning_support is True. Check if the ratio of"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ac06dbe_02ca714f","line":93,"range":{"start_line":89,"start_character":0,"end_line":93,"end_character":24},"in_reply_to":"1ac06dbe_ce0ec5e4","updated":"2016-08-25 04:14:21.000000000","message":"If a backend does not support thin provisioning, it should report thin_provisioning_suppot\u003dFalse.\n\nYou can add {\u0027thin_provisioning_support\u0027: \u003cis\u003e True} as extra spec in your volume type, this way the scheduler will skip the backend.\n\nIf you don\u0027t have {\u0027thin_provisioning_support\u0027: \u003cis\u003e True} as extra spec in your volume type, the capacity filter finds out thin_provisioning_support\u003dFalse so it will use the thick logic to evaluate.\n\nI originally proposed to check {\u0027thin_provisioning_support\u0027: \u003cis\u003e True} here but it was rejected in the spec review process.","commit_id":"84d8855f6abc175894fc38b8753713bd27a26e9d"}]}
