)]}'
{"cinder/tests/test_emc_vmax.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"a2267bf8b8cf256797370bdd2f12375757f74168","unresolved":false,"context_lines":[{"line_number":2042,"context_line":"                         self.driver.utils._get_interval_in_secs(extraSpecs))"},{"line_number":2043,"context_line":""},{"line_number":2044,"context_line":"        bExists \u003d os.path.exists(self.config_file_path)"},{"line_number":2045,"context_line":"        if bExists:"},{"line_number":2046,"context_line":"            os.remove(self.config_file_path)"},{"line_number":2047,"context_line":""},{"line_number":2048,"context_line":"        self.config_file_path \u003d save_config_path"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_e946ecbf","line":2045,"updated":"2015-03-16 20:47:53.000000000","message":"would appreciate these in a self.addCleanup, so that in case the tests fail to complete, it removes them no matter what. We\u0027ve moved existing tests to this as well.","commit_id":"84685ba7e1ce70b855762509dc6e7032ec6eca7a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2eab837c0cb795911093aad170a826f3b0f45115","unresolved":false,"context_lines":[{"line_number":2042,"context_line":"                         self.driver.utils._get_interval_in_secs(extraSpecs))"},{"line_number":2043,"context_line":""},{"line_number":2044,"context_line":"        bExists \u003d os.path.exists(self.config_file_path)"},{"line_number":2045,"context_line":"        if bExists:"},{"line_number":2046,"context_line":"            os.remove(self.config_file_path)"},{"line_number":2047,"context_line":""},{"line_number":2048,"context_line":"        self.config_file_path \u003d save_config_path"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_99a93993","line":2045,"in_reply_to":"9a80dd14_e946ecbf","updated":"2015-03-16 22:45:49.000000000","message":"I just realized that there\u0027s already a _cleanup() which removes the config file path. So this code here is redundant. Removed it.  Added a missing config file path used in another test to _cleanup().","commit_id":"84685ba7e1ce70b855762509dc6e7032ec6eca7a"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"a2267bf8b8cf256797370bdd2f12375757f74168","unresolved":false,"context_lines":[{"line_number":2061,"context_line":""},{"line_number":2062,"context_line":"        bExists \u003d os.path.exists(self.config_file_path)"},{"line_number":2063,"context_line":"        if bExists:"},{"line_number":2064,"context_line":"            os.remove(self.config_file_path)"},{"line_number":2065,"context_line":""},{"line_number":2066,"context_line":"        self.config_file_path \u003d save_config_path"},{"line_number":2067,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_094420b6","line":2064,"updated":"2015-03-16 20:47:53.000000000","message":"same","commit_id":"84685ba7e1ce70b855762509dc6e7032ec6eca7a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"2eab837c0cb795911093aad170a826f3b0f45115","unresolved":false,"context_lines":[{"line_number":2061,"context_line":""},{"line_number":2062,"context_line":"        bExists \u003d os.path.exists(self.config_file_path)"},{"line_number":2063,"context_line":"        if bExists:"},{"line_number":2064,"context_line":"            os.remove(self.config_file_path)"},{"line_number":2065,"context_line":""},{"line_number":2066,"context_line":"        self.config_file_path \u003d save_config_path"},{"line_number":2067,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_d992d157","line":2064,"in_reply_to":"9a80dd14_094420b6","updated":"2015-03-16 22:45:49.000000000","message":"Done","commit_id":"84685ba7e1ce70b855762509dc6e7032ec6eca7a"}],"cinder/volume/drivers/emc/emc_vmax_common.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"93f99c186211ec60983527b5ce94c6ff976ed019","unresolved":false,"context_lines":[{"line_number":1857,"context_line":"        :returns: unboundVolumeInstance -- the unbound volume instance"},{"line_number":1858,"context_line":"        \"\"\""},{"line_number":1859,"context_line":""},{"line_number":1860,"context_line":"        _, job \u003d ("},{"line_number":1861,"context_line":"            self.provision.unbind_volume_from_storage_pool("},{"line_number":1862,"context_line":"                conn, storageConfigService, poolInstanceName,"},{"line_number":1863,"context_line":"                volumeInstanceName,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_9f5cec1a","line":1860,"updated":"2015-03-09 22:31:49.000000000","message":"Will this redefine cinder.i18n._? Can we change _ to __ similar to the change in lines 2344 and 2589?","commit_id":"fe0b13086bf02b1cc83e4baeba545025568fd435"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"45f03d2ab3bfdfa09a0b1cc0c45bc7a12ce6f9bd","unresolved":false,"context_lines":[{"line_number":1857,"context_line":"        :returns: unboundVolumeInstance -- the unbound volume instance"},{"line_number":1858,"context_line":"        \"\"\""},{"line_number":1859,"context_line":""},{"line_number":1860,"context_line":"        _, job \u003d ("},{"line_number":1861,"context_line":"            self.provision.unbind_volume_from_storage_pool("},{"line_number":1862,"context_line":"                conn, storageConfigService, poolInstanceName,"},{"line_number":1863,"context_line":"                volumeInstanceName,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f9dae815","line":1860,"in_reply_to":"9a80dd14_8db0cede","updated":"2015-03-12 05:12:47.000000000","message":"I think it will redefine for this method. So if we try to use _(\"message\") after line 1860 in this method, it will fail. Currently there are no such statements. As you said, this change can be made in a separate patch.","commit_id":"fe0b13086bf02b1cc83e4baeba545025568fd435"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"876f81874b2b791e74e8bbc6eedbc2266889f7cc","unresolved":false,"context_lines":[{"line_number":1857,"context_line":"        :returns: unboundVolumeInstance -- the unbound volume instance"},{"line_number":1858,"context_line":"        \"\"\""},{"line_number":1859,"context_line":""},{"line_number":1860,"context_line":"        _, job \u003d ("},{"line_number":1861,"context_line":"            self.provision.unbind_volume_from_storage_pool("},{"line_number":1862,"context_line":"                conn, storageConfigService, poolInstanceName,"},{"line_number":1863,"context_line":"                volumeInstanceName,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d931765b","line":1860,"in_reply_to":"9a80dd14_8db0cede","updated":"2015-03-12 22:41:45.000000000","message":"I\u0027ve a dependent patch to fix this:\nhttps://review.openstack.org/#/c/164003","commit_id":"fe0b13086bf02b1cc83e4baeba545025568fd435"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"04c6dad4cca61aa3c3f0afaa401e9bb61cd7ae3f","unresolved":false,"context_lines":[{"line_number":1857,"context_line":"        :returns: unboundVolumeInstance -- the unbound volume instance"},{"line_number":1858,"context_line":"        \"\"\""},{"line_number":1859,"context_line":""},{"line_number":1860,"context_line":"        _, job \u003d ("},{"line_number":1861,"context_line":"            self.provision.unbind_volume_from_storage_pool("},{"line_number":1862,"context_line":"                conn, storageConfigService, poolInstanceName,"},{"line_number":1863,"context_line":"                volumeInstanceName,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_8db0cede","line":1860,"in_reply_to":"9a80dd14_9f5cec1a","updated":"2015-03-12 02:34:00.000000000","message":"Good question. This is a local variable, so it won\u0027t redefine i18n._.  Yes, we should change it to __, but I\u0027d like to do it in another patch as this is not introduced by this patch.","commit_id":"fe0b13086bf02b1cc83e4baeba545025568fd435"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"78ab39602ee1e20fbc74f302db8a7cfba7f3f88f","unresolved":false,"context_lines":[{"line_number":1857,"context_line":"        :returns: unboundVolumeInstance -- the unbound volume instance"},{"line_number":1858,"context_line":"        \"\"\""},{"line_number":1859,"context_line":""},{"line_number":1860,"context_line":"        _, job \u003d ("},{"line_number":1861,"context_line":"            self.provision.unbind_volume_from_storage_pool("},{"line_number":1862,"context_line":"                conn, storageConfigService, poolInstanceName,"},{"line_number":1863,"context_line":"                volumeInstanceName,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_afa70f4f","line":1860,"in_reply_to":"9a80dd14_d931765b","updated":"2015-03-13 02:30:11.000000000","message":"Thanks!","commit_id":"fe0b13086bf02b1cc83e4baeba545025568fd435"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1379c2bce824763b82091bd40e4902131dcfedab","unresolved":false,"context_lines":[{"line_number":2505,"context_line":"                    volumeSizeInbits))}"},{"line_number":2506,"context_line":""},{"line_number":2507,"context_line":"                if extraSpecs[ISV3]:"},{"line_number":2508,"context_line":"                    _, volumeDict, _ \u003d ("},{"line_number":2509,"context_line":"                        self._create_v3_volume("},{"line_number":2510,"context_line":"                            volume, targetVolumeName, volumeSizeInbits,"},{"line_number":2511,"context_line":"                            extraSpecs))"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_d8380240","line":2508,"updated":"2015-03-17 04:58:52.000000000","message":"Not part of this patch, but a couple instances here where still using _ for unused variable. I know there was another EMC patch to change that. Just pointing it out here and below.","commit_id":"2ba6042df69868e14bdc248e6c923c4a043db596"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"6dbbb245b88bd1754cdfba6c3200e61a7efaf087","unresolved":false,"context_lines":[{"line_number":2505,"context_line":"                    volumeSizeInbits))}"},{"line_number":2506,"context_line":""},{"line_number":2507,"context_line":"                if extraSpecs[ISV3]:"},{"line_number":2508,"context_line":"                    _, volumeDict, _ \u003d ("},{"line_number":2509,"context_line":"                        self._create_v3_volume("},{"line_number":2510,"context_line":"                            volume, targetVolumeName, volumeSizeInbits,"},{"line_number":2511,"context_line":"                            extraSpecs))"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_55d5a6b7","line":2508,"in_reply_to":"9a80dd14_d8380240","updated":"2015-03-17 15:26:59.000000000","message":"Sean, that patch is dependent on this patch.  _ will be replaced once the other patch merges.","commit_id":"2ba6042df69868e14bdc248e6c923c4a043db596"}],"cinder/volume/drivers/emc/emc_vmax_utils.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"45f03d2ab3bfdfa09a0b1cc0c45bc7a12ce6f9bd","unresolved":false,"context_lines":[{"line_number":833,"context_line":"        if interval:"},{"line_number":834,"context_line":"            return interval"},{"line_number":835,"context_line":"        else:"},{"line_number":836,"context_line":"            LOG.debug(\"Interval not overriden, default of 10 assumed.\")"},{"line_number":837,"context_line":"            return None"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":"    def parse_retries_from_file(self, fileName):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_191b3ccb","line":836,"updated":"2015-03-12 05:12:47.000000000","message":"overridden","commit_id":"fe0b13086bf02b1cc83e4baeba545025568fd435"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ac184f047260a4c430df7fa9454bf9214cb86e70","unresolved":false,"context_lines":[{"line_number":833,"context_line":"        if interval:"},{"line_number":834,"context_line":"            return interval"},{"line_number":835,"context_line":"        else:"},{"line_number":836,"context_line":"            LOG.debug(\"Interval not overriden, default of 10 assumed.\")"},{"line_number":837,"context_line":"            return None"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":"    def parse_retries_from_file(self, fileName):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f2bbace2","line":836,"in_reply_to":"9a80dd14_191b3ccb","updated":"2015-03-13 02:39:34.000000000","message":"Done","commit_id":"fe0b13086bf02b1cc83e4baeba545025568fd435"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"45f03d2ab3bfdfa09a0b1cc0c45bc7a12ce6f9bd","unresolved":false,"context_lines":[{"line_number":848,"context_line":"        if retries:"},{"line_number":849,"context_line":"            return retries"},{"line_number":850,"context_line":"        else:"},{"line_number":851,"context_line":"            LOG.debug(\"Retries not overriden, default of 60 assumed.\")"},{"line_number":852,"context_line":"            return None"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"    def parse_pool_instance_id(self, poolInstanceId):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_597cd4eb","line":851,"updated":"2015-03-12 05:12:47.000000000","message":"overridden","commit_id":"fe0b13086bf02b1cc83e4baeba545025568fd435"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ac184f047260a4c430df7fa9454bf9214cb86e70","unresolved":false,"context_lines":[{"line_number":848,"context_line":"        if retries:"},{"line_number":849,"context_line":"            return retries"},{"line_number":850,"context_line":"        else:"},{"line_number":851,"context_line":"            LOG.debug(\"Retries not overriden, default of 60 assumed.\")"},{"line_number":852,"context_line":"            return None"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"    def parse_pool_instance_id(self, poolInstanceId):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_12c12054","line":851,"in_reply_to":"9a80dd14_597cd4eb","updated":"2015-03-13 02:39:34.000000000","message":"Done","commit_id":"fe0b13086bf02b1cc83e4baeba545025568fd435"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"5b0d0bc3dd45e0371986ddf4ca48b0f5fa83311e","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            maxJobRetries \u003d self._get_max_job_retries(extraSpecs)"},{"line_number":310,"context_line":"            retries \u003d kwargs[\u0027retries\u0027]"},{"line_number":311,"context_line":"            wait_for_job_called \u003d kwargs[\u0027wait_for_job_called\u0027]"},{"line_number":312,"context_line":"            if self._is_job_finished(conn, job):"},{"line_number":313,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":314,"context_line":"            if retries \u003e maxJobRetries:"},{"line_number":315,"context_line":"                LOG.error(_LE(\"_wait_for_job_complete \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_6349028e","line":312,"updated":"2015-03-17 20:26:24.000000000","message":"Should be raising a different exception here since the LoopingCallDone will get caught and eaten by the FixedIntervalLoopingCall infrastructure.","commit_id":"8e523ecc7ea18c11737edc1f4f779b038df36670"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e7653436f83a4843cbad03f17aceec7e8fe38948","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            maxJobRetries \u003d self._get_max_job_retries(extraSpecs)"},{"line_number":310,"context_line":"            retries \u003d kwargs[\u0027retries\u0027]"},{"line_number":311,"context_line":"            wait_for_job_called \u003d kwargs[\u0027wait_for_job_called\u0027]"},{"line_number":312,"context_line":"            if self._is_job_finished(conn, job):"},{"line_number":313,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":314,"context_line":"            if retries \u003e maxJobRetries:"},{"line_number":315,"context_line":"                LOG.error(_LE(\"_wait_for_job_complete \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_e43898d6","line":312,"in_reply_to":"9a80dd14_6349028e","updated":"2015-03-17 20:54:34.000000000","message":"I don\u0027t understand your comment.  If job is finished, it should be LoopingCallDone.  What other exception you think should be raised here?","commit_id":"8e523ecc7ea18c11737edc1f4f779b038df36670"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"734ebdbecc116bc350bfe29bcc053786a79893e2","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            maxJobRetries \u003d self._get_max_job_retries(extraSpecs)"},{"line_number":310,"context_line":"            retries \u003d kwargs[\u0027retries\u0027]"},{"line_number":311,"context_line":"            wait_for_job_called \u003d kwargs[\u0027wait_for_job_called\u0027]"},{"line_number":312,"context_line":"            if self._is_job_finished(conn, job):"},{"line_number":313,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":314,"context_line":"            if retries \u003e maxJobRetries:"},{"line_number":315,"context_line":"                LOG.error(_LE(\"_wait_for_job_complete \""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_7b0442c6","line":312,"in_reply_to":"9a80dd14_e43898d6","updated":"2015-03-17 21:41:09.000000000","message":"I posted my comment on the wrong line...yes this is correct for when the job is done. see next comment...","commit_id":"8e523ecc7ea18c11737edc1f4f779b038df36670"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"734ebdbecc116bc350bfe29bcc053786a79893e2","unresolved":false,"context_lines":[{"line_number":317,"context_line":"                              \"tries.\"),"},{"line_number":318,"context_line":"                          {\u0027retries\u0027: retries})"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":321,"context_line":"            try:"},{"line_number":322,"context_line":"                kwargs[\u0027retries\u0027] \u003d retries + 1"},{"line_number":323,"context_line":"                if not wait_for_job_called:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_bb25da5d","line":320,"updated":"2015-03-17 21:41:09.000000000","message":"Here is where I meant to post the comment. In this case, the job continues to run, but we are not going to check for its completion anymore. It should get treated as a failure with a special exception, right? Or is it by design to treat it as successfully completing here, even though the job continues to run?","commit_id":"8e523ecc7ea18c11737edc1f4f779b038df36670"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4d5b3444773b4909e5592a666abf3088e117a234","unresolved":false,"context_lines":[{"line_number":317,"context_line":"                              \"tries.\"),"},{"line_number":318,"context_line":"                          {\u0027retries\u0027: retries})"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":321,"context_line":"            try:"},{"line_number":322,"context_line":"                kwargs[\u0027retries\u0027] \u003d retries + 1"},{"line_number":323,"context_line":"                if not wait_for_job_called:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_f5ff5600","line":320,"in_reply_to":"9a80dd14_bb25da5d","updated":"2015-03-18 04:29:04.000000000","message":"We\u0027ve just checked whether the job is finished or not on line 312.  If it gets here, the job is not finished, but we will time out.  On line 295, we return \"rc\". \"rc\" will be 0 if the job is complete. If it is not complete, \"rc\" will be a non-zero value and we\u0027ll throw exception later.","commit_id":"8e523ecc7ea18c11737edc1f4f779b038df36670"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"5b0d0bc3dd45e0371986ddf4ca48b0f5fa83311e","unresolved":false,"context_lines":[{"line_number":384,"context_line":"            return False"},{"line_number":385,"context_line":"        else:"},{"line_number":386,"context_line":"            return True"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"    def wait_for_sync(self, conn, syncName):"},{"line_number":389,"context_line":"        \"\"\"Given the sync name wait for it to fully synchronize."},{"line_number":390,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_03fcc63e","line":387,"updated":"2015-03-17 20:26:24.000000000","message":"This could take extraSpecs as well, or merge method with wait_for_job since the guts are very similar.","commit_id":"8e523ecc7ea18c11737edc1f4f779b038df36670"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4d5b3444773b4909e5592a666abf3088e117a234","unresolved":false,"context_lines":[{"line_number":384,"context_line":"            return False"},{"line_number":385,"context_line":"        else:"},{"line_number":386,"context_line":"            return True"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"    def wait_for_sync(self, conn, syncName):"},{"line_number":389,"context_line":"        \"\"\"Given the sync name wait for it to fully synchronize."},{"line_number":390,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_105dd8ec","line":387,"in_reply_to":"9a80dd14_03fcc63e","updated":"2015-03-18 04:29:04.000000000","message":"Will fix this in another patch.","commit_id":"8e523ecc7ea18c11737edc1f4f779b038df36670"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"5b0d0bc3dd45e0371986ddf4ca48b0f5fa83311e","unresolved":false,"context_lines":[{"line_number":403,"context_line":"            retries \u003d kwargs[\u0027retries\u0027]"},{"line_number":404,"context_line":"            wait_for_sync_called \u003d kwargs[\u0027wait_for_sync_called\u0027]"},{"line_number":405,"context_line":"            if self._is_sync_complete(conn, syncName):"},{"line_number":406,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":407,"context_line":"            if retries \u003e JOB_RETRIES:"},{"line_number":408,"context_line":"                LOG.error(_LE(\"_wait_for_sync failed after %(retries)d \""},{"line_number":409,"context_line":"                              \"tries.\"),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_23e46aab","line":406,"updated":"2015-03-17 20:26:24.000000000","message":"This needs to honor the storagetype:retries as well.","commit_id":"8e523ecc7ea18c11737edc1f4f779b038df36670"}]}
