leapcode/bitmask_client — pull request #555 by ivanalejandro0 (2014-03-07 20:30:26+00:00)
Title: Run all the soledad bootstrap on error.

Before this fix, if the soledad bootstrapping failed during the first
download process, we retried since after that point which caused a
failure.

To reproduce the problem before and after this fix you can use this diff:

```diff
diff --git a/src/leap/bitmask/services/soledad/soledadbootstrapper.py b/src/leap/bitmask/services/soledad/soledadbootstrapper.py
index 7aa86a0..b7ee646 100644
--- a/src/leap/bitmask/services/soledad/soledadbootstrapper.py
+++ b/src/leap/bitmask/services/soledad/soledadbootstrapper.py
@@ -159,6 +159,8 @@ class SoledadBootstrapper(AbstractBootstrapper):

self._soledad_retries = 0

+ self._fake_exc = True
+
@property
def keymanager(self):
return self._keymanager
@@ -453,6 +455,9 @@ class SoledadBootstrapper(AbstractBootstrapper):
"""
Download the Soledad config for the given provider
"""
+ if self._fake_exc:
+ self._fake_exc = False
+ raise Exception("Fake problem")

leap_assert(self._provider_config,
"We need a provider configuration!")
```