def _find_or_pull_node_image(image_name): """ Check if Docker has a cached copy of an image, and if not, attempt to pull it. :param image_name: The full name of the image. :return: None. """ try: _ = docker_client.inspect_image(image_name) except docker.errors.APIError as err: if err.response.status_code == 404: # TODO: Display proper status bar print_paragraph("Pulling Docker image %s" % image_name) try: # Pull the image and then verify that it was succesfully # pulled (the pull doesn't raise an exception on failure). docker_client.pull(image_name) docker_client.inspect_image(image_name) except docker.errors.APIError: # Unable to download the Docker image. print_paragraph("ERROR: Unable to download Docker image.") print_paragraph("Please verify that you have network " "connectivity to DockerHub and that, if you " "explicitly specified which calico/node image " "to use, the image name is correct.") sys.exit(1)
def _find_or_pull_node_image(image_name): """ Check if Docker has a cached copy of an image, and if not, attempt to pull it. :param image_name: The full name of the image. :return: None. """ try: _ = docker_client.inspect_image(image_name) except docker.errors.APIError as err: if err.response.status_code == 404: # TODO: Display proper status bar print "Pulling Docker image %s" % image_name docker_client.pull(image_name)