Project

Profile

Help

Refactor #7777

closed

As a developer I want collections sync machinery easier to maintain

Added by fao89 over 3 years ago. Updated over 3 years 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 - CURRENTRELEASEfao89Actions
Related to Ansible Plugin - Story #7470: As an user I want to sync collections on demandCLOSED - DUPLICATE

Actions
Related to Ansible Plugin - Issue #7572: Make MANIFEST.json and FILES.json available in the CollectionVersion serializer in the V3 APICLOSED - CURRENTRELEASEfao89Actions
Related to Ansible Plugin - Issue #7739: Requirement.yml code doesn't filter by versionCLOSED - CURRENTRELEASEbmbouterActions
Related to Ansible Plugin - Issue #7741: Code doesn't handle requirements.yml sources with different api versionsCLOSED - CURRENTRELEASEbmbouterActions
Related to Ansible Plugin - Story #7751: As an user I want to sync collections and their dependenciesCLOSED - CURRENTRELEASE

Actions
Actions #1

Updated by fao89 over 3 years 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
Actions #2

Updated by fao89 over 3 years ago

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

Updated by fao89 over 3 years ago

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

Updated by fao89 over 3 years ago

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

Updated by fao89 over 3 years ago

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

Updated by fao89 over 3 years ago

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

Updated by fao89 over 3 years ago

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

Updated by bmbouter over 3 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to bmbouter
Actions #9

Updated by rchan over 3 years ago

  • Sprint changed from Sprint 85 to Sprint 86
Actions #10

Updated by fao89 over 3 years ago

  • Sprint/Milestone set to 0.6.0
Actions #11

Updated by bmbouter over 3 years ago

  • Status changed from ASSIGNED to POST

Added by bmbouter over 3 years ago

Revision 2ab95bd8 | View on GitHub

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

Actions #12

Updated by bmbouter over 3 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #13

Updated by fao89 over 3 years ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Also available in: Atom PDF