)]}'
{"cinder/tests/unit/test_emc_vmax.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7444d07f0bea827de1b696622bb0ebdc3d963bc9","unresolved":false,"context_lines":[{"line_number":3976,"context_line":"                                   mock_storage_system,"},{"line_number":3977,"context_line":"                                   mock_is_fast_enabled,"},{"line_number":3978,"context_line":"                                   mock_get_policy,"},{"line_number":3979,"context_line":"                                   mock_capacity):"},{"line_number":3980,"context_line":"        self.driver.get_volume_stats(True)"},{"line_number":3981,"context_line":""},{"line_number":3982,"context_line":"    @mock.patch.object("}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_4cef2c1e","line":3979,"updated":"2016-05-26 04:15:28.000000000","message":"The mock parameters order is not right. It should be in the reverse order of the mock.patch.objects.\n\n(self, mock_storage_system, mock_is_fast_enabled, mock_get_policy, mock_pool_capacities, mock_capacities_associated_to_policy)","commit_id":"90795fafe96e60f423c543699eb5d69bceda47e5"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7444d07f0bea827de1b696622bb0ebdc3d963bc9","unresolved":false,"context_lines":[{"line_number":5181,"context_line":"                                   mock_storage_system,"},{"line_number":5182,"context_line":"                                   mock_is_fast_enabled,"},{"line_number":5183,"context_line":"                                   mock_get_policy,"},{"line_number":5184,"context_line":"                                   mock_capacity):"},{"line_number":5185,"context_line":"        self.driver.get_volume_stats(True)"},{"line_number":5186,"context_line":""},{"line_number":5187,"context_line":"    @mock.patch.object("}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_8ccc74bc","line":5184,"updated":"2016-05-26 04:15:28.000000000","message":"Same here.","commit_id":"90795fafe96e60f423c543699eb5d69bceda47e5"}],"cinder/volume/drivers/emc/emc_vmax_fast.py":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"bf35d6d0a6488c359df76f82a22dd919a4fa6c17","unresolved":false,"context_lines":[{"line_number":695,"context_line":"        :param conn: the ecom connection"},{"line_number":696,"context_line":"        :param arrayName: the array"},{"line_number":697,"context_line":"        :param policyName: the name of policy rule, a string value"},{"line_number":698,"context_line":"        :param max_oversubscription_ratio: max over subscription ratio"},{"line_number":699,"context_line":"        :param reservedPercentage: the reserve percent on the physical storage"},{"line_number":700,"context_line":"        :returns: int -- total capacity in GB of all pools associated with"},{"line_number":701,"context_line":"            the policy"},{"line_number":702,"context_line":"        :returns: int  -- (total capacity-EMCSubscribedCapacity) in GB of all"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_287e2eae","line":699,"range":{"start_line":698,"start_character":8,"end_line":699,"end_character":78},"updated":"2016-04-18 22:26:00.000000000","message":"these are not being passed into the function but appear to be return values?","commit_id":"546e5d7b801516b77f776581069a7e3b8c13f366"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"565d495f93148689824f1701e20790d33902d161","unresolved":false,"context_lines":[{"line_number":695,"context_line":"        :param conn: the ecom connection"},{"line_number":696,"context_line":"        :param arrayName: the array"},{"line_number":697,"context_line":"        :param policyName: the name of policy rule, a string value"},{"line_number":698,"context_line":"        :param max_oversubscription_ratio: max over subscription ratio"},{"line_number":699,"context_line":"        :param reservedPercentage: the reserve percent on the physical storage"},{"line_number":700,"context_line":"        :returns: int -- total capacity in GB of all pools associated with"},{"line_number":701,"context_line":"            the policy"},{"line_number":702,"context_line":"        :returns: int  -- (total capacity-EMCSubscribedCapacity) in GB of all"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_e8b9c116","line":699,"range":{"start_line":698,"start_character":8,"end_line":699,"end_character":78},"in_reply_to":"1a122d0e_287e2eae","updated":"2016-05-14 21:33:10.000000000","message":"I will change this","commit_id":"546e5d7b801516b77f776581069a7e3b8c13f366"}],"cinder/volume/drivers/emc/emc_vmax_fc.py":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"bf35d6d0a6488c359df76f82a22dd919a4fa6c17","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    \"\"\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    VERSION \u003d \"2.3.0\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_4831ea04","line":72,"range":{"start_line":72,"start_character":15,"end_line":72,"end_character":20},"updated":"2016-04-18 22:26:00.000000000","message":"should this be 2.4.0 now?","commit_id":"546e5d7b801516b77f776581069a7e3b8c13f366"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"565d495f93148689824f1701e20790d33902d161","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    \"\"\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    VERSION \u003d \"2.3.0\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_c8c4bd93","line":72,"range":{"start_line":72,"start_character":15,"end_line":72,"end_character":20},"in_reply_to":"1a122d0e_4831ea04","updated":"2016-05-14 21:33:10.000000000","message":"Yes it should.  Thank you","commit_id":"546e5d7b801516b77f776581069a7e3b8c13f366"}],"cinder/volume/drivers/emc/emc_vmax_utils.py":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"bf35d6d0a6488c359df76f82a22dd919a4fa6c17","unresolved":false,"context_lines":[{"line_number":2592,"context_line":"            conn, controllerConfigService, storageGroupName)"},{"line_number":2593,"context_line":"        return storageGroupName, controllerConfigService, sgInstanceName"},{"line_number":2594,"context_line":""},{"line_number":2595,"context_line":"    def get_ratio_from_max_sub_per(self, max_subscription_percent):"},{"line_number":2596,"context_line":"        \"\"\"Get ratio from max subscription percent if it exists."},{"line_number":2597,"context_line":""},{"line_number":2598,"context_line":"        Check if the max subscription is set on the pool, if it is convert"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_8b277cb5","line":2595,"range":{"start_line":2595,"start_character":8,"end_line":2595,"end_character":34},"updated":"2016-04-18 22:26:00.000000000","message":"I didn\u0027t see unit test for this?","commit_id":"546e5d7b801516b77f776581069a7e3b8c13f366"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"565d495f93148689824f1701e20790d33902d161","unresolved":false,"context_lines":[{"line_number":2592,"context_line":"            conn, controllerConfigService, storageGroupName)"},{"line_number":2593,"context_line":"        return storageGroupName, controllerConfigService, sgInstanceName"},{"line_number":2594,"context_line":""},{"line_number":2595,"context_line":"    def get_ratio_from_max_sub_per(self, max_subscription_percent):"},{"line_number":2596,"context_line":"        \"\"\"Get ratio from max subscription percent if it exists."},{"line_number":2597,"context_line":""},{"line_number":2598,"context_line":"        Check if the max subscription is set on the pool, if it is convert"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_c84b1d2a","line":2595,"range":{"start_line":2595,"start_character":8,"end_line":2595,"end_character":34},"in_reply_to":"1a122d0e_8b277cb5","updated":"2016-05-14 21:33:10.000000000","message":"We will add one.  Thanks","commit_id":"546e5d7b801516b77f776581069a7e3b8c13f366"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"bf35d6d0a6488c359df76f82a22dd919a4fa6c17","unresolved":false,"context_lines":[{"line_number":2610,"context_line":"            return None"},{"line_number":2611,"context_line":"        return float(max_subscription_percent_int) / 100"},{"line_number":2612,"context_line":""},{"line_number":2613,"context_line":"    def override_ratio(self, max_over_sub_ratio, max_sub_ratio_from_per):"},{"line_number":2614,"context_line":"        \"\"\"Override ratio if necessary"},{"line_number":2615,"context_line":""},{"line_number":2616,"context_line":"        The over subscription ratio will be overriden if the max subscription"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_2b48e85a","line":2613,"range":{"start_line":2613,"start_character":8,"end_line":2613,"end_character":22},"updated":"2016-04-18 22:26:00.000000000","message":"missing unit test?","commit_id":"546e5d7b801516b77f776581069a7e3b8c13f366"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"565d495f93148689824f1701e20790d33902d161","unresolved":false,"context_lines":[{"line_number":2610,"context_line":"            return None"},{"line_number":2611,"context_line":"        return float(max_subscription_percent_int) / 100"},{"line_number":2612,"context_line":""},{"line_number":2613,"context_line":"    def override_ratio(self, max_over_sub_ratio, max_sub_ratio_from_per):"},{"line_number":2614,"context_line":"        \"\"\"Override ratio if necessary"},{"line_number":2615,"context_line":""},{"line_number":2616,"context_line":"        The over subscription ratio will be overriden if the max subscription"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_a846991e","line":2613,"range":{"start_line":2613,"start_character":8,"end_line":2613,"end_character":22},"in_reply_to":"1a122d0e_2b48e85a","updated":"2016-05-14 21:33:10.000000000","message":"We will add one","commit_id":"546e5d7b801516b77f776581069a7e3b8c13f366"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7444d07f0bea827de1b696622bb0ebdc3d963bc9","unresolved":false,"context_lines":[{"line_number":2622,"context_line":"        \"\"\""},{"line_number":2623,"context_line":"        if max_over_sub_ratio:"},{"line_number":2624,"context_line":"            try:"},{"line_number":2625,"context_line":"                if float(max_over_sub_ratio) \u003e float(max_sub_ratio_from_per):"},{"line_number":2626,"context_line":"                    max_over_sub_ratio \u003d max_sub_ratio_from_per"},{"line_number":2627,"context_line":"            except ValueError:"},{"line_number":2628,"context_line":"                pass"},{"line_number":2629,"context_line":"        elif max_sub_ratio_from_per:"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_ec7d401d","line":2626,"range":{"start_line":2625,"start_character":0,"end_line":2626,"end_character":63},"updated":"2016-05-26 04:15:28.000000000","message":"How about using \"max\"?\n\nmax_over_sub_ratio \u003d max(float(max_over_sub_ratio), float(max_sub_ratio_from_per))","commit_id":"90795fafe96e60f423c543699eb5d69bceda47e5"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7444d07f0bea827de1b696622bb0ebdc3d963bc9","unresolved":false,"context_lines":[{"line_number":2629,"context_line":"        elif max_sub_ratio_from_per:"},{"line_number":2630,"context_line":"            max_over_sub_ratio \u003d max_sub_ratio_from_per"},{"line_number":2631,"context_line":""},{"line_number":2632,"context_line":"        return max_over_sub_ratio"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_8cb2b4e3","line":2632,"updated":"2016-05-26 04:15:28.000000000","message":"If float(max_over_sub_ratio) throws ValueError, are you still returning max_over_sub_ratio?","commit_id":"90795fafe96e60f423c543699eb5d69bceda47e5"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"071739aa491d6ac15918519dbff0f855af9995ec","unresolved":false,"context_lines":[{"line_number":2626,"context_line":"        if max_over_sub_ratio:"},{"line_number":2627,"context_line":"            try:"},{"line_number":2628,"context_line":"                max_over_sub_ratio \u003d max(float(max_over_sub_ratio),"},{"line_number":2629,"context_line":"                                         float(max_sub_ratio_from_per))"},{"line_number":2630,"context_line":"            except ValueError:"},{"line_number":2631,"context_line":"                max_over_sub_ratio \u003d max_sub_ratio_from_per"},{"line_number":2632,"context_line":"        elif max_sub_ratio_from_per:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_569526dc","line":2629,"updated":"2016-07-05 14:02:49.000000000","message":"If this call succeeds, max_over_sub_ratio will become a float, but it may not be a float in other code paths.  Seems inconsistent.","commit_id":"f51046420e97d6f41c7bd3d7a39535ebf5210f56"},{"author":{"_account_id":22021,"name":"Unana Okpoyo","email":"tomitu@yahoo.com","username":"UnanaOkpoyo"},"change_message_id":"acc795c895a90a397ba01c7e3e75f01351bccf9f","unresolved":false,"context_lines":[{"line_number":2626,"context_line":"        if max_over_sub_ratio:"},{"line_number":2627,"context_line":"            try:"},{"line_number":2628,"context_line":"                max_over_sub_ratio \u003d max(float(max_over_sub_ratio),"},{"line_number":2629,"context_line":"                                         float(max_sub_ratio_from_per))"},{"line_number":2630,"context_line":"            except ValueError:"},{"line_number":2631,"context_line":"                max_over_sub_ratio \u003d max_sub_ratio_from_per"},{"line_number":2632,"context_line":"        elif max_sub_ratio_from_per:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_c97b1027","line":2629,"in_reply_to":"1aa78d24_569526dc","updated":"2016-07-06 07:41:47.000000000","message":"Will update and resubmit","commit_id":"f51046420e97d6f41c7bd3d7a39535ebf5210f56"}],"releasenotes/notes/slug-goes-here-d61d0e3b1df2487a.yaml":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"61773fb0f438929a55a2666872a05dd58095596a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"  - When max_over_subscription_ratio is 2.0 the pool are"},{"line_number":4,"context_line":"    oversubscribed by a factor of 2, or 200% over"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"bacf61ea_3b0673ce","line":1,"updated":"2016-08-04 13:04:46.000000000","message":"Please rename this file to something meaningful, i.e., vmax-oversubscription-d61d0e3b1df2487a.yaml.\nSee examples here: \nhttps://github.com/openstack/cinder/tree/master/releasenotes/notes","commit_id":"ec6b2577c35a34ea37f5287b9b0f136ee0931e9e"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"61773fb0f438929a55a2666872a05dd58095596a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    not be permitted to provision a volume.  This is a"},{"line_number":10,"context_line":"    safety mechanism to prevent a scenario that a"},{"line_number":11,"context_line":"    provisioning request failing due to insufficient raw"},{"line_number":12,"context_line":"    space."},{"line_number":13,"context_line":"features:"},{"line_number":14,"context_line":"  - Oversubscription support"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"bacf61ea_7bf0ebfd","line":12,"updated":"2016-08-04 13:04:46.000000000","message":"Please remove \"prelude\" section.","commit_id":"ec6b2577c35a34ea37f5287b9b0f136ee0931e9e"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"61773fb0f438929a55a2666872a05dd58095596a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    provisioning request failing due to insufficient raw"},{"line_number":12,"context_line":"    space."},{"line_number":13,"context_line":"features:"},{"line_number":14,"context_line":"  - Oversubscription support"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"bacf61ea_5bcc07bb","line":14,"updated":"2016-08-04 13:04:46.000000000","message":"Added oversubscription support in the VMAX driver.","commit_id":"ec6b2577c35a34ea37f5287b9b0f136ee0931e9e"}]}
