)]}'
{"cinder/volume/drivers/dell_emc/vmax/common.py":[{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"a21ed7580a3fce19497ed339e93928c1edfd8a09","unresolved":false,"context_lines":[{"line_number":2156,"context_line":"        volumes \u003d self.rest.get_private_volume_list(array)"},{"line_number":2157,"context_line":""},{"line_number":2158,"context_line":"        if not volumes:"},{"line_number":2159,"context_line":"            exception_message \u003d \"There were no volumes found on the backend \" \\"},{"line_number":2160,"context_line":"                                \"VMAX. You need to create some volumes \" \\"},{"line_number":2161,"context_line":"                                \"before they can be managed into Cinder.\""},{"line_number":2162,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_f7a22c4b","line":2159,"range":{"start_line":2159,"start_character":78,"end_line":2159,"end_character":79},"updated":"2018-03-28 11:49:21.000000000","message":"Please use parentheses instead of slashes for all line breaks to remain consistent with the rest of cinder code.","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"607fc97a6668204b088e1fd624c341a16466754b","unresolved":false,"context_lines":[{"line_number":2156,"context_line":"        volumes \u003d self.rest.get_private_volume_list(array)"},{"line_number":2157,"context_line":""},{"line_number":2158,"context_line":"        if not volumes:"},{"line_number":2159,"context_line":"            exception_message \u003d \"There were no volumes found on the backend \" \\"},{"line_number":2160,"context_line":"                                \"VMAX. You need to create some volumes \" \\"},{"line_number":2161,"context_line":"                                \"before they can be managed into Cinder.\""},{"line_number":2162,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_9dc73597","line":2159,"range":{"start_line":2159,"start_character":78,"end_line":2159,"end_character":79},"in_reply_to":"bf659307_f7a22c4b","updated":"2018-03-29 11:16:08.000000000","message":"Sure no problem","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"a21ed7580a3fce19497ed339e93928c1edfd8a09","unresolved":false,"context_lines":[{"line_number":2163,"context_line":"        elif volumes:"},{"line_number":2164,"context_line":"            for device in volumes:"},{"line_number":2165,"context_line":"                remove_vol \u003d False"},{"line_number":2166,"context_line":"                if device[\u0027volumeHeader\u0027][\u0027capMB\u0027] \u003c 1026 or \\"},{"line_number":2167,"context_line":"                        not device[\u0027volumeHeader\u0027][\u0027capGB\u0027].is_integer():"},{"line_number":2168,"context_line":"                    remove_vol \u003d True"},{"line_number":2169,"context_line":"                if not remove_vol and \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_d7b84877","line":2166,"range":{"start_line":2166,"start_character":19,"end_line":2166,"end_character":41},"updated":"2018-03-28 11:49:21.000000000","message":"device[\u0027volumeHeader\u0027] is used quite a lot - it might read a bit better if this was assigned to a variable.","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"607fc97a6668204b088e1fd624c341a16466754b","unresolved":false,"context_lines":[{"line_number":2163,"context_line":"        elif volumes:"},{"line_number":2164,"context_line":"            for device in volumes:"},{"line_number":2165,"context_line":"                remove_vol \u003d False"},{"line_number":2166,"context_line":"                if device[\u0027volumeHeader\u0027][\u0027capMB\u0027] \u003c 1026 or \\"},{"line_number":2167,"context_line":"                        not device[\u0027volumeHeader\u0027][\u0027capGB\u0027].is_integer():"},{"line_number":2168,"context_line":"                    remove_vol \u003d True"},{"line_number":2169,"context_line":"                if not remove_vol and \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_dd25ad5d","line":2166,"range":{"start_line":2166,"start_character":19,"end_line":2166,"end_character":41},"in_reply_to":"bf659307_d7b84877","updated":"2018-03-29 11:16:08.000000000","message":"Sure, good idea","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"a21ed7580a3fce19497ed339e93928c1edfd8a09","unresolved":false,"context_lines":[{"line_number":2298,"context_line":"                    if not dump_snap:"},{"line_number":2299,"context_line":"                        human_timestamp \u003d time.strftime("},{"line_number":2300,"context_line":"                            \"%Y/%m/%d, %H:%M:%S\", time.localtime("},{"line_number":2301,"context_line":"                                float(str(snap_gen_info[\u0027timestamp\u0027])[:-3])))"},{"line_number":2302,"context_line":"                        if int(snap_gen_info[\u0027timeToLive\u0027]) \u003e 0:"},{"line_number":2303,"context_line":"                            human_ttl_timestamp \u003d time.strftime("},{"line_number":2304,"context_line":"                                \"%Y/%m/%d, %H:%M:%S\", time.localtime("}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_b7091432","line":2301,"range":{"start_line":2301,"start_character":38,"end_line":2301,"end_character":41},"updated":"2018-03-28 11:49:21.000000000","message":"Please use six.text_type() instead of str()","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"607fc97a6668204b088e1fd624c341a16466754b","unresolved":false,"context_lines":[{"line_number":2298,"context_line":"                    if not dump_snap:"},{"line_number":2299,"context_line":"                        human_timestamp \u003d time.strftime("},{"line_number":2300,"context_line":"                            \"%Y/%m/%d, %H:%M:%S\", time.localtime("},{"line_number":2301,"context_line":"                                float(str(snap_gen_info[\u0027timestamp\u0027])[:-3])))"},{"line_number":2302,"context_line":"                        if int(snap_gen_info[\u0027timeToLive\u0027]) \u003e 0:"},{"line_number":2303,"context_line":"                            human_ttl_timestamp \u003d time.strftime("},{"line_number":2304,"context_line":"                                \"%Y/%m/%d, %H:%M:%S\", time.localtime("}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_bda1d996","line":2301,"range":{"start_line":2301,"start_character":38,"end_line":2301,"end_character":41},"in_reply_to":"bf659307_b7091432","updated":"2018-03-29 11:16:08.000000000","message":"Done","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"a21ed7580a3fce19497ed339e93928c1edfd8a09","unresolved":false,"context_lines":[{"line_number":2302,"context_line":"                        if int(snap_gen_info[\u0027timeToLive\u0027]) \u003e 0:"},{"line_number":2303,"context_line":"                            human_ttl_timestamp \u003d time.strftime("},{"line_number":2304,"context_line":"                                \"%Y/%m/%d, %H:%M:%S\", time.localtime("},{"line_number":2305,"context_line":"                                    float(str("},{"line_number":2306,"context_line":"                                        snap_gen_info[\u0027timeToLive\u0027]))))"},{"line_number":2307,"context_line":"                        else:"},{"line_number":2308,"context_line":"                            human_ttl_timestamp \u003d \u0027N/A\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_823cd0c8","line":2305,"range":{"start_line":2305,"start_character":42,"end_line":2305,"end_character":45},"updated":"2018-03-28 11:49:21.000000000","message":"Please use six.text_type() instead of str()","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"607fc97a6668204b088e1fd624c341a16466754b","unresolved":false,"context_lines":[{"line_number":2302,"context_line":"                        if int(snap_gen_info[\u0027timeToLive\u0027]) \u003e 0:"},{"line_number":2303,"context_line":"                            human_ttl_timestamp \u003d time.strftime("},{"line_number":2304,"context_line":"                                \"%Y/%m/%d, %H:%M:%S\", time.localtime("},{"line_number":2305,"context_line":"                                    float(str("},{"line_number":2306,"context_line":"                                        snap_gen_info[\u0027timeToLive\u0027]))))"},{"line_number":2307,"context_line":"                        else:"},{"line_number":2308,"context_line":"                            human_ttl_timestamp \u003d \u0027N/A\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_3dbf09b1","line":2305,"range":{"start_line":2305,"start_character":42,"end_line":2305,"end_character":45},"in_reply_to":"bf659307_823cd0c8","updated":"2018-03-29 11:16:08.000000000","message":"Done","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"e221b3a5471b30afce1eba0c145b7f844cbe6737","unresolved":false,"context_lines":[{"line_number":2140,"context_line":"                 \"OpenStack but still remains on VMAX source \""},{"line_number":2141,"context_line":"                 \"%(array_id)s\", {\u0027snap_name\u0027: snap_name, \u0027array_id\u0027: array})"},{"line_number":2142,"context_line":""},{"line_number":2143,"context_line":"        def get_manageable_volumes(self, marker, limit, offset, sort_keys,"},{"line_number":2144,"context_line":"                               sort_dirs):"},{"line_number":2145,"context_line":"        \"\"\"Lists all manageable volumes."},{"line_number":2146,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_6e45c942","line":2143,"range":{"start_line":2143,"start_character":4,"end_line":2143,"end_character":8},"updated":"2018-03-29 11:48:00.000000000","message":"I think this is an unintentional indent, please revert, thanks!","commit_id":"e361472abab24da08fb9f463d3302d450f2ad949"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"8cc92550118b71498e01058a8fd4293cfe855ed6","unresolved":false,"context_lines":[{"line_number":2140,"context_line":"                 \"OpenStack but still remains on VMAX source \""},{"line_number":2141,"context_line":"                 \"%(array_id)s\", {\u0027snap_name\u0027: snap_name, \u0027array_id\u0027: array})"},{"line_number":2142,"context_line":""},{"line_number":2143,"context_line":"        def get_manageable_volumes(self, marker, limit, offset, sort_keys,"},{"line_number":2144,"context_line":"                               sort_dirs):"},{"line_number":2145,"context_line":"        \"\"\"Lists all manageable volumes."},{"line_number":2146,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_ee10f9aa","line":2143,"range":{"start_line":2143,"start_character":4,"end_line":2143,"end_character":8},"in_reply_to":"bf659307_6e45c942","updated":"2018-03-29 12:29:26.000000000","message":"It is, strange unit tests didnt catch it, changed","commit_id":"e361472abab24da08fb9f463d3302d450f2ad949"},{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"e221b3a5471b30afce1eba0c145b7f844cbe6737","unresolved":false,"context_lines":[{"line_number":2173,"context_line":"                remove_vol \u003d False"},{"line_number":2174,"context_line":"                vol_head \u003d device[\u0027volumeHeader\u0027]"},{"line_number":2175,"context_line":""},{"line_number":2176,"context_line":"                if vol_head[\u0027capMB\u0027] \u003c 1026 or \\"},{"line_number":2177,"context_line":"                        not vol_head[\u0027capGB\u0027].is_integer():"},{"line_number":2178,"context_line":"                    remove_vol \u003d True"},{"line_number":2179,"context_line":"                if not remove_vol and \\"},{"line_number":2180,"context_line":"                        vol_head[\u0027numSymDevMaskingViews\u0027] \u003e 0 or \\"},{"line_number":2181,"context_line":"                        vol_head[\u0027mapped\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2182,"context_line":"                        device[\u0027maskingInfo\u0027][\u0027masked\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2183,"context_line":"                    remove_vol \u003d True"},{"line_number":2184,"context_line":"                if not remove_vol and \\"},{"line_number":2185,"context_line":"                        vol_head[\u0027status\u0027] !\u003d \u0027Ready\u0027 or \\"},{"line_number":2186,"context_line":"                        vol_head[\u0027private\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2187,"context_line":"                        vol_head[\u0027serviceState\u0027] !\u003d \u0027Normal\u0027 or \\"},{"line_number":2188,"context_line":"                        vol_head[\u0027encapsulated\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2189,"context_line":"                        vol_head[\u0027emulationType\u0027] !\u003d \u0027FBA\u0027 or \\"},{"line_number":2190,"context_line":"                        vol_head[\u0027configuration\u0027] !\u003d \u0027TDEV\u0027 or \\"},{"line_number":2191,"context_line":"                        vol_head[\u0027system_resource\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2192,"context_line":"                        vol_head[\u0027reservationInfo\u0027][\u0027reserved\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2193,"context_line":"                    remove_vol \u003d True"},{"line_number":2194,"context_line":"                if not remove_vol:"},{"line_number":2195,"context_line":"                    for key, value in device[\u0027rdfInfo\u0027].items():"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_6305e213","line":2192,"range":{"start_line":2176,"start_character":16,"end_line":2192,"end_character":74},"updated":"2018-03-29 11:48:00.000000000","message":"Please change all of these \u0027\\\u0027 to \u0027()\u0027 for line breaks also.","commit_id":"e361472abab24da08fb9f463d3302d450f2ad949"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"8cc92550118b71498e01058a8fd4293cfe855ed6","unresolved":false,"context_lines":[{"line_number":2173,"context_line":"                remove_vol \u003d False"},{"line_number":2174,"context_line":"                vol_head \u003d device[\u0027volumeHeader\u0027]"},{"line_number":2175,"context_line":""},{"line_number":2176,"context_line":"                if vol_head[\u0027capMB\u0027] \u003c 1026 or \\"},{"line_number":2177,"context_line":"                        not vol_head[\u0027capGB\u0027].is_integer():"},{"line_number":2178,"context_line":"                    remove_vol \u003d True"},{"line_number":2179,"context_line":"                if not remove_vol and \\"},{"line_number":2180,"context_line":"                        vol_head[\u0027numSymDevMaskingViews\u0027] \u003e 0 or \\"},{"line_number":2181,"context_line":"                        vol_head[\u0027mapped\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2182,"context_line":"                        device[\u0027maskingInfo\u0027][\u0027masked\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2183,"context_line":"                    remove_vol \u003d True"},{"line_number":2184,"context_line":"                if not remove_vol and \\"},{"line_number":2185,"context_line":"                        vol_head[\u0027status\u0027] !\u003d \u0027Ready\u0027 or \\"},{"line_number":2186,"context_line":"                        vol_head[\u0027private\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2187,"context_line":"                        vol_head[\u0027serviceState\u0027] !\u003d \u0027Normal\u0027 or \\"},{"line_number":2188,"context_line":"                        vol_head[\u0027encapsulated\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2189,"context_line":"                        vol_head[\u0027emulationType\u0027] !\u003d \u0027FBA\u0027 or \\"},{"line_number":2190,"context_line":"                        vol_head[\u0027configuration\u0027] !\u003d \u0027TDEV\u0027 or \\"},{"line_number":2191,"context_line":"                        vol_head[\u0027system_resource\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2192,"context_line":"                        vol_head[\u0027reservationInfo\u0027][\u0027reserved\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2193,"context_line":"                    remove_vol \u003d True"},{"line_number":2194,"context_line":"                if not remove_vol:"},{"line_number":2195,"context_line":"                    for key, value in device[\u0027rdfInfo\u0027].items():"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_8e293de7","line":2192,"range":{"start_line":2176,"start_character":16,"end_line":2192,"end_character":74},"in_reply_to":"bf659307_6305e213","updated":"2018-03-29 12:29:26.000000000","message":"Done","commit_id":"e361472abab24da08fb9f463d3302d450f2ad949"},{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"e221b3a5471b30afce1eba0c145b7f844cbe6737","unresolved":false,"context_lines":[{"line_number":2197,"context_line":"                            remove_vol \u003d True"},{"line_number":2198,"context_line":"                    if device[\u0027timeFinderInfo\u0027][\u0027snapVXTgt\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2199,"context_line":"                        remove_vol \u003d True"},{"line_number":2200,"context_line":"                if not remove_vol and \\"},{"line_number":2201,"context_line":"                        vol_head[\u0027nameModifier\u0027][0:3] \u003d\u003d \u0027OS-\u0027:"},{"line_number":2202,"context_line":"                    remove_vol \u003d True"},{"line_number":2203,"context_line":"                if not remove_vol:"},{"line_number":2204,"context_line":"                    valid_vols.append(vol_head)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_ae3a01c9","line":2201,"range":{"start_line":2200,"start_character":16,"end_line":2201,"end_character":63},"updated":"2018-03-29 11:48:00.000000000","message":"Same.","commit_id":"e361472abab24da08fb9f463d3302d450f2ad949"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"8cc92550118b71498e01058a8fd4293cfe855ed6","unresolved":false,"context_lines":[{"line_number":2197,"context_line":"                            remove_vol \u003d True"},{"line_number":2198,"context_line":"                    if device[\u0027timeFinderInfo\u0027][\u0027snapVXTgt\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2199,"context_line":"                        remove_vol \u003d True"},{"line_number":2200,"context_line":"                if not remove_vol and \\"},{"line_number":2201,"context_line":"                        vol_head[\u0027nameModifier\u0027][0:3] \u003d\u003d \u0027OS-\u0027:"},{"line_number":2202,"context_line":"                    remove_vol \u003d True"},{"line_number":2203,"context_line":"                if not remove_vol:"},{"line_number":2204,"context_line":"                    valid_vols.append(vol_head)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_4e1fa5b6","line":2201,"range":{"start_line":2200,"start_character":16,"end_line":2201,"end_character":63},"in_reply_to":"bf659307_ae3a01c9","updated":"2018-03-29 12:29:26.000000000","message":"Done","commit_id":"e361472abab24da08fb9f463d3302d450f2ad949"},{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"e221b3a5471b30afce1eba0c145b7f844cbe6737","unresolved":false,"context_lines":[{"line_number":2281,"context_line":""},{"line_number":2282,"context_line":"                if device[\u0027timeFinderInfo\u0027][\u0027snapVXSrc\u0027] \u003d\u003d \u0027False\u0027:"},{"line_number":2283,"context_line":"                    remove_vol \u003d True"},{"line_number":2284,"context_line":"                if not remove_vol and \\"},{"line_number":2285,"context_line":"                        vol_head[\u0027capMB\u0027] \u003c 1026 or \\"},{"line_number":2286,"context_line":"                        not vol_head[\u0027capGB\u0027].is_integer():"},{"line_number":2287,"context_line":"                    remove_vol \u003d True"},{"line_number":2288,"context_line":"                if not remove_vol and \\"},{"line_number":2289,"context_line":"                        vol_head[\u0027private\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2290,"context_line":"                        vol_head[\u0027emulationType\u0027] !\u003d \u0027FBA\u0027 or \\"},{"line_number":2291,"context_line":"                        vol_head[\u0027configuration\u0027] !\u003d \u0027TDEV\u0027 or \\"},{"line_number":2292,"context_line":"                        vol_head[\u0027system_resource\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2293,"context_line":"                    remove_vol \u003d True"},{"line_number":2294,"context_line":"                if not remove_vol:"},{"line_number":2295,"context_line":"                    dump_snap \u003d False"},{"line_number":2296,"context_line":"                    snap_gen_info \u003d \\"},{"line_number":2297,"context_line":"                        device[\u0027timeFinderInfo\u0027][\u0027snapVXSession\u0027][0]["},{"line_number":2298,"context_line":"                            \u0027srcSnapshotGenInfo\u0027][0][\u0027snapshotHeader\u0027]"},{"line_number":2299,"context_line":"                    if snap_gen_info[\u0027snapshotName\u0027][0:3] \u003d\u003d \u0027OS-\u0027 or \\"},{"line_number":2300,"context_line":"                            snap_gen_info[\u0027snapshotName\u0027][0:5] \u003d\u003d \u0027temp-\u0027:"},{"line_number":2301,"context_line":"                        dump_snap \u003d True"},{"line_number":2302,"context_line":"                    if snap_gen_info[\u0027expired\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2303,"context_line":"                            snap_gen_info[\u0027generation\u0027] \u003e 0:"},{"line_number":2304,"context_line":"                        dump_snap \u003d True"},{"line_number":2305,"context_line":""},{"line_number":2306,"context_line":"                    if not dump_snap:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_ae11a154","line":2303,"range":{"start_line":2284,"start_character":16,"end_line":2303,"end_character":60},"updated":"2018-03-29 11:48:00.000000000","message":"Same","commit_id":"e361472abab24da08fb9f463d3302d450f2ad949"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"8cc92550118b71498e01058a8fd4293cfe855ed6","unresolved":false,"context_lines":[{"line_number":2281,"context_line":""},{"line_number":2282,"context_line":"                if device[\u0027timeFinderInfo\u0027][\u0027snapVXSrc\u0027] \u003d\u003d \u0027False\u0027:"},{"line_number":2283,"context_line":"                    remove_vol \u003d True"},{"line_number":2284,"context_line":"                if not remove_vol and \\"},{"line_number":2285,"context_line":"                        vol_head[\u0027capMB\u0027] \u003c 1026 or \\"},{"line_number":2286,"context_line":"                        not vol_head[\u0027capGB\u0027].is_integer():"},{"line_number":2287,"context_line":"                    remove_vol \u003d True"},{"line_number":2288,"context_line":"                if not remove_vol and \\"},{"line_number":2289,"context_line":"                        vol_head[\u0027private\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2290,"context_line":"                        vol_head[\u0027emulationType\u0027] !\u003d \u0027FBA\u0027 or \\"},{"line_number":2291,"context_line":"                        vol_head[\u0027configuration\u0027] !\u003d \u0027TDEV\u0027 or \\"},{"line_number":2292,"context_line":"                        vol_head[\u0027system_resource\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2293,"context_line":"                    remove_vol \u003d True"},{"line_number":2294,"context_line":"                if not remove_vol:"},{"line_number":2295,"context_line":"                    dump_snap \u003d False"},{"line_number":2296,"context_line":"                    snap_gen_info \u003d \\"},{"line_number":2297,"context_line":"                        device[\u0027timeFinderInfo\u0027][\u0027snapVXSession\u0027][0]["},{"line_number":2298,"context_line":"                            \u0027srcSnapshotGenInfo\u0027][0][\u0027snapshotHeader\u0027]"},{"line_number":2299,"context_line":"                    if snap_gen_info[\u0027snapshotName\u0027][0:3] \u003d\u003d \u0027OS-\u0027 or \\"},{"line_number":2300,"context_line":"                            snap_gen_info[\u0027snapshotName\u0027][0:5] \u003d\u003d \u0027temp-\u0027:"},{"line_number":2301,"context_line":"                        dump_snap \u003d True"},{"line_number":2302,"context_line":"                    if snap_gen_info[\u0027expired\u0027] \u003d\u003d \u0027True\u0027 or \\"},{"line_number":2303,"context_line":"                            snap_gen_info[\u0027generation\u0027] \u003e 0:"},{"line_number":2304,"context_line":"                        dump_snap \u003d True"},{"line_number":2305,"context_line":""},{"line_number":2306,"context_line":"                    if not dump_snap:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_6e1ce9c0","line":2303,"range":{"start_line":2284,"start_character":16,"end_line":2303,"end_character":60},"in_reply_to":"bf659307_ae11a154","updated":"2018-03-29 12:29:26.000000000","message":"Done","commit_id":"e361472abab24da08fb9f463d3302d450f2ad949"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":2145,"context_line":"        \"\"\"Lists all manageable volumes."},{"line_number":2146,"context_line":""},{"line_number":2147,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":2148,"context_line":"        list than that represented by this reference. This reference should be"},{"line_number":2149,"context_line":"        json like. Default\u003dNone."},{"line_number":2150,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003dNone."},{"line_number":2151,"context_line":"        :param offset: Number of volumes to skip after marker. Default\u003dNone."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_74dfd6d5","line":2148,"range":{"start_line":2148,"start_character":7,"end_line":2148,"end_character":8},"updated":"2018-03-29 14:18:58.000000000","message":"Generally a :param description should not exceed the 79 chars, but if they have to perhaps should be something like the following for readability.\n\n:param marker: Begin returning volumes that appear later in \n               the volume list than that represented by \n               this reference.","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":2145,"context_line":"        \"\"\"Lists all manageable volumes."},{"line_number":2146,"context_line":""},{"line_number":2147,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":2148,"context_line":"        list than that represented by this reference. This reference should be"},{"line_number":2149,"context_line":"        json like. Default\u003dNone."},{"line_number":2150,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003dNone."},{"line_number":2151,"context_line":"        :param offset: Number of volumes to skip after marker. Default\u003dNone."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_7f69dcf6","line":2148,"range":{"start_line":2148,"start_character":7,"end_line":2148,"end_character":8},"in_reply_to":"bf659307_74dfd6d5","updated":"2018-03-30 13:14:27.000000000","message":"Sure, I was wondering the same myself, change made","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":2163,"context_line":"        volumes \u003d self.rest.get_private_volume_list(array)"},{"line_number":2164,"context_line":""},{"line_number":2165,"context_line":"        if not volumes:"},{"line_number":2166,"context_line":"            exception_message \u003d (_(\"There were no volumes found on the \""},{"line_number":2167,"context_line":"                                   \"backend  VMAX. You need to create some \""},{"line_number":2168,"context_line":"                                   \"volumes before they can be managed into \""},{"line_number":2169,"context_line":"                                   \"Cinder.\"))"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_d49ca20f","line":2166,"range":{"start_line":2166,"start_character":32,"end_line":2166,"end_character":33},"updated":"2018-03-29 14:18:58.000000000","message":"outside brackets not necessary","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":2163,"context_line":"        volumes \u003d self.rest.get_private_volume_list(array)"},{"line_number":2164,"context_line":""},{"line_number":2165,"context_line":"        if not volumes:"},{"line_number":2166,"context_line":"            exception_message \u003d (_(\"There were no volumes found on the \""},{"line_number":2167,"context_line":"                                   \"backend  VMAX. You need to create some \""},{"line_number":2168,"context_line":"                                   \"volumes before they can be managed into \""},{"line_number":2169,"context_line":"                                   \"Cinder.\"))"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_3f484485","line":2166,"range":{"start_line":2166,"start_character":32,"end_line":2166,"end_character":33},"in_reply_to":"bf659307_d49ca20f","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":2164,"context_line":""},{"line_number":2165,"context_line":"        if not volumes:"},{"line_number":2166,"context_line":"            exception_message \u003d (_(\"There were no volumes found on the \""},{"line_number":2167,"context_line":"                                   \"backend  VMAX. You need to create some \""},{"line_number":2168,"context_line":"                                   \"volumes before they can be managed into \""},{"line_number":2169,"context_line":"                                   \"Cinder.\"))"},{"line_number":2170,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_b487aeb5","line":2167,"range":{"start_line":2167,"start_character":44,"end_line":2167,"end_character":45},"updated":"2018-03-29 14:18:58.000000000","message":"extra space","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":2164,"context_line":""},{"line_number":2165,"context_line":"        if not volumes:"},{"line_number":2166,"context_line":"            exception_message \u003d (_(\"There were no volumes found on the \""},{"line_number":2167,"context_line":"                                   \"backend  VMAX. You need to create some \""},{"line_number":2168,"context_line":"                                   \"volumes before they can be managed into \""},{"line_number":2169,"context_line":"                                   \"Cinder.\"))"},{"line_number":2170,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_1f6a20ec","line":2167,"range":{"start_line":2167,"start_character":44,"end_line":2167,"end_character":45},"in_reply_to":"bf659307_b487aeb5","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":2168,"context_line":"                                   \"volumes before they can be managed into \""},{"line_number":2169,"context_line":"                                   \"Cinder.\"))"},{"line_number":2170,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":2171,"context_line":"        elif volumes:"},{"line_number":2172,"context_line":"            for device in volumes:"},{"line_number":2173,"context_line":"                remove_vol \u003d False"},{"line_number":2174,"context_line":"                vol_head \u003d device[\u0027volumeHeader\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_94b38a98","line":2171,"range":{"start_line":2171,"start_character":8,"end_line":2171,"end_character":12},"updated":"2018-03-29 14:18:58.000000000","message":"will an else do here?","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":2168,"context_line":"                                   \"volumes before they can be managed into \""},{"line_number":2169,"context_line":"                                   \"Cinder.\"))"},{"line_number":2170,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":2171,"context_line":"        elif volumes:"},{"line_number":2172,"context_line":"            for device in volumes:"},{"line_number":2173,"context_line":"                remove_vol \u003d False"},{"line_number":2174,"context_line":"                vol_head \u003d device[\u0027volumeHeader\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_3f6fe4fc","line":2171,"range":{"start_line":2171,"start_character":8,"end_line":2171,"end_character":12},"in_reply_to":"bf659307_94b38a98","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":2170,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":2171,"context_line":"        elif volumes:"},{"line_number":2172,"context_line":"            for device in volumes:"},{"line_number":2173,"context_line":"                remove_vol \u003d False"},{"line_number":2174,"context_line":"                vol_head \u003d device[\u0027volumeHeader\u0027]"},{"line_number":2175,"context_line":""},{"line_number":2176,"context_line":"                if (vol_head[\u0027capMB\u0027] \u003c 1026 or"},{"line_number":2177,"context_line":"                        not vol_head[\u0027capGB\u0027].is_integer()):"},{"line_number":2178,"context_line":"                    remove_vol \u003d True"},{"line_number":2179,"context_line":"                if (not remove_vol and"},{"line_number":2180,"context_line":"                        vol_head[\u0027numSymDevMaskingViews\u0027] \u003e 0 or"},{"line_number":2181,"context_line":"                        vol_head[\u0027mapped\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2182,"context_line":"                        device[\u0027maskingInfo\u0027][\u0027masked\u0027] \u003d\u003d \u0027True\u0027):"},{"line_number":2183,"context_line":"                    remove_vol \u003d True"},{"line_number":2184,"context_line":"                if (not remove_vol and"},{"line_number":2185,"context_line":"                        vol_head[\u0027status\u0027] !\u003d \u0027Ready\u0027 or"},{"line_number":2186,"context_line":"                        vol_head[\u0027private\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2187,"context_line":"                        vol_head[\u0027serviceState\u0027] !\u003d \u0027Normal\u0027 or"},{"line_number":2188,"context_line":"                        vol_head[\u0027encapsulated\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2189,"context_line":"                        vol_head[\u0027emulationType\u0027] !\u003d \u0027FBA\u0027 or"},{"line_number":2190,"context_line":"                        vol_head[\u0027configuration\u0027] !\u003d \u0027TDEV\u0027 or"},{"line_number":2191,"context_line":"                        vol_head[\u0027system_resource\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2192,"context_line":"                        vol_head[\u0027reservationInfo\u0027][\u0027reserved\u0027] \u003d\u003d \u0027True\u0027):"},{"line_number":2193,"context_line":"                    remove_vol \u003d True"},{"line_number":2194,"context_line":"                if not remove_vol:"},{"line_number":2195,"context_line":"                    for key, value in device[\u0027rdfInfo\u0027].items():"},{"line_number":2196,"context_line":"                        if value \u003d\u003d \u0027True\u0027:"},{"line_number":2197,"context_line":"                            remove_vol \u003d True"},{"line_number":2198,"context_line":"                    if device[\u0027timeFinderInfo\u0027][\u0027snapVXTgt\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2199,"context_line":"                        remove_vol \u003d True"},{"line_number":2200,"context_line":"                if (not remove_vol and"},{"line_number":2201,"context_line":"                        vol_head[\u0027nameModifier\u0027][0:3] \u003d\u003d \u0027OS-\u0027):"},{"line_number":2202,"context_line":"                    remove_vol \u003d True"},{"line_number":2203,"context_line":"                if not remove_vol:"},{"line_number":2204,"context_line":"                    valid_vols.append(vol_head)"},{"line_number":2205,"context_line":""},{"line_number":2206,"context_line":"            for vol in valid_vols:"},{"line_number":2207,"context_line":"                volume_dict \u003d {\u0027reference\u0027: {\u0027source-id\u0027: vol[\u0027volumeId\u0027]},"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_b45ece41","line":2204,"range":{"start_line":2173,"start_character":16,"end_line":2204,"end_character":47},"updated":"2018-03-29 14:18:58.000000000","message":"could this be made a private method for readability?","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":2170,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":2171,"context_line":"        elif volumes:"},{"line_number":2172,"context_line":"            for device in volumes:"},{"line_number":2173,"context_line":"                remove_vol \u003d False"},{"line_number":2174,"context_line":"                vol_head \u003d device[\u0027volumeHeader\u0027]"},{"line_number":2175,"context_line":""},{"line_number":2176,"context_line":"                if (vol_head[\u0027capMB\u0027] \u003c 1026 or"},{"line_number":2177,"context_line":"                        not vol_head[\u0027capGB\u0027].is_integer()):"},{"line_number":2178,"context_line":"                    remove_vol \u003d True"},{"line_number":2179,"context_line":"                if (not remove_vol and"},{"line_number":2180,"context_line":"                        vol_head[\u0027numSymDevMaskingViews\u0027] \u003e 0 or"},{"line_number":2181,"context_line":"                        vol_head[\u0027mapped\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2182,"context_line":"                        device[\u0027maskingInfo\u0027][\u0027masked\u0027] \u003d\u003d \u0027True\u0027):"},{"line_number":2183,"context_line":"                    remove_vol \u003d True"},{"line_number":2184,"context_line":"                if (not remove_vol and"},{"line_number":2185,"context_line":"                        vol_head[\u0027status\u0027] !\u003d \u0027Ready\u0027 or"},{"line_number":2186,"context_line":"                        vol_head[\u0027private\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2187,"context_line":"                        vol_head[\u0027serviceState\u0027] !\u003d \u0027Normal\u0027 or"},{"line_number":2188,"context_line":"                        vol_head[\u0027encapsulated\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2189,"context_line":"                        vol_head[\u0027emulationType\u0027] !\u003d \u0027FBA\u0027 or"},{"line_number":2190,"context_line":"                        vol_head[\u0027configuration\u0027] !\u003d \u0027TDEV\u0027 or"},{"line_number":2191,"context_line":"                        vol_head[\u0027system_resource\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2192,"context_line":"                        vol_head[\u0027reservationInfo\u0027][\u0027reserved\u0027] \u003d\u003d \u0027True\u0027):"},{"line_number":2193,"context_line":"                    remove_vol \u003d True"},{"line_number":2194,"context_line":"                if not remove_vol:"},{"line_number":2195,"context_line":"                    for key, value in device[\u0027rdfInfo\u0027].items():"},{"line_number":2196,"context_line":"                        if value \u003d\u003d \u0027True\u0027:"},{"line_number":2197,"context_line":"                            remove_vol \u003d True"},{"line_number":2198,"context_line":"                    if device[\u0027timeFinderInfo\u0027][\u0027snapVXTgt\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":2199,"context_line":"                        remove_vol \u003d True"},{"line_number":2200,"context_line":"                if (not remove_vol and"},{"line_number":2201,"context_line":"                        vol_head[\u0027nameModifier\u0027][0:3] \u003d\u003d \u0027OS-\u0027):"},{"line_number":2202,"context_line":"                    remove_vol \u003d True"},{"line_number":2203,"context_line":"                if not remove_vol:"},{"line_number":2204,"context_line":"                    valid_vols.append(vol_head)"},{"line_number":2205,"context_line":""},{"line_number":2206,"context_line":"            for vol in valid_vols:"},{"line_number":2207,"context_line":"                volume_dict \u003d {\u0027reference\u0027: {\u0027source-id\u0027: vol[\u0027volumeId\u0027]},"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_5f32d811","line":2204,"range":{"start_line":2173,"start_character":16,"end_line":2204,"end_character":47},"in_reply_to":"bf659307_b45ece41","updated":"2018-03-30 13:14:27.000000000","message":"Sure, it is very specific to listing manageable volumes at the moment but the same check may be be built into manage_volume function at a later date if the same info can be retrieved from a single volume GET call. Will move to utils","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":2276,"context_line":""},{"line_number":2277,"context_line":"        if private_volumes:"},{"line_number":2278,"context_line":"            for device in private_volumes:"},{"line_number":2279,"context_line":"                remove_vol \u003d False"},{"line_number":2280,"context_line":"                vol_head \u003d device[\u0027volumeHeader\u0027]"},{"line_number":2281,"context_line":""},{"line_number":2282,"context_line":"                if device[\u0027timeFinderInfo\u0027][\u0027snapVXSrc\u0027] \u003d\u003d \u0027False\u0027:"},{"line_number":2283,"context_line":"                    remove_vol \u003d True"},{"line_number":2284,"context_line":"                if (not remove_vol and"},{"line_number":2285,"context_line":"                        vol_head[\u0027capMB\u0027] \u003c 1026 or"},{"line_number":2286,"context_line":"                        not vol_head[\u0027capGB\u0027].is_integer()):"},{"line_number":2287,"context_line":"                    remove_vol \u003d True"},{"line_number":2288,"context_line":"                if (not remove_vol and"},{"line_number":2289,"context_line":"                        vol_head[\u0027private\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2290,"context_line":"                        vol_head[\u0027emulationType\u0027] !\u003d \u0027FBA\u0027 or"},{"line_number":2291,"context_line":"                        vol_head[\u0027configuration\u0027] !\u003d \u0027TDEV\u0027 or"},{"line_number":2292,"context_line":"                        vol_head[\u0027system_resource\u0027] \u003d\u003d \u0027True\u0027):"},{"line_number":2293,"context_line":"                    remove_vol \u003d True"},{"line_number":2294,"context_line":"                if not remove_vol:"},{"line_number":2295,"context_line":"                    dump_snap \u003d False"},{"line_number":2296,"context_line":"                    snap_gen_info \u003d ("},{"line_number":2297,"context_line":"                        device[\u0027timeFinderInfo\u0027][\u0027snapVXSession\u0027][0]["},{"line_number":2298,"context_line":"                            \u0027srcSnapshotGenInfo\u0027][0][\u0027snapshotHeader\u0027])"},{"line_number":2299,"context_line":"                    if (snap_gen_info[\u0027snapshotName\u0027][0:3] \u003d\u003d \u0027OS-\u0027 or"},{"line_number":2300,"context_line":"                            snap_gen_info[\u0027snapshotName\u0027][0:5] \u003d\u003d \u0027temp-\u0027):"},{"line_number":2301,"context_line":"                        dump_snap \u003d True"},{"line_number":2302,"context_line":"                    if (snap_gen_info[\u0027expired\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2303,"context_line":"                            snap_gen_info[\u0027generation\u0027] \u003e 0):"},{"line_number":2304,"context_line":"                        dump_snap \u003d True"},{"line_number":2305,"context_line":""},{"line_number":2306,"context_line":"                    if not dump_snap:"},{"line_number":2307,"context_line":"                        human_timestamp \u003d time.strftime("},{"line_number":2308,"context_line":"                            \"%Y/%m/%d, %H:%M:%S\", time.localtime("},{"line_number":2309,"context_line":"                                float(six.text_type("},{"line_number":2310,"context_line":"                                    snap_gen_info[\u0027timestamp\u0027])[:-3])))"},{"line_number":2311,"context_line":"                        if int(snap_gen_info[\u0027timeToLive\u0027]) \u003e 0:"},{"line_number":2312,"context_line":"                            human_ttl_timestamp \u003d time.strftime("},{"line_number":2313,"context_line":"                                \"%Y/%m/%d, %H:%M:%S\", time.localtime("},{"line_number":2314,"context_line":"                                    float(six.text_type("},{"line_number":2315,"context_line":"                                        snap_gen_info[\u0027timeToLive\u0027]))))"},{"line_number":2316,"context_line":"                        else:"},{"line_number":2317,"context_line":"                            human_ttl_timestamp \u003d \u0027N/A\u0027"},{"line_number":2318,"context_line":""},{"line_number":2319,"context_line":"                        snap_dict \u003d {"},{"line_number":2320,"context_line":"                            \u0027reference\u0027: {"},{"line_number":2321,"context_line":"                                \u0027source-name\u0027: snap_gen_info[\u0027snapshotName\u0027]},"},{"line_number":2322,"context_line":"                            \u0027safe_to_manage\u0027: True,"},{"line_number":2323,"context_line":"                            \u0027size\u0027: int("},{"line_number":2324,"context_line":"                                math.ceil(device[\u0027volumeHeader\u0027][\u0027capGB\u0027])),"},{"line_number":2325,"context_line":"                            \u0027reason_not_safe\u0027: None, \u0027cinder_id\u0027: None,"},{"line_number":2326,"context_line":"                            \u0027extra_info\u0027: {"},{"line_number":2327,"context_line":"                                \u0027generation\u0027: snap_gen_info[\u0027generation\u0027],"},{"line_number":2328,"context_line":"                                \u0027secured\u0027: snap_gen_info[\u0027secured\u0027],"},{"line_number":2329,"context_line":"                                \u0027timeToLive\u0027: human_ttl_timestamp,"},{"line_number":2330,"context_line":"                                \u0027timestamp\u0027: human_timestamp},"},{"line_number":2331,"context_line":"                            \u0027source_reference\u0027: {"},{"line_number":2332,"context_line":"                                \u0027source-id\u0027: snap_gen_info[\u0027device\u0027]}}"},{"line_number":2333,"context_line":""},{"line_number":2334,"context_line":"                        manageable_snaps.append(snap_dict)"},{"line_number":2335,"context_line":""},{"line_number":2336,"context_line":"        manageable_snaps \u003d sorted("},{"line_number":2337,"context_line":"            manageable_snaps, key\u003dlambda k: k[\u0027source_reference\u0027][\u0027source-id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_141c5a76","line":2334,"range":{"start_line":2279,"start_character":16,"end_line":2334,"end_character":58},"updated":"2018-03-29 14:18:58.000000000","message":"private method for readability?","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":2276,"context_line":""},{"line_number":2277,"context_line":"        if private_volumes:"},{"line_number":2278,"context_line":"            for device in private_volumes:"},{"line_number":2279,"context_line":"                remove_vol \u003d False"},{"line_number":2280,"context_line":"                vol_head \u003d device[\u0027volumeHeader\u0027]"},{"line_number":2281,"context_line":""},{"line_number":2282,"context_line":"                if device[\u0027timeFinderInfo\u0027][\u0027snapVXSrc\u0027] \u003d\u003d \u0027False\u0027:"},{"line_number":2283,"context_line":"                    remove_vol \u003d True"},{"line_number":2284,"context_line":"                if (not remove_vol and"},{"line_number":2285,"context_line":"                        vol_head[\u0027capMB\u0027] \u003c 1026 or"},{"line_number":2286,"context_line":"                        not vol_head[\u0027capGB\u0027].is_integer()):"},{"line_number":2287,"context_line":"                    remove_vol \u003d True"},{"line_number":2288,"context_line":"                if (not remove_vol and"},{"line_number":2289,"context_line":"                        vol_head[\u0027private\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2290,"context_line":"                        vol_head[\u0027emulationType\u0027] !\u003d \u0027FBA\u0027 or"},{"line_number":2291,"context_line":"                        vol_head[\u0027configuration\u0027] !\u003d \u0027TDEV\u0027 or"},{"line_number":2292,"context_line":"                        vol_head[\u0027system_resource\u0027] \u003d\u003d \u0027True\u0027):"},{"line_number":2293,"context_line":"                    remove_vol \u003d True"},{"line_number":2294,"context_line":"                if not remove_vol:"},{"line_number":2295,"context_line":"                    dump_snap \u003d False"},{"line_number":2296,"context_line":"                    snap_gen_info \u003d ("},{"line_number":2297,"context_line":"                        device[\u0027timeFinderInfo\u0027][\u0027snapVXSession\u0027][0]["},{"line_number":2298,"context_line":"                            \u0027srcSnapshotGenInfo\u0027][0][\u0027snapshotHeader\u0027])"},{"line_number":2299,"context_line":"                    if (snap_gen_info[\u0027snapshotName\u0027][0:3] \u003d\u003d \u0027OS-\u0027 or"},{"line_number":2300,"context_line":"                            snap_gen_info[\u0027snapshotName\u0027][0:5] \u003d\u003d \u0027temp-\u0027):"},{"line_number":2301,"context_line":"                        dump_snap \u003d True"},{"line_number":2302,"context_line":"                    if (snap_gen_info[\u0027expired\u0027] \u003d\u003d \u0027True\u0027 or"},{"line_number":2303,"context_line":"                            snap_gen_info[\u0027generation\u0027] \u003e 0):"},{"line_number":2304,"context_line":"                        dump_snap \u003d True"},{"line_number":2305,"context_line":""},{"line_number":2306,"context_line":"                    if not dump_snap:"},{"line_number":2307,"context_line":"                        human_timestamp \u003d time.strftime("},{"line_number":2308,"context_line":"                            \"%Y/%m/%d, %H:%M:%S\", time.localtime("},{"line_number":2309,"context_line":"                                float(six.text_type("},{"line_number":2310,"context_line":"                                    snap_gen_info[\u0027timestamp\u0027])[:-3])))"},{"line_number":2311,"context_line":"                        if int(snap_gen_info[\u0027timeToLive\u0027]) \u003e 0:"},{"line_number":2312,"context_line":"                            human_ttl_timestamp \u003d time.strftime("},{"line_number":2313,"context_line":"                                \"%Y/%m/%d, %H:%M:%S\", time.localtime("},{"line_number":2314,"context_line":"                                    float(six.text_type("},{"line_number":2315,"context_line":"                                        snap_gen_info[\u0027timeToLive\u0027]))))"},{"line_number":2316,"context_line":"                        else:"},{"line_number":2317,"context_line":"                            human_ttl_timestamp \u003d \u0027N/A\u0027"},{"line_number":2318,"context_line":""},{"line_number":2319,"context_line":"                        snap_dict \u003d {"},{"line_number":2320,"context_line":"                            \u0027reference\u0027: {"},{"line_number":2321,"context_line":"                                \u0027source-name\u0027: snap_gen_info[\u0027snapshotName\u0027]},"},{"line_number":2322,"context_line":"                            \u0027safe_to_manage\u0027: True,"},{"line_number":2323,"context_line":"                            \u0027size\u0027: int("},{"line_number":2324,"context_line":"                                math.ceil(device[\u0027volumeHeader\u0027][\u0027capGB\u0027])),"},{"line_number":2325,"context_line":"                            \u0027reason_not_safe\u0027: None, \u0027cinder_id\u0027: None,"},{"line_number":2326,"context_line":"                            \u0027extra_info\u0027: {"},{"line_number":2327,"context_line":"                                \u0027generation\u0027: snap_gen_info[\u0027generation\u0027],"},{"line_number":2328,"context_line":"                                \u0027secured\u0027: snap_gen_info[\u0027secured\u0027],"},{"line_number":2329,"context_line":"                                \u0027timeToLive\u0027: human_ttl_timestamp,"},{"line_number":2330,"context_line":"                                \u0027timestamp\u0027: human_timestamp},"},{"line_number":2331,"context_line":"                            \u0027source_reference\u0027: {"},{"line_number":2332,"context_line":"                                \u0027source-id\u0027: snap_gen_info[\u0027device\u0027]}}"},{"line_number":2333,"context_line":""},{"line_number":2334,"context_line":"                        manageable_snaps.append(snap_dict)"},{"line_number":2335,"context_line":""},{"line_number":2336,"context_line":"        manageable_snaps \u003d sorted("},{"line_number":2337,"context_line":"            manageable_snaps, key\u003dlambda k: k[\u0027source_reference\u0027][\u0027source-id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_7f379c00","line":2334,"range":{"start_line":2279,"start_character":16,"end_line":2334,"end_character":58},"in_reply_to":"bf659307_141c5a76","updated":"2018-03-30 13:14:27.000000000","message":"Same as above with list manageable volumes method, will move to utils for possible future use with managing snapshots","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"375dd468ba58387edba0722fe528e682db381a56","unresolved":false,"context_lines":[{"line_number":2165,"context_line":""},{"line_number":2166,"context_line":"        # No volumes returned from VMAX"},{"line_number":2167,"context_line":"        if not volumes:"},{"line_number":2168,"context_line":"            exception_message \u003d (\"There were no volumes found on the backend \""},{"line_number":2169,"context_line":"                                 \"VMAX. You need to create some volumes \""},{"line_number":2170,"context_line":"                                 \"before they can be managed into Cinder.\")"},{"line_number":2171,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_e35f2070","line":2168,"range":{"start_line":2168,"start_character":32,"end_line":2168,"end_character":33},"updated":"2018-04-06 02:36:09.000000000","message":"Needs _()","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"a4ef0bba75cd54e97f3a3650dec8b86dff716334","unresolved":false,"context_lines":[{"line_number":2165,"context_line":""},{"line_number":2166,"context_line":"        # No volumes returned from VMAX"},{"line_number":2167,"context_line":"        if not volumes:"},{"line_number":2168,"context_line":"            exception_message \u003d (\"There were no volumes found on the backend \""},{"line_number":2169,"context_line":"                                 \"VMAX. You need to create some volumes \""},{"line_number":2170,"context_line":"                                 \"before they can be managed into Cinder.\")"},{"line_number":2171,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_c52539ad","line":2168,"range":{"start_line":2168,"start_character":32,"end_line":2168,"end_character":33},"in_reply_to":"bf659307_e35f2070","updated":"2018-04-06 12:49:57.000000000","message":"Done","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"375dd468ba58387edba0722fe528e682db381a56","unresolved":false,"context_lines":[{"line_number":2194,"context_line":"                _(\"There are no valid volumes on backend VMAX \""},{"line_number":2195,"context_line":"                  \"%(array_id)s for Cinder management. Please ensure the \""},{"line_number":2196,"context_line":"                  \"volumes on your backend VMAX meet the requirements for \""},{"line_number":2197,"context_line":"                  \"Cinder management.\"), {\u0027array_id\u0027: array})"},{"line_number":2198,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":2199,"context_line":"                exception_message)"},{"line_number":2200,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_a3512865","line":2197,"range":{"start_line":2197,"start_character":39,"end_line":2197,"end_character":40},"updated":"2018-04-06 02:36:09.000000000","message":"Needs to be %","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"a4ef0bba75cd54e97f3a3650dec8b86dff716334","unresolved":false,"context_lines":[{"line_number":2194,"context_line":"                _(\"There are no valid volumes on backend VMAX \""},{"line_number":2195,"context_line":"                  \"%(array_id)s for Cinder management. Please ensure the \""},{"line_number":2196,"context_line":"                  \"volumes on your backend VMAX meet the requirements for \""},{"line_number":2197,"context_line":"                  \"Cinder management.\"), {\u0027array_id\u0027: array})"},{"line_number":2198,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":2199,"context_line":"                exception_message)"},{"line_number":2200,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_853741e4","line":2197,"range":{"start_line":2197,"start_character":39,"end_line":2197,"end_character":40},"in_reply_to":"bf659307_a3512865","updated":"2018-04-06 12:49:57.000000000","message":"Done","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"375dd468ba58387edba0722fe528e682db381a56","unresolved":false,"context_lines":[{"line_number":2224,"context_line":"                if vol_index:"},{"line_number":2225,"context_line":"                    manageable_vols \u003d manageable_vols[vol_index:]"},{"line_number":2226,"context_line":"                else:"},{"line_number":2227,"context_line":"                    msg \u003d (_(\"Volume marker not found, please check supplied \""},{"line_number":2228,"context_line":"                             \"device ID and try again.\"))"},{"line_number":2229,"context_line":"                    raise exception.VolumeBackendAPIException(msg)"},{"line_number":2230,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_634b10b0","line":2227,"range":{"start_line":2227,"start_character":26,"end_line":2227,"end_character":27},"updated":"2018-04-06 02:36:09.000000000","message":"Outer () not needed.","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"a4ef0bba75cd54e97f3a3650dec8b86dff716334","unresolved":false,"context_lines":[{"line_number":2224,"context_line":"                if vol_index:"},{"line_number":2225,"context_line":"                    manageable_vols \u003d manageable_vols[vol_index:]"},{"line_number":2226,"context_line":"                else:"},{"line_number":2227,"context_line":"                    msg \u003d (_(\"Volume marker not found, please check supplied \""},{"line_number":2228,"context_line":"                             \"device ID and try again.\"))"},{"line_number":2229,"context_line":"                    raise exception.VolumeBackendAPIException(msg)"},{"line_number":2230,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_253435de","line":2227,"range":{"start_line":2227,"start_character":26,"end_line":2227,"end_character":27},"in_reply_to":"bf659307_634b10b0","updated":"2018-04-06 12:49:57.000000000","message":"Done","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"375dd468ba58387edba0722fe528e682db381a56","unresolved":false,"context_lines":[{"line_number":2259,"context_line":""},{"line_number":2260,"context_line":"        # No volumes returned from VMAX"},{"line_number":2261,"context_line":"        if not volumes:"},{"line_number":2262,"context_line":"            exception_message \u003d (\"There were no volumes found on the backend \""},{"line_number":2263,"context_line":"                                 \"VMAX. You need to create some volumes \""},{"line_number":2264,"context_line":"                                 \"before they can be managed into Cinder.\")"},{"line_number":2265,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_037814f6","line":2262,"range":{"start_line":2262,"start_character":32,"end_line":2262,"end_character":33},"updated":"2018-04-06 02:36:09.000000000","message":"Needs _()","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"a4ef0bba75cd54e97f3a3650dec8b86dff716334","unresolved":false,"context_lines":[{"line_number":2259,"context_line":""},{"line_number":2260,"context_line":"        # No volumes returned from VMAX"},{"line_number":2261,"context_line":"        if not volumes:"},{"line_number":2262,"context_line":"            exception_message \u003d (\"There were no volumes found on the backend \""},{"line_number":2263,"context_line":"                                 \"VMAX. You need to create some volumes \""},{"line_number":2264,"context_line":"                                 \"before they can be managed into Cinder.\")"},{"line_number":2265,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_e54b9d5c","line":2262,"range":{"start_line":2262,"start_character":32,"end_line":2262,"end_character":33},"in_reply_to":"bf659307_037814f6","updated":"2018-04-06 12:49:57.000000000","message":"Done","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"375dd468ba58387edba0722fe528e682db381a56","unresolved":false,"context_lines":[{"line_number":2309,"context_line":"            msg \u003d (_(\"There are no valid snapshots on backend VMAX %(array)s \""},{"line_number":2310,"context_line":"                     \"for Cinder management. Please ensure the snapshots on \""},{"line_number":2311,"context_line":"                     \"your backend VMAX meet the requirements for Cinder \""},{"line_number":2312,"context_line":"                     \"management.\"), {\u0027array\u0027: array})"},{"line_number":2313,"context_line":"            raise exception.VolumeBackendAPIException(msg)"},{"line_number":2314,"context_line":""},{"line_number":2315,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_a3684821","line":2312,"range":{"start_line":2312,"start_character":35,"end_line":2312,"end_character":36},"updated":"2018-04-06 02:36:09.000000000","message":"Needs to be %, otherwise you are passing a tuple in to the exception initialization.","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"a4ef0bba75cd54e97f3a3650dec8b86dff716334","unresolved":false,"context_lines":[{"line_number":2309,"context_line":"            msg \u003d (_(\"There are no valid snapshots on backend VMAX %(array)s \""},{"line_number":2310,"context_line":"                     \"for Cinder management. Please ensure the snapshots on \""},{"line_number":2311,"context_line":"                     \"your backend VMAX meet the requirements for Cinder \""},{"line_number":2312,"context_line":"                     \"management.\"), {\u0027array\u0027: array})"},{"line_number":2313,"context_line":"            raise exception.VolumeBackendAPIException(msg)"},{"line_number":2314,"context_line":""},{"line_number":2315,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_0551f10e","line":2312,"range":{"start_line":2312,"start_character":35,"end_line":2312,"end_character":36},"in_reply_to":"bf659307_a3684821","updated":"2018-04-06 12:49:57.000000000","message":"Done","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"375dd468ba58387edba0722fe528e682db381a56","unresolved":false,"context_lines":[{"line_number":2344,"context_line":"                    manageable_snaps \u003d manageable_snaps[snap_index:]"},{"line_number":2345,"context_line":"                else:"},{"line_number":2346,"context_line":"                    msg \u003d (_(\"Snapshot marker %(marker)s not found, marker \""},{"line_number":2347,"context_line":"                             \"provided must be a valid VMAX snapshot ID\"),"},{"line_number":2348,"context_line":"                           {\u0027marker\u0027: marker})"},{"line_number":2349,"context_line":"                    raise exception.VolumeBackendAPIException(msg)"},{"line_number":2350,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_23667853","line":2347,"range":{"start_line":2347,"start_character":73,"end_line":2347,"end_character":74},"updated":"2018-04-06 02:36:09.000000000","message":"Same.","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"a4ef0bba75cd54e97f3a3650dec8b86dff716334","unresolved":false,"context_lines":[{"line_number":2344,"context_line":"                    manageable_snaps \u003d manageable_snaps[snap_index:]"},{"line_number":2345,"context_line":"                else:"},{"line_number":2346,"context_line":"                    msg \u003d (_(\"Snapshot marker %(marker)s not found, marker \""},{"line_number":2347,"context_line":"                             \"provided must be a valid VMAX snapshot ID\"),"},{"line_number":2348,"context_line":"                           {\u0027marker\u0027: marker})"},{"line_number":2349,"context_line":"                    raise exception.VolumeBackendAPIException(msg)"},{"line_number":2350,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bf659307_c55a1929","line":2347,"range":{"start_line":2347,"start_character":73,"end_line":2347,"end_character":74},"in_reply_to":"bf659307_23667853","updated":"2018-04-06 12:49:57.000000000","message":"Done","commit_id":"ce9ff6aea786febd8c58f901a0af9658c3bcaf2d"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"243c1ee1393ad4481a25f66b438221820817b2ce","unresolved":false,"context_lines":[{"line_number":2265,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":2266,"context_line":""},{"line_number":2267,"context_line":"        # Else volumes returned, begin validity checks"},{"line_number":2268,"context_line":"        if volumes:"},{"line_number":2269,"context_line":"            for device in volumes:"},{"line_number":2270,"context_line":"                # Determine if volume is valid for management"},{"line_number":2271,"context_line":"                if self.utils.is_snapshot_manageable(device):"}],"source_content_type":"text/x-python","patch_set":9,"id":"bf659307_285a9e4f","line":2268,"range":{"start_line":2268,"start_character":8,"end_line":2268,"end_character":19},"updated":"2018-04-09 19:28:52.000000000","message":"Can remove this if since it\u0027s guaranteed to be true at this point.","commit_id":"61afa68c7f0a4576cf8d9e7a47b3f2f29979ae10"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"cfa59e3669457bd3ab6e1f4f23ed826c9982474d","unresolved":false,"context_lines":[{"line_number":2265,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dexception_message)"},{"line_number":2266,"context_line":""},{"line_number":2267,"context_line":"        # Else volumes returned, begin validity checks"},{"line_number":2268,"context_line":"        if volumes:"},{"line_number":2269,"context_line":"            for device in volumes:"},{"line_number":2270,"context_line":"                # Determine if volume is valid for management"},{"line_number":2271,"context_line":"                if self.utils.is_snapshot_manageable(device):"}],"source_content_type":"text/x-python","patch_set":9,"id":"bf659307_f0e2f22f","line":2268,"range":{"start_line":2268,"start_character":8,"end_line":2268,"end_character":19},"in_reply_to":"bf659307_285a9e4f","updated":"2018-04-12 13:51:49.000000000","message":"Done","commit_id":"61afa68c7f0a4576cf8d9e7a47b3f2f29979ae10"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"243c1ee1393ad4481a25f66b438221820817b2ce","unresolved":false,"context_lines":[{"line_number":2304,"context_line":"                            \u0027source-id\u0027: snap_info[\u0027device\u0027]}}"},{"line_number":2305,"context_line":"                    manageable_snaps.append(snap_dict)"},{"line_number":2306,"context_line":""},{"line_number":2307,"context_line":"        # If there are no snapshots valid for management, raise exception"},{"line_number":2308,"context_line":"        if len(manageable_snaps) \u003d\u003d 0:"},{"line_number":2309,"context_line":"            msg \u003d (_(\"There are no valid snapshots on backend VMAX %(array)s \""},{"line_number":2310,"context_line":"                     \"for Cinder management. Please ensure the snapshots on \""}],"source_content_type":"text/x-python","patch_set":9,"id":"bf659307_e8010608","line":2307,"range":{"start_line":2307,"start_character":8,"end_line":2307,"end_character":73},"updated":"2018-04-09 19:28:52.000000000","message":"Why?  Shouldn\u0027t it just return an empty list?","commit_id":"61afa68c7f0a4576cf8d9e7a47b3f2f29979ae10"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"cfa59e3669457bd3ab6e1f4f23ed826c9982474d","unresolved":false,"context_lines":[{"line_number":2304,"context_line":"                            \u0027source-id\u0027: snap_info[\u0027device\u0027]}}"},{"line_number":2305,"context_line":"                    manageable_snaps.append(snap_dict)"},{"line_number":2306,"context_line":""},{"line_number":2307,"context_line":"        # If there are no snapshots valid for management, raise exception"},{"line_number":2308,"context_line":"        if len(manageable_snaps) \u003d\u003d 0:"},{"line_number":2309,"context_line":"            msg \u003d (_(\"There are no valid snapshots on backend VMAX %(array)s \""},{"line_number":2310,"context_line":"                     \"for Cinder management. Please ensure the snapshots on \""}],"source_content_type":"text/x-python","patch_set":9,"id":"bf659307_d0a6cec1","line":2307,"range":{"start_line":2307,"start_character":8,"end_line":2307,"end_character":73},"in_reply_to":"bf659307_e8010608","updated":"2018-04-12 13:51:49.000000000","message":"The original dev for this had this set to exception, didn\u0027t even occur to me until you flagged it, better returning an empty list than throwing exception. Changed for list_manageable_volumes also","commit_id":"61afa68c7f0a4576cf8d9e7a47b3f2f29979ae10"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"243c1ee1393ad4481a25f66b438221820817b2ce","unresolved":false,"context_lines":[{"line_number":2312,"context_line":"                     \"management.\") % {\u0027array\u0027: array})"},{"line_number":2313,"context_line":"            raise exception.VolumeBackendAPIException(msg)"},{"line_number":2314,"context_line":""},{"line_number":2315,"context_line":"        else:"},{"line_number":2316,"context_line":"            # Order snapshots by source deviceID and not snapshot name"},{"line_number":2317,"context_line":"            manageable_snaps \u003d sorted("},{"line_number":2318,"context_line":"                manageable_snaps,"}],"source_content_type":"text/x-python","patch_set":9,"id":"bf659307_83fe2b03","line":2315,"range":{"start_line":2315,"start_character":8,"end_line":2315,"end_character":13},"updated":"2018-04-09 19:28:52.000000000","message":"No need for \"else\" here.","commit_id":"61afa68c7f0a4576cf8d9e7a47b3f2f29979ae10"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"cfa59e3669457bd3ab6e1f4f23ed826c9982474d","unresolved":false,"context_lines":[{"line_number":2312,"context_line":"                     \"management.\") % {\u0027array\u0027: array})"},{"line_number":2313,"context_line":"            raise exception.VolumeBackendAPIException(msg)"},{"line_number":2314,"context_line":""},{"line_number":2315,"context_line":"        else:"},{"line_number":2316,"context_line":"            # Order snapshots by source deviceID and not snapshot name"},{"line_number":2317,"context_line":"            manageable_snaps \u003d sorted("},{"line_number":2318,"context_line":"                manageable_snaps,"}],"source_content_type":"text/x-python","patch_set":9,"id":"bf659307_90acd69f","line":2315,"range":{"start_line":2315,"start_character":8,"end_line":2315,"end_character":13},"in_reply_to":"bf659307_83fe2b03","updated":"2018-04-12 13:51:49.000000000","message":"Done","commit_id":"61afa68c7f0a4576cf8d9e7a47b3f2f29979ae10"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f8ade9f8eff991fe4a82f326883cb349054bb2dd","unresolved":false,"context_lines":[{"line_number":2153,"context_line":"        :param offset: Number of volumes to skip after marker. Default\u003dNone."},{"line_number":2154,"context_line":"        :param sort_keys: Key to sort by, sort by size or reference. Valid"},{"line_number":2155,"context_line":"                          keys: size, reference. Default\u003dNone."},{"line_number":2156,"context_line":"        :param sort_dirs: Direction to sort by. Valid dirs: asd, desc."},{"line_number":2157,"context_line":"                          Default\u003dNone."},{"line_number":2158,"context_line":"        :return: List of dicts containing all volumes valid for management"},{"line_number":2159,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_e17a1675","line":2156,"range":{"start_line":2156,"start_character":60,"end_line":2156,"end_character":63},"updated":"2018-06-12 14:25:59.000000000","message":"asc","commit_id":"d05a7a10dc04335c205ab3ee5a2d03a62c26b8e8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f8ade9f8eff991fe4a82f326883cb349054bb2dd","unresolved":false,"context_lines":[{"line_number":2166,"context_line":""},{"line_number":2167,"context_line":"        # No volumes returned from VMAX"},{"line_number":2168,"context_line":"        if not volumes:"},{"line_number":2169,"context_line":"            LOG.warning(\"There were no volumes found on the backend VMAX. \""},{"line_number":2170,"context_line":"                        \"You need to create some volumes before they can be \""},{"line_number":2171,"context_line":"                        \"managed into Cinder.\")"},{"line_number":2172,"context_line":"            return manageable_vols"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_4188aa6f","line":2169,"range":{"start_line":2169,"start_character":16,"end_line":2169,"end_character":23},"updated":"2018-06-12 14:25:59.000000000","message":"This isn\u0027t really appropriate for warning level -- it\u0027s not something that needs admin intervention when it shows up in the logs.","commit_id":"d05a7a10dc04335c205ab3ee5a2d03a62c26b8e8"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"7c09feb55083685829b88ba1447769631ac2472e","unresolved":false,"context_lines":[{"line_number":2188,"context_line":"            manageable_vols.append(volume_dict)"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"        # If volume list is populated, perform filtering on user params"},{"line_number":2191,"context_line":"        if len(manageable_vols) \u003e 0:"},{"line_number":2192,"context_line":"            # If sort keys selected, determine if by size or reference, and"},{"line_number":2193,"context_line":"            # direction of sort"},{"line_number":2194,"context_line":"            if sort_keys:"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_6a99046b","line":2191,"updated":"2018-06-12 10:44:26.000000000","message":"nit: it could be simplified to\nif len(manageable_vols):","commit_id":"d05a7a10dc04335c205ab3ee5a2d03a62c26b8e8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f8ade9f8eff991fe4a82f326883cb349054bb2dd","unresolved":false,"context_lines":[{"line_number":2238,"context_line":"        :param offset: Number of volumes to skip after marker. Default\u003dNone."},{"line_number":2239,"context_line":"        :param sort_keys: Key to sort by, sort by size or reference."},{"line_number":2240,"context_line":"                          Valid keys: size, reference. Default\u003dNone."},{"line_number":2241,"context_line":"        :param sort_dirs: Direction to sort by. Valid dirs: asd, desc."},{"line_number":2242,"context_line":"                          Default\u003dNone."},{"line_number":2243,"context_line":"        :return: List of dicts containing all volumes valid for management"},{"line_number":2244,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_017e3269","line":2241,"range":{"start_line":2241,"start_character":60,"end_line":2241,"end_character":63},"updated":"2018-06-12 14:25:59.000000000","message":"asc","commit_id":"d05a7a10dc04335c205ab3ee5a2d03a62c26b8e8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f8ade9f8eff991fe4a82f326883cb349054bb2dd","unresolved":false,"context_lines":[{"line_number":2250,"context_line":""},{"line_number":2251,"context_line":"        # No volumes returned from VMAX"},{"line_number":2252,"context_line":"        if not volumes:"},{"line_number":2253,"context_line":"            LOG.warning(\"There were no volumes found on the backend VMAX. \""},{"line_number":2254,"context_line":"                        \"You need to create some volumes before snapshots can \""},{"line_number":2255,"context_line":"                        \"be created and managed into Cinder.\")"},{"line_number":2256,"context_line":"            return manageable_snaps"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_a1989ebf","line":2253,"range":{"start_line":2253,"start_character":16,"end_line":2253,"end_character":23},"updated":"2018-06-12 14:25:59.000000000","message":"Same ^","commit_id":"d05a7a10dc04335c205ab3ee5a2d03a62c26b8e8"}],"cinder/volume/drivers/dell_emc/vmax/fc.py":[{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":522,"context_line":"        \"\"\"Lists all manageable volumes."},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"        :param cinder_volumes: List of currently managed Cinder volumes."},{"line_number":525,"context_line":"            Unused in driver."},{"line_number":526,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":527,"context_line":"        list than that represented by this reference."},{"line_number":528,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003d1000."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_7402760d","line":525,"range":{"start_line":525,"start_character":11,"end_line":525,"end_character":12},"updated":"2018-03-29 14:18:58.000000000","message":"see common.py for comment on params","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":522,"context_line":"        \"\"\"Lists all manageable volumes."},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"        :param cinder_volumes: List of currently managed Cinder volumes."},{"line_number":525,"context_line":"            Unused in driver."},{"line_number":526,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":527,"context_line":"        list than that represented by this reference."},{"line_number":528,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003d1000."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_da7ef617","line":525,"range":{"start_line":525,"start_character":11,"end_line":525,"end_character":12},"in_reply_to":"bf659307_7402760d","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":524,"context_line":"        :param cinder_volumes: List of currently managed Cinder volumes."},{"line_number":525,"context_line":"            Unused in driver."},{"line_number":526,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":527,"context_line":"        list than that represented by this reference."},{"line_number":528,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003d1000."},{"line_number":529,"context_line":"        :param offset: Number of volumes to skip after marker."},{"line_number":530,"context_line":"        :param sort_keys: Results sort key. Valid keys: size, reference."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_ef0b1321","line":527,"range":{"start_line":527,"start_character":7,"end_line":527,"end_character":8},"updated":"2018-03-29 14:18:58.000000000","message":"see above","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":524,"context_line":"        :param cinder_volumes: List of currently managed Cinder volumes."},{"line_number":525,"context_line":"            Unused in driver."},{"line_number":526,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":527,"context_line":"        list than that represented by this reference."},{"line_number":528,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003d1000."},{"line_number":529,"context_line":"        :param offset: Number of volumes to skip after marker."},{"line_number":530,"context_line":"        :param sort_keys: Results sort key. Valid keys: size, reference."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_fa7bba24","line":527,"range":{"start_line":527,"start_character":7,"end_line":527,"end_character":8},"in_reply_to":"bf659307_ef0b1321","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":539,"context_line":"        \"\"\"Lists all manageable snapshots."},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        :param cinder_snapshots: List of currently managed Cinder snapshots."},{"line_number":542,"context_line":"            Unused in driver."},{"line_number":543,"context_line":"        :param marker: Begin returning volumes that appear later in the"},{"line_number":544,"context_line":"        snapshot list than that represented by this reference."},{"line_number":545,"context_line":"        :param limit: Maximum number of snapshots to return. Default\u003d1000."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_6f170347","line":542,"range":{"start_line":542,"start_character":11,"end_line":542,"end_character":12},"updated":"2018-03-29 14:18:58.000000000","message":"as above","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":539,"context_line":"        \"\"\"Lists all manageable snapshots."},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        :param cinder_snapshots: List of currently managed Cinder snapshots."},{"line_number":542,"context_line":"            Unused in driver."},{"line_number":543,"context_line":"        :param marker: Begin returning volumes that appear later in the"},{"line_number":544,"context_line":"        snapshot list than that represented by this reference."},{"line_number":545,"context_line":"        :param limit: Maximum number of snapshots to return. Default\u003d1000."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_9a74fe37","line":542,"range":{"start_line":542,"start_character":11,"end_line":542,"end_character":12},"in_reply_to":"bf659307_6f170347","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":541,"context_line":"        :param cinder_snapshots: List of currently managed Cinder snapshots."},{"line_number":542,"context_line":"            Unused in driver."},{"line_number":543,"context_line":"        :param marker: Begin returning volumes that appear later in the"},{"line_number":544,"context_line":"        snapshot list than that represented by this reference."},{"line_number":545,"context_line":"        :param limit: Maximum number of snapshots to return. Default\u003d1000."},{"line_number":546,"context_line":"        :param offset: Number of snapshots to skip after marker."},{"line_number":547,"context_line":"        :param sort_keys: Results sort key. Valid keys: size, reference."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_cf1f2f59","line":544,"range":{"start_line":544,"start_character":7,"end_line":544,"end_character":8},"updated":"2018-03-29 14:18:58.000000000","message":"as above","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":541,"context_line":"        :param cinder_snapshots: List of currently managed Cinder snapshots."},{"line_number":542,"context_line":"            Unused in driver."},{"line_number":543,"context_line":"        :param marker: Begin returning volumes that appear later in the"},{"line_number":544,"context_line":"        snapshot list than that represented by this reference."},{"line_number":545,"context_line":"        :param limit: Maximum number of snapshots to return. Default\u003d1000."},{"line_number":546,"context_line":"        :param offset: Number of snapshots to skip after marker."},{"line_number":547,"context_line":"        :param sort_keys: Results sort key. Valid keys: size, reference."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_ba71c246","line":544,"range":{"start_line":544,"start_character":7,"end_line":544,"end_character":8},"in_reply_to":"bf659307_cf1f2f59","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"}],"cinder/volume/drivers/dell_emc/vmax/iscsi.py":[{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        \"\"\"Lists all manageable volumes."},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"        :param cinder_volumes: List of currently managed Cinder volumes."},{"line_number":449,"context_line":"            Unused in driver."},{"line_number":450,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":451,"context_line":"        list than that represented by this reference."},{"line_number":452,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003d1000."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_6f3063e9","line":449,"range":{"start_line":449,"start_character":11,"end_line":449,"end_character":12},"updated":"2018-03-29 14:18:58.000000000","message":"see common.py on comment about params","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":446,"context_line":"        \"\"\"Lists all manageable volumes."},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"        :param cinder_volumes: List of currently managed Cinder volumes."},{"line_number":449,"context_line":"            Unused in driver."},{"line_number":450,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":451,"context_line":"        list than that represented by this reference."},{"line_number":452,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003d1000."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_55b957c9","line":449,"range":{"start_line":449,"start_character":11,"end_line":449,"end_character":12},"in_reply_to":"bf659307_6f3063e9","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":448,"context_line":"        :param cinder_volumes: List of currently managed Cinder volumes."},{"line_number":449,"context_line":"            Unused in driver."},{"line_number":450,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":451,"context_line":"        list than that represented by this reference."},{"line_number":452,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003d1000."},{"line_number":453,"context_line":"        :param offset: Number of volumes to skip after marker."},{"line_number":454,"context_line":"        :param sort_keys: Results sort key. Valid keys: size, reference."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_0f4f676b","line":451,"range":{"start_line":451,"start_character":7,"end_line":451,"end_character":8},"updated":"2018-03-29 14:18:58.000000000","message":"as above","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":448,"context_line":"        :param cinder_volumes: List of currently managed Cinder volumes."},{"line_number":449,"context_line":"            Unused in driver."},{"line_number":450,"context_line":"        :param marker: Begin returning volumes that appear later in the volume"},{"line_number":451,"context_line":"        list than that represented by this reference."},{"line_number":452,"context_line":"        :param limit: Maximum number of volumes to return. Default\u003d1000."},{"line_number":453,"context_line":"        :param offset: Number of volumes to skip after marker."},{"line_number":454,"context_line":"        :param sort_keys: Results sort key. Valid keys: size, reference."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_75bedbb4","line":451,"range":{"start_line":451,"start_character":7,"end_line":451,"end_character":8},"in_reply_to":"bf659307_0f4f676b","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":463,"context_line":"        \"\"\"Lists all manageable snapshots."},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"        :param cinder_snapshots: List of currently managed Cinder snapshots."},{"line_number":466,"context_line":"            Unused in driver."},{"line_number":467,"context_line":"        :param marker: Begin returning volumes that appear later in the"},{"line_number":468,"context_line":"        snapshot list than that represented by this reference."},{"line_number":469,"context_line":"        :param limit: Maximum number of snapshots to return. Default\u003d1000."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_cf540f01","line":466,"range":{"start_line":466,"start_character":11,"end_line":466,"end_character":12},"updated":"2018-03-29 14:18:58.000000000","message":"as above","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":463,"context_line":"        \"\"\"Lists all manageable snapshots."},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"        :param cinder_snapshots: List of currently managed Cinder snapshots."},{"line_number":466,"context_line":"            Unused in driver."},{"line_number":467,"context_line":"        :param marker: Begin returning volumes that appear later in the"},{"line_number":468,"context_line":"        snapshot list than that represented by this reference."},{"line_number":469,"context_line":"        :param limit: Maximum number of snapshots to return. Default\u003d1000."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_15af5f7d","line":466,"range":{"start_line":466,"start_character":11,"end_line":466,"end_character":12},"in_reply_to":"bf659307_cf540f01","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        :param cinder_snapshots: List of currently managed Cinder snapshots."},{"line_number":466,"context_line":"            Unused in driver."},{"line_number":467,"context_line":"        :param marker: Begin returning volumes that appear later in the"},{"line_number":468,"context_line":"        snapshot list than that represented by this reference."},{"line_number":469,"context_line":"        :param limit: Maximum number of snapshots to return. Default\u003d1000."},{"line_number":470,"context_line":"        :param offset: Number of snapshots to skip after marker."},{"line_number":471,"context_line":"        :param sort_keys: Results sort key. Valid keys: size, reference."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_8f42973d","line":468,"range":{"start_line":468,"start_character":7,"end_line":468,"end_character":8},"updated":"2018-03-29 14:18:58.000000000","message":"as above","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        :param cinder_snapshots: List of currently managed Cinder snapshots."},{"line_number":466,"context_line":"            Unused in driver."},{"line_number":467,"context_line":"        :param marker: Begin returning volumes that appear later in the"},{"line_number":468,"context_line":"        snapshot list than that represented by this reference."},{"line_number":469,"context_line":"        :param limit: Maximum number of snapshots to return. Default\u003d1000."},{"line_number":470,"context_line":"        :param offset: Number of snapshots to skip after marker."},{"line_number":471,"context_line":"        :param sort_keys: Results sort key. Valid keys: size, reference."}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_35b4e3d0","line":468,"range":{"start_line":468,"start_character":7,"end_line":468,"end_character":8},"in_reply_to":"bf659307_8f42973d","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"}],"cinder/volume/drivers/dell_emc/vmax/rest.py":[{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":1009,"context_line":""},{"line_number":1010,"context_line":"        :param array: the array serial number"},{"line_number":1011,"context_line":"        :param params: filter parameters"},{"line_number":1012,"context_line":"        :return: list -- dicts with volume information"},{"line_number":1013,"context_line":"        \"\"\""},{"line_number":1014,"context_line":"        volumes \u003d []"},{"line_number":1015,"context_line":"        volume_info \u003d self.get_resource("}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_cf7baf78","line":1012,"range":{"start_line":1012,"start_character":14,"end_line":1012,"end_character":15},"updated":"2018-03-29 14:18:58.000000000","message":"return/returns","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":1009,"context_line":""},{"line_number":1010,"context_line":"        :param array: the array serial number"},{"line_number":1011,"context_line":"        :param params: filter parameters"},{"line_number":1012,"context_line":"        :return: list -- dicts with volume information"},{"line_number":1013,"context_line":"        \"\"\""},{"line_number":1014,"context_line":"        volumes \u003d []"},{"line_number":1015,"context_line":"        volume_info \u003d self.get_resource("}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_d5fa4773","line":1012,"range":{"start_line":1012,"start_character":14,"end_line":1012,"end_character":15},"in_reply_to":"bf659307_cf7baf78","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"        start_position \u003d 1001"},{"line_number":1031,"context_line":"        end_position \u003d 2000"},{"line_number":1032,"context_line":"        while has_more_entries:"},{"line_number":1033,"context_line":"            if start_position \u003c\u003d volume_count \u003c\u003d end_position:"},{"line_number":1034,"context_line":"                end_position \u003d volume_count"},{"line_number":1035,"context_line":"                has_more_entries \u003d False"},{"line_number":1036,"context_line":"            params \u003d {\u0027to\u0027: end_position, \u0027from\u0027: start_position}"},{"line_number":1037,"context_line":"            iterators \u003d self.get_iterator_list(iterator_id, params)"},{"line_number":1038,"context_line":"            volumes \u003d volumes + iterators"},{"line_number":1039,"context_line":"            start_position +\u003d 1000"},{"line_number":1040,"context_line":"            end_position +\u003d 1000"},{"line_number":1041,"context_line":"        return volumes"},{"line_number":1042,"context_line":""},{"line_number":1043,"context_line":"    def get_iterator_list(self, iterator_id, params):"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_2fa26bfe","line":1040,"range":{"start_line":1033,"start_character":12,"end_line":1040,"end_character":32},"updated":"2018-03-29 14:18:58.000000000","message":"utils method perhaps?","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"        start_position \u003d 1001"},{"line_number":1031,"context_line":"        end_position \u003d 2000"},{"line_number":1032,"context_line":"        while has_more_entries:"},{"line_number":1033,"context_line":"            if start_position \u003c\u003d volume_count \u003c\u003d end_position:"},{"line_number":1034,"context_line":"                end_position \u003d volume_count"},{"line_number":1035,"context_line":"                has_more_entries \u003d False"},{"line_number":1036,"context_line":"            params \u003d {\u0027to\u0027: end_position, \u0027from\u0027: start_position}"},{"line_number":1037,"context_line":"            iterators \u003d self.get_iterator_list(iterator_id, params)"},{"line_number":1038,"context_line":"            volumes \u003d volumes + iterators"},{"line_number":1039,"context_line":"            start_position +\u003d 1000"},{"line_number":1040,"context_line":"            end_position +\u003d 1000"},{"line_number":1041,"context_line":"        return volumes"},{"line_number":1042,"context_line":""},{"line_number":1043,"context_line":"    def get_iterator_list(self, iterator_id, params):"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_552cf700","line":1040,"range":{"start_line":1033,"start_character":12,"end_line":1040,"end_character":32},"in_reply_to":"bf659307_2fa26bfe","updated":"2018-03-30 13:14:27.000000000","message":"Im going to merge this code block into the get_iterator_list method and move both to utils, better placed there than in rest.py","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"b5161d9df9123c522cf3edfa8abe3557b66c5af7","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"        start_position \u003d 1001"},{"line_number":1031,"context_line":"        end_position \u003d 2000"},{"line_number":1032,"context_line":"        while has_more_entries:"},{"line_number":1033,"context_line":"            if start_position \u003c\u003d volume_count \u003c\u003d end_position:"},{"line_number":1034,"context_line":"                end_position \u003d volume_count"},{"line_number":1035,"context_line":"                has_more_entries \u003d False"},{"line_number":1036,"context_line":"            params \u003d {\u0027to\u0027: end_position, \u0027from\u0027: start_position}"},{"line_number":1037,"context_line":"            iterators \u003d self.get_iterator_list(iterator_id, params)"},{"line_number":1038,"context_line":"            volumes \u003d volumes + iterators"},{"line_number":1039,"context_line":"            start_position +\u003d 1000"},{"line_number":1040,"context_line":"            end_position +\u003d 1000"},{"line_number":1041,"context_line":"        return volumes"},{"line_number":1042,"context_line":""},{"line_number":1043,"context_line":"    def get_iterator_list(self, iterator_id, params):"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_d5600704","line":1040,"range":{"start_line":1033,"start_character":12,"end_line":1040,"end_character":32},"in_reply_to":"bf659307_552cf700","updated":"2018-03-30 13:30:25.000000000","message":"Scratch that, I am going to merge this code block into the iterator function so it performs all the relevant calculations itself, but keep the call in rest.py as it accesses protected class method _get_request","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":1045,"context_line":""},{"line_number":1046,"context_line":"        :param iterator_id: the iterator ID"},{"line_number":1047,"context_line":"        :param params: filter parameteres"},{"line_number":1048,"context_line":"        :return: list -- merged details from multiple pages"},{"line_number":1049,"context_line":"        \"\"\""},{"line_number":1050,"context_line":"        iterators \u003d []"},{"line_number":1051,"context_line":"        target_uri \u003d (\u0027/common/Iterator/%(iterator_id)s/page\u0027 % {"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_8f9937c5","line":1048,"range":{"start_line":1048,"start_character":14,"end_line":1048,"end_character":15},"updated":"2018-03-29 14:18:58.000000000","message":"return/returns","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":1045,"context_line":""},{"line_number":1046,"context_line":"        :param iterator_id: the iterator ID"},{"line_number":1047,"context_line":"        :param params: filter parameteres"},{"line_number":1048,"context_line":"        :return: list -- merged details from multiple pages"},{"line_number":1049,"context_line":"        \"\"\""},{"line_number":1050,"context_line":"        iterators \u003d []"},{"line_number":1051,"context_line":"        target_uri \u003d (\u0027/common/Iterator/%(iterator_id)s/page\u0027 % {"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_7531fb59","line":1048,"range":{"start_line":1048,"start_character":14,"end_line":1048,"end_character":15},"in_reply_to":"bf659307_8f9937c5","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"e092597022c477c27d56aeef0ee04159946a6735","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"            start_position \u003d volume_info[\u0027resultList\u0027][\u0027from\u0027]"},{"line_number":1031,"context_line":"            end_position \u003d volume_info[\u0027resultList\u0027][\u0027to\u0027]"},{"line_number":1032,"context_line":"        except (KeyError, TypeError):"},{"line_number":1033,"context_line":"            return volumes"},{"line_number":1034,"context_line":""},{"line_number":1035,"context_line":"        if volume_count \u003e max_page_size:"},{"line_number":1036,"context_line":"            LOG.info(\"More entries exist in the result list, retrieving \""}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_3f58cb54","line":1033,"range":{"start_line":1033,"start_character":11,"end_line":1033,"end_character":26},"updated":"2018-05-18 03:24:21.000000000","message":"Will we have the case when there are too many volumes here?","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"514cfcdd0da51e15e3f2eeaad080287aa514adf2","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"            start_position \u003d volume_info[\u0027resultList\u0027][\u0027from\u0027]"},{"line_number":1031,"context_line":"            end_position \u003d volume_info[\u0027resultList\u0027][\u0027to\u0027]"},{"line_number":1032,"context_line":"        except (KeyError, TypeError):"},{"line_number":1033,"context_line":"            return volumes"},{"line_number":1034,"context_line":""},{"line_number":1035,"context_line":"        if volume_count \u003e max_page_size:"},{"line_number":1036,"context_line":"            LOG.info(\"More entries exist in the result list, retrieving \""}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_0588196f","line":1033,"range":{"start_line":1033,"start_character":11,"end_line":1033,"end_character":26},"in_reply_to":"5f7c97a3_3f58cb54","updated":"2018-05-18 10:19:15.000000000","message":"That is what the iterator below is for, it will cycle through all pages of volumes returned by REST API and create one dictionary of all volumes. We cannot filter volumes at the REST call level, thus we must retrieve all volumes and filter afterwards. No other way to get around this as the Cinder call which makes use of this is list all manageable volumes, so we need a list of all volumes.","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"}],"cinder/volume/drivers/dell_emc/vmax/utils.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"40d02258fb5a6f0ec1d9881107ad1ce3df142a85","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        vol_head \u003d source_vol[\u0027volumeHeader\u0027]"},{"line_number":891,"context_line":"        is_manageable \u003d True"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"        if vol_head[\u0027capMB\u0027] \u003c 1026 or not vol_head[\u0027capGB\u0027].is_integer():"},{"line_number":894,"context_line":"            is_manageable \u003d False"},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        if (is_manageable and"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_621d510e","line":893,"range":{"start_line":893,"start_character":31,"end_line":893,"end_character":35},"updated":"2018-05-17 18:35:59.000000000","message":"Is this really supposed to be 1026, or should it be 1024?\n\nCould probably use a comment explaining this...","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"e092597022c477c27d56aeef0ee04159946a6735","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        vol_head \u003d source_vol[\u0027volumeHeader\u0027]"},{"line_number":891,"context_line":"        is_manageable \u003d True"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"        if vol_head[\u0027capMB\u0027] \u003c 1026 or not vol_head[\u0027capGB\u0027].is_integer():"},{"line_number":894,"context_line":"            is_manageable \u003d False"},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        if (is_manageable and"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_9fad5f33","line":893,"range":{"start_line":893,"start_character":8,"end_line":893,"end_character":74},"updated":"2018-05-18 03:24:21.000000000","message":"Will the second criteria cover the case of first one?","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"514cfcdd0da51e15e3f2eeaad080287aa514adf2","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        vol_head \u003d source_vol[\u0027volumeHeader\u0027]"},{"line_number":891,"context_line":"        is_manageable \u003d True"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"        if vol_head[\u0027capMB\u0027] \u003c 1026 or not vol_head[\u0027capGB\u0027].is_integer():"},{"line_number":894,"context_line":"            is_manageable \u003d False"},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        if (is_manageable and"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_e54b9d5c","line":893,"range":{"start_line":893,"start_character":31,"end_line":893,"end_character":35},"in_reply_to":"5f7c97a3_621d510e","updated":"2018-05-18 10:19:15.000000000","message":"A comment will be added in the next patchset. VMAX uses cylinders for volumes, so 1GB is equal to 1026MB, so we dont want any volumes smaller than 1GB to be managed into Cinder as it can\u0027t handle decimal points in volume sizes","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"514cfcdd0da51e15e3f2eeaad080287aa514adf2","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        vol_head \u003d source_vol[\u0027volumeHeader\u0027]"},{"line_number":891,"context_line":"        is_manageable \u003d True"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"        if vol_head[\u0027capMB\u0027] \u003c 1026 or not vol_head[\u0027capGB\u0027].is_integer():"},{"line_number":894,"context_line":"            is_manageable \u003d False"},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        if (is_manageable and"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_2549955f","line":893,"range":{"start_line":893,"start_character":8,"end_line":893,"end_character":74},"in_reply_to":"5f7c97a3_9fad5f33","updated":"2018-05-18 10:19:15.000000000","message":"No, the first ensures that the volume is the required minimum size, the second ensures that the volume size is a whole GB value","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"e092597022c477c27d56aeef0ee04159946a6735","unresolved":false,"context_lines":[{"line_number":897,"context_line":"                vol_head[\u0027numSymDevMaskingViews\u0027] \u003e 0 or"},{"line_number":898,"context_line":"                vol_head[\u0027mapped\u0027] is True or"},{"line_number":899,"context_line":"                source_vol[\u0027maskingInfo\u0027][\u0027masked\u0027] is True):"},{"line_number":900,"context_line":"            is_manageable \u003d False"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"        if (is_manageable and"},{"line_number":903,"context_line":"                vol_head[\u0027status\u0027] !\u003d \u0027Ready\u0027 or"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_5fa7c750","line":900,"range":{"start_line":900,"start_character":12,"end_line":900,"end_character":33},"updated":"2018-05-18 03:24:21.000000000","message":"we can directly return False here:) thus we don\u0027t need to compare is_manageable again and again, same as below.","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"514cfcdd0da51e15e3f2eeaad080287aa514adf2","unresolved":false,"context_lines":[{"line_number":897,"context_line":"                vol_head[\u0027numSymDevMaskingViews\u0027] \u003e 0 or"},{"line_number":898,"context_line":"                vol_head[\u0027mapped\u0027] is True or"},{"line_number":899,"context_line":"                source_vol[\u0027maskingInfo\u0027][\u0027masked\u0027] is True):"},{"line_number":900,"context_line":"            is_manageable \u003d False"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"        if (is_manageable and"},{"line_number":903,"context_line":"                vol_head[\u0027status\u0027] !\u003d \u0027Ready\u0027 or"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_45461152","line":900,"range":{"start_line":900,"start_character":12,"end_line":900,"end_character":33},"in_reply_to":"5f7c97a3_5fa7c750","updated":"2018-05-18 10:19:15.000000000","message":"Will be changed in the next patch set, thanks","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"e092597022c477c27d56aeef0ee04159946a6735","unresolved":false,"context_lines":[{"line_number":934,"context_line":"        is_manageable \u003d True"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"        if not source_vol[\u0027timeFinderInfo\u0027][\u0027snapVXSrc\u0027]:"},{"line_number":937,"context_line":"            is_manageable \u003d False"},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"        if (is_manageable and"},{"line_number":940,"context_line":"                vol_head[\u0027capMB\u0027] \u003c 1026 or"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_9f723fe3","line":937,"range":{"start_line":937,"start_character":12,"end_line":937,"end_character":33},"updated":"2018-05-18 03:24:21.000000000","message":"Same as above","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"514cfcdd0da51e15e3f2eeaad080287aa514adf2","unresolved":false,"context_lines":[{"line_number":934,"context_line":"        is_manageable \u003d True"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"        if not source_vol[\u0027timeFinderInfo\u0027][\u0027snapVXSrc\u0027]:"},{"line_number":937,"context_line":"            is_manageable \u003d False"},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"        if (is_manageable and"},{"line_number":940,"context_line":"                vol_head[\u0027capMB\u0027] \u003c 1026 or"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_e574fd9e","line":937,"range":{"start_line":937,"start_character":12,"end_line":937,"end_character":33},"in_reply_to":"5f7c97a3_9f723fe3","updated":"2018-05-18 10:19:15.000000000","message":"Will be changed in the next patch set, thanks","commit_id":"d7c692134cc47fc700132700404ab3d239f6695d"}],"releasenotes/notes/vmax-list-manageable-vols-snaps-6a7f5aa114fae8f3.yaml":[{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"a21ed7580a3fce19497ed339e93928c1edfd8a09","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Dell EMC VMAX driver has added multiattach support."},{"line_number":4,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":2,"id":"bf659307_9725f0c4","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":54},"updated":"2018-03-28 11:49:21.000000000","message":"Please update this to reflect the correct feature details.","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"cb35cd3ce631ecfe5f93dc139e5f99e3777c524b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Dell EMC VMAX driver has added multiattach support."},{"line_number":4,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":2,"id":"bf659307_a340daa6","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":54},"in_reply_to":"bf659307_9725f0c4","updated":"2018-03-29 11:16:57.000000000","message":"Change made in most recent patch set, thanks for spotting this","commit_id":"bbf7661a2be9b5f935c3ee1338c4a97686741c86"},{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"52e4389724f7419c47b651280e48ea0f6aa805cb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Dell EMC VMAX driver has added list manageable volumes and snapshots"},{"line_number":4,"context_line":"  support."},{"line_number":5,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bf659307_2fe4abe0","line":4,"range":{"start_line":4,"start_character":2,"end_line":4,"end_character":10},"updated":"2018-03-29 14:33:35.000000000","message":"I think this should be on the previous line - it seems to be throwing an error:\n\n\"could not find expected \u0027:\u0027\", self.get_mark())\nScannerError: while scanning a simple key\nin \"\u003cstring\u003e\", line 4, column 3:\nsupport.\n^","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Dell EMC VMAX driver has added list manageable volumes and snapshots"},{"line_number":4,"context_line":"  support."},{"line_number":5,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bf659307_1580bfbe","line":4,"range":{"start_line":4,"start_character":2,"end_line":4,"end_character":10},"in_reply_to":"bf659307_2fe4abe0","updated":"2018-03-30 13:14:27.000000000","message":"I have added extra spaces so support is in line with Dell, following formatting of vmax-attach-snapshot-3137e59ab4ff39a4.yaml","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"f3bc0c13bc22109de9d8741ea7ccc0c7df5b2396","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Dell EMC VMAX driver has added list manageable volumes and snapshots"},{"line_number":4,"context_line":"  support."},{"line_number":5,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bf659307_94cdca67","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":2},"updated":"2018-03-29 14:18:58.000000000","message":"possible extra spaces?","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23414,"name":"Ciara Stacke","email":"ciara.stacke@emc.com","username":"cstacke"},"change_message_id":"52e4389724f7419c47b651280e48ea0f6aa805cb","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Dell EMC VMAX driver has added list manageable volumes and snapshots"},{"line_number":4,"context_line":"  support."},{"line_number":5,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bf659307_efe9d3b6","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":2},"in_reply_to":"bf659307_94cdca67","updated":"2018-03-29 14:33:35.000000000","message":"Yes, I think this is also throwing an error:\n\ncould not find expected \u0027:\u0027\nin \"\u003cstring\u003e\", line 6, column 1:\n\n    ^","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Dell EMC VMAX driver has added list manageable volumes and snapshots"},{"line_number":4,"context_line":"  support."},{"line_number":5,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bf659307_95736f16","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":2},"in_reply_to":"bf659307_94cdca67","updated":"2018-03-30 13:14:27.000000000","message":"see reply to on Ciara\u0027s comment previous","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35c0f96674c85cc6d13dd673e5694b3bb757ab07","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Dell EMC VMAX driver has added list manageable volumes and snapshots"},{"line_number":4,"context_line":"  support."},{"line_number":5,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bf659307_b570f309","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":2},"in_reply_to":"bf659307_efe9d3b6","updated":"2018-03-30 13:14:27.000000000","message":"Done","commit_id":"1de67e55864214f9959102ee9d8b2fcbbe643553"}]}
