sync-index stops at the first failure when a charm is indexed.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
charmworld |
Triaged
|
High
|
Unassigned |
Bug Description
Below is a modified variant of TestCharmSource
def test_sync_
# Create a charm which is index-incompatible with the previous one.
handler = self.get_
with patch('
with patch('
The setup: Three charms, those owned by "a" and "c" should be indexed; indexing b's charm will fail. But only c's charm is indexed.
The cause:
class CharmSource:
def sync_index(self):
for charm in _find_charms(
yield charm['_id']
def sync_index():
""""Entry point for sync-index script."""
configure_
logger = logging.
charm_source = CharmSource.
charm_ids = charm_source.
while True:
try:
except StopIteration:
break
except Exception:
else:
_find_charms() returns all charms in descending order of (owner, series, charm_name), so charm "c" is indexed first; when index_client.
Changed in charmworld: | |
importance: | Undecided → High |
status: | New → Triaged |