Project

General

Profile

Feature #30824

Updated by Justin Sherrill over 4 years ago

Solution is such that: 

 We can store some data:  
 smart_proxy_id  
 repository_id 
 started 
 finished 

 As part of any capsule sync for With pulp2 we did a given repo: SYNC_HISTORY At the start lot of the sync for a given repo and smart proxy, any entry in the data work to ensure that metadata wasn't 'regenerated' when nothing changed across content view promotes.   

 For example if you promoted Version 1 to Production, it would be deleted A new entry would be created with copy over the current start time At the end of the sync, the finished time metadata, but then if you promoted Version 2 to production, it would be filled in, if NOT change the data still exists (hasn't been deleted by another task) metadata at all. 

 This functions allowed capsule syncs to be very quick when nothing changed, as pulp could just compare timestamps and not actually do any content comparison.      If you had a 'two-stage' ACK capsule with 100s of having repos and each large repo takes ~5 minutes to figure out if anything actually needs to be synced successfully 

 *As part of CV promotion* if changes are detected for or not, that can lead to a given repo during CV promotion, delete any entries for those repos in long sync time.    When the SYNC_HISTORY table metadata hasn't changed at all, the sync can be very very quick (a few seconds). 

 *as As part of repository update* if a repository is updated, unprotected changed or download_policy changed (for inherited proxies), delete all history items for any instance of that repository 

 *if upstream_name for docker repos is changed*, delete all history items for that particular repostiory 

 *at repo sync time in Library* if there are changes (or package upload/remove), this, we need to delete all hsitory items for that particular repository 

 *At capsule test timings with 'large' repos (such as RHEL 7) and see how long a sync time*, if a history event exists in takes when the table for a given repo and smart proxy that 'finished', do not schedule the sync. 
 * 
 A full capsule sync* will delete all history events for that capsule metadata hasn't changed vs how long it takes when it has changed (but there's no new content).

Back