nutanix/patrao

Upgrade workflow - improvements

Opened this issue · 0 comments

This is an idea of how to improve upgrade logic in order to reduce downtime while the upgrade of docker container-based solutions.

Currently, if we've got a new specification we are doing the next steps:

  • Identify that there is a new image version in received spec.
  • Stop corresponded containers
  • Run docker-compose with the received spec in order to have a solution upgraded.

In case if there is no new image located on the host machine while running docker-compose such image has to be pulled from the docker registry. This means that the upgrade time depends on the size of the new image and download speed. We could improve the logic by adding new steps to the current upgrade workflow.

  • Identify that there is a new image version in received spec.
  • Check if there is a new image version present on the host machine
  • If no, pull new images using docker-API by Patrao Agent
  • When new images are pulled, stop corresponded containers
  • Run docker-compose ....

In such a case, downtime will be reduced on time which Patrao Agent spent on image pulling.