code: def prefetch_docker_image_on_private_agents(
          image,
          timeout=timedelta(minutes=5).total_seconds()):
      
      agents = len(shakedown.get_private_agents())
      app = {
          "id": "/prefetch",
          "instances": agents,
          "container": {
              "type": "DOCKER",
              "docker": {"image": image}
          },
          "cpus": 0.1,
          "mem": 128
      }
  
      client = marathon.create_client()
      client.add_app(app)
  
      shakedown.deployment_wait(timeout)
  
      shakedown.delete_all_apps()
      shakedown.deployment_wait(timeout)
docs: Given a docker image. An app with the image is scale across the private
          agents to ensure that the image is prefetched to all nodes.
  
          :param image: docker image name
          :type image: str
          :param timeout: timeout for deployment wait in secs (default: 5m)
          :type password: int