)]}'
{"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"b7e95d6d80027a7d8179c4db9aa6f6c2961d4f34","unresolved":false,"context_lines":[{"line_number":3185,"context_line":"        \"\"\""},{"line_number":3186,"context_line":"        try:"},{"line_number":3187,"context_line":"            stripedMetaCount \u003d extraSpecs[STRIPECOUNT]"},{"line_number":3188,"context_line":"            extraSpecs[MEMBERCOUNT] \u003d stripedMetaCount"},{"line_number":3189,"context_line":"            extraSpecs[COMPOSITETYPE] \u003d STRIPED"},{"line_number":3190,"context_line":""},{"line_number":3191,"context_line":"            LOG.debug("}],"source_content_type":"text/x-python","patch_set":1,"id":"baa041b7_56c95777","line":3188,"updated":"2015-04-03 17:32:07.000000000","message":"I thought that if stripecount was 1, then the composite type should be set to concatenated. This turned out to be the problem with our cloning. The source volume was concatenated and the volume type associated with the clone operation (target vol) had a stripecount\u003d\u003d1...but here that means compositetype gets set as striped.","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"098f495096c33c4816a33fb36c6c144d77ab3265","unresolved":false,"context_lines":[{"line_number":3185,"context_line":"        \"\"\""},{"line_number":3186,"context_line":"        try:"},{"line_number":3187,"context_line":"            stripedMetaCount \u003d extraSpecs[STRIPECOUNT]"},{"line_number":3188,"context_line":"            extraSpecs[MEMBERCOUNT] \u003d stripedMetaCount"},{"line_number":3189,"context_line":"            extraSpecs[COMPOSITETYPE] \u003d STRIPED"},{"line_number":3190,"context_line":""},{"line_number":3191,"context_line":"            LOG.debug("}],"source_content_type":"text/x-python","patch_set":1,"id":"baa041b7_76d7bbbf","line":3188,"in_reply_to":"baa041b7_56c95777","updated":"2015-04-03 17:54:34.000000000","message":"Appreciate your comment, Carl.  We\u0027ll take a look of this. However, what you described is a different problem and therefore should be addressed by a different patch.","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"b7e95d6d80027a7d8179c4db9aa6f6c2961d4f34","unresolved":false,"context_lines":[{"line_number":3215,"context_line":"        if fastPolicyName is not None:"},{"line_number":3216,"context_line":"            LOG.debug(\"The fast policy name is: %(fastPolicyName)s.\","},{"line_number":3217,"context_line":"                      {\u0027fastPolicyName\u0027: fastPolicyName})"},{"line_number":3218,"context_line":""},{"line_number":3219,"context_line":"        extraSpecs[POOL] \u003d poolName"},{"line_number":3220,"context_line":"        extraSpecs[ARRAY] \u003d arrayName"},{"line_number":3221,"context_line":"        extraSpecs[FASTPOLICY] \u003d fastPolicyName"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa041b7_3645b3b2","line":3218,"updated":"2015-04-03 17:32:07.000000000","message":"The other main issue with respect to the bug description being fixed here, is that the configuration file fields override the volume type options, rather than the other way around. For example, right here extraSpecs[POOL] may already be set, because it was loaded form the volume type. But it is overwrote here with the poolName from the config file.  For all of these options, the code should check to see if the key is already set in extraSpecs...only if it is not already set, then it can be set as the code does here. If doing this for certain properties goes against your driver support requirements, then state that here in a code comment for the property and update the driver readme accordingly. Thanks.","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"098f495096c33c4816a33fb36c6c144d77ab3265","unresolved":false,"context_lines":[{"line_number":3215,"context_line":"        if fastPolicyName is not None:"},{"line_number":3216,"context_line":"            LOG.debug(\"The fast policy name is: %(fastPolicyName)s.\","},{"line_number":3217,"context_line":"                      {\u0027fastPolicyName\u0027: fastPolicyName})"},{"line_number":3218,"context_line":""},{"line_number":3219,"context_line":"        extraSpecs[POOL] \u003d poolName"},{"line_number":3220,"context_line":"        extraSpecs[ARRAY] \u003d arrayName"},{"line_number":3221,"context_line":"        extraSpecs[FASTPOLICY] \u003d fastPolicyName"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa041b7_5694b7e0","line":3218,"in_reply_to":"baa041b7_3645b3b2","updated":"2015-04-03 17:54:34.000000000","message":"We\u0027ll take a look.","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ba22f420a63b8fc1de9e75ff676d65eb14b9bd07","unresolved":false,"context_lines":[{"line_number":3215,"context_line":"        if fastPolicyName is not None:"},{"line_number":3216,"context_line":"            LOG.debug(\"The fast policy name is: %(fastPolicyName)s.\","},{"line_number":3217,"context_line":"                      {\u0027fastPolicyName\u0027: fastPolicyName})"},{"line_number":3218,"context_line":""},{"line_number":3219,"context_line":"        extraSpecs[POOL] \u003d poolName"},{"line_number":3220,"context_line":"        extraSpecs[ARRAY] \u003d arrayName"},{"line_number":3221,"context_line":"        extraSpecs[FASTPOLICY] \u003d fastPolicyName"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa53dc9_b08ba61e","line":3218,"in_reply_to":"baa041b7_5694b7e0","updated":"2015-04-10 15:00:45.000000000","message":"This works as expected. Pool can only be specified in the XML config file.","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"}],"cinder/volume/drivers/emc/emc_vmax_masking.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"c20108b6c7061373f243789672f749a833409da4","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        :param conn: the ecom connection"},{"line_number":188,"context_line":"        :param maskingViewDict: the masking view dictionary"},{"line_number":189,"context_line":"        :param defaultStorageGroupInstanceName: the default SG"},{"line_number":190,"context_line":"        :returns: maskingViewInstanceName"},{"line_number":191,"context_line":"        :returns: storageGroupInstanceName,"},{"line_number":192,"context_line":"        :returns: string -- errorMessage"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa041b7_e368efbc","line":189,"updated":"2015-04-02 05:40:32.000000000","message":"You probably missed the description for extraSpecs\n:param extraSpecs: extra specifications","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ba22f420a63b8fc1de9e75ff676d65eb14b9bd07","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        :param conn: the ecom connection"},{"line_number":188,"context_line":"        :param maskingViewDict: the masking view dictionary"},{"line_number":189,"context_line":"        :param defaultStorageGroupInstanceName: the default SG"},{"line_number":190,"context_line":"        :returns: maskingViewInstanceName"},{"line_number":191,"context_line":"        :returns: storageGroupInstanceName,"},{"line_number":192,"context_line":"        :returns: string -- errorMessage"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa53dc9_5d6005a5","line":189,"in_reply_to":"baa041b7_e368efbc","updated":"2015-04-10 15:00:45.000000000","message":"Done","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"c20108b6c7061373f243789672f749a833409da4","unresolved":false,"context_lines":[{"line_number":1495,"context_line":"        :param conn: connection the ecom server"},{"line_number":1496,"context_line":"        :param controllerConfigService: the controller configuration service"},{"line_number":1497,"context_line":"        :param maskingViewName: maskingview name (String)"},{"line_number":1498,"context_line":"        :param maskingViewInstanceName: the masking view instance name"},{"line_number":1499,"context_line":"        :raises: VolumeBackendAPIException"},{"line_number":1500,"context_line":"        \"\"\""},{"line_number":1501,"context_line":"        rc, job \u003d conn.InvokeMethod(\u0027DeleteMaskingView\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa041b7_e3afcfe1","line":1498,"updated":"2015-04-02 05:40:32.000000000","message":":param extraSpecs: extra specifications","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ba22f420a63b8fc1de9e75ff676d65eb14b9bd07","unresolved":false,"context_lines":[{"line_number":1495,"context_line":"        :param conn: connection the ecom server"},{"line_number":1496,"context_line":"        :param controllerConfigService: the controller configuration service"},{"line_number":1497,"context_line":"        :param maskingViewName: maskingview name (String)"},{"line_number":1498,"context_line":"        :param maskingViewInstanceName: the masking view instance name"},{"line_number":1499,"context_line":"        :raises: VolumeBackendAPIException"},{"line_number":1500,"context_line":"        \"\"\""},{"line_number":1501,"context_line":"        rc, job \u003d conn.InvokeMethod(\u0027DeleteMaskingView\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa53dc9_bd715178","line":1498,"in_reply_to":"baa041b7_e3afcfe1","updated":"2015-04-10 15:00:45.000000000","message":"Done","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"c20108b6c7061373f243789672f749a833409da4","unresolved":false,"context_lines":[{"line_number":1909,"context_line":"        :param conn: the ecom connection"},{"line_number":1910,"context_line":"        :param controllerConfigService: controller config service"},{"line_number":1911,"context_line":"        :param mvInstanceName: masking view instance name"},{"line_number":1912,"context_line":"        :param maskingViewName: masking view name"},{"line_number":1913,"context_line":"        \"\"\""},{"line_number":1914,"context_line":"        LOG.debug("},{"line_number":1915,"context_line":"            \"Last volume in the storage group, deleting masking view \""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa041b7_c3accbef","line":1912,"updated":"2015-04-02 05:40:32.000000000","message":":param extraSpecs: extra specifications","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ba22f420a63b8fc1de9e75ff676d65eb14b9bd07","unresolved":false,"context_lines":[{"line_number":1909,"context_line":"        :param conn: the ecom connection"},{"line_number":1910,"context_line":"        :param controllerConfigService: controller config service"},{"line_number":1911,"context_line":"        :param mvInstanceName: masking view instance name"},{"line_number":1912,"context_line":"        :param maskingViewName: masking view name"},{"line_number":1913,"context_line":"        \"\"\""},{"line_number":1914,"context_line":"        LOG.debug("},{"line_number":1915,"context_line":"            \"Last volume in the storage group, deleting masking view \""}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa53dc9_fd111905","line":1912,"in_reply_to":"baa041b7_c3accbef","updated":"2015-04-10 15:00:45.000000000","message":"Done","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"}],"cinder/volume/drivers/emc/emc_vmax_utils.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"c20108b6c7061373f243789672f749a833409da4","unresolved":false,"context_lines":[{"line_number":390,"context_line":"        \"\"\"Given the sync name wait for it to fully synchronize."},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"        :param conn: connection to the ecom server"},{"line_number":393,"context_line":"        :param syncName: the syncName"},{"line_number":394,"context_line":"        :raises: loopingcall.LoopingCallDone"},{"line_number":395,"context_line":"        :raises: VolumeBackendAPIException"},{"line_number":396,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa041b7_83b6c33b","line":393,"updated":"2015-04-02 05:40:32.000000000","message":":param extraSpecs: extra specifications","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ba22f420a63b8fc1de9e75ff676d65eb14b9bd07","unresolved":false,"context_lines":[{"line_number":390,"context_line":"        \"\"\"Given the sync name wait for it to fully synchronize."},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"        :param conn: connection to the ecom server"},{"line_number":393,"context_line":"        :param syncName: the syncName"},{"line_number":394,"context_line":"        :raises: loopingcall.LoopingCallDone"},{"line_number":395,"context_line":"        :raises: VolumeBackendAPIException"},{"line_number":396,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa53dc9_70aabe86","line":393,"in_reply_to":"baa041b7_83b6c33b","updated":"2015-04-10 15:00:45.000000000","message":"Done","commit_id":"d26c7a9cdb992b11fb4b48e202be5e3208b6582b"}]}
