Project

Profile

Help

Refactor #7777

As a developer I want collections sync machinery easier to maintain

Added by fao89 8 months ago. Updated 7 months ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Sprint/Milestone:
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Sprint 86
Quarter:
Q4-2020

Description

Currently, the sync machinery for collections contains multiple workarounds, which makes it hard to address issues and implement features.


Related issues

Related to Ansible Plugin - Issue #5745: Sync throws error: "filename 'MANIFEST.json' not found"CLOSED - CURRENTRELEASE<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Related to Ansible Plugin - Story #7470: As an user I want to sync collections on demandNEW

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Related to Ansible Plugin - Issue #7572: Make MANIFEST.json and FILES.json available in the CollectionVersion serializer in the V3 APICLOSED - CURRENTRELEASE<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Related to Ansible Plugin - Issue #7739: Requirement.yml code doesn't filter by versionCLOSED - CURRENTRELEASE<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Related to Ansible Plugin - Issue #7741: Code doesn't handle requirements.yml sources with different api versionsCLOSED - CURRENTRELEASE<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>
Related to Ansible Plugin - Issue #7751: As an user I want to sync collections and their dependenciesCLOSED - CURRENTRELEASE<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

Associated revisions

Revision 2ab95bd8 View on GitHub
Added by bmbouter 7 months ago

Refactors sync to use asyncio more and many tests

The previous sync machinery design was very complicated due to treating the asynchronous coroutines as synchronous code. This rewrites the sync code to have the coroutines track the work instead.

In doing the rewrite several bugs were fixed also:

  • versions in requirements.yml are now respected
  • requirements.yml with different sources are now respected too

It also makes many test improvements:

  • refactors Galaxy V2 sync tests to be bindings based
  • adds may more tests

closes #7739 closes #7741 closes #7777

History

#1 Updated by fao89 8 months ago

  • Subject changed from [EPIC] As a developer I want collections sync machinery easier to maintain to As a developer I want collections sync machinery easier to maintain

#2 Updated by fao89 8 months ago

  • Related to Issue #5745: Sync throws error: "filename 'MANIFEST.json' not found" added

#3 Updated by fao89 8 months ago

  • Related to Story #7470: As an user I want to sync collections on demand added

#4 Updated by fao89 8 months ago

  • Related to Issue #7572: Make MANIFEST.json and FILES.json available in the CollectionVersion serializer in the V3 API added

#5 Updated by fao89 8 months ago

  • Related to Issue #7739: Requirement.yml code doesn't filter by version added

#6 Updated by fao89 8 months ago

  • Related to Issue #7741: Code doesn't handle requirements.yml sources with different api versions added

#7 Updated by fao89 8 months ago

  • Related to Issue #7751: As an user I want to sync collections and their dependencies added

#8 Updated by bmbouter 8 months ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to bmbouter

#9 Updated by rchan 7 months ago

  • Sprint changed from Sprint 85 to Sprint 86

#10 Updated by fao89 7 months ago

  • Sprint/Milestone set to 0.6.0

#11 Updated by bmbouter 7 months ago

  • Status changed from ASSIGNED to POST

#12 Updated by bmbouter 7 months ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100

#13 Updated by fao89 7 months ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF