# Move the promoter from docker to podman # Goal * Get rid of https://github.com/rdo-infra/ci-config/tree/master/ci-scripts/container-push/roles/containers-promote role and integrate it with copy-quay code * it needs to be bundled with promoter code and no extra sets is needed * New code should support * Manifest creation * Proper tagging should be done seperatly * Pushing to multiple registeries * The metadata from the promoter needs to be authoritive * Get the list of containers from tripleo-common when runned from promoter * on the promoter the list is generated in /tmp/..... * If runned alone, the list of containers is obtained from the latest ubi-8-containers-push job * Hash needs to be forced via promoter known hash * on the promoter the hash is known and this tool should use force-hash and use the same var * pushing all containers for a particular release via specific hash * Keep the containers locally if push fails or hash was wrongly promoted * option to delete the containers from local * per container basis * per release * per all release -> Verificaton of all delete operation * All the actions can be handled via config * After containers are pushed, loop through one more time * check if each expected container is available in the pushed registries * each registry docker.io and quay and $other * the check for account for x86_64 or ppc/x86_64 manifest * Validate the push for each registry * Good logging :) * Container Manifest push * for each container * check for x86 container in RDO registry * check for PPC container in RDO registry * if x86 exists but not ppc * push x86 # Action Items * take container-push role and add what is missing above : [Amol] * Each member should learn go * https://www.gopl.io/ * try copy-quay script with any set of containers on quay or docker * Change name to copy-containers or containers- * Job to build copy-quay in CI. After 30th Mar, 2021 * Come up with the proposal and action items and review it * Start working on that # Difference ## Copy-quay Pros: - container push validation - only container promotion, (container-push role: if dlrn is promoted it will skip the container promotion). - No extra dependency needed. Passing some extra info from python. - Multiple registry support - Remote tagging - No containers pulling - Good logging Cons: - need to replace container-push - Need to work still in development phase ## Container push Pro: - Promote containers (may be multiple registries) - Manifest push x86_64, ppc etc. Cons: - Download containers (took too much time) - manually remove each container for each release. - Bad logging - Can't promote only containers - No container validation - No remote tagging