Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Migrate CI from Docker Hub to Amazon ECR #9623

Merged
merged 24 commits into from
Nov 6, 2020
Merged

Migrate CI from Docker Hub to Amazon ECR #9623

merged 24 commits into from
Nov 6, 2020

Conversation

kj4ezj
Copy link
Contributor

@kj4ezj kj4ezj commented Nov 1, 2020

Change Description

From AUTO-301.

Background
On Monday, 2020-11-02, docker will be rate-limiting GET requests for image manifests (functionally, image pulls) by IP address to 200req/6hr authenticated or 100req/6hr unauthenticated. See the heading of this blog post entitled “Reminder: Image pull consumption tiers,” and this FAQ.

Problem
We use docker hub to store CI images for EOSIO. Each eosio or eosio-build-unpinned build performs ~100 jobs, each with one or two image manifest requests to docker hub. While the instances (and thus IP addresses) being used by our buildfleet does rotate regularly, rotation is not guaranteed between builds and is unlikely during periods of high use where we retain a large node fleet churning through Buildkite jobs. These new manifest query limits could be encountered with as little as one build, rendering the CI system unusable.

Solution
The CI system will push images to both docker hub and to Amazon ECR in-parallel, and pull exclusively from Amazon ECR. This retains the ability for the CI system to perform unlimited pulls without interrupting service to any downstream consumers of docker hub images containing EOSIO environments or installations generated by our CI system.

Other solutions considered:

  1. Perform authenticated pulls with docker hub pro
  2. Cache docker hub using Artifactory
  3. Cache docker hub using their solution
  4. Migrate to ECR (without pushing to docker hub in-parallel)

See Also

Change Type

Select ONE

  • Documentation
  • Stability bug fix
  • Other
    CI
  • Other - special case

Consensus Changes

  • Consensus Changes

None.

API Changes

  • API Changes

None.

Documentation Additions

  • Documentation Additions

None.

@kj4ezj kj4ezj marked this pull request as ready for review November 6, 2020 04:45
@kj4ezj kj4ezj merged commit e653931 into develop Nov 6, 2020
@kj4ezj kj4ezj deleted the zach-ecr branch November 6, 2020 15:23
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants