quantumlib/qsim

Update Docker images

95-martin-orion opened this issue · 7 comments

Docker images for tutorials have fallen out of date, we need to update them to keep the tutorials working.

This was motivated by an issue observed in the multinode tutorial, where attempting to use noise3.py as the script to distribute across nodes triggered an error where cirq.measurement_key_names could not be found.

As that protocol was introduced in Cirq v0.13.0, this suggests some portion of the multinode tutorial is out of date, with the Docker images being the primary suspect. That said, we do regularly release Docker images to GCR here.

Testing confirms that multinode instances are running with cirq v0.11.1 and qsim v0.11.1, far behind the current version of both modules. Given that these instances use the latest Docker image (also verified), we must be publishing outdated Docker images.

CC @jrossthomson - where do we define the tools for publishing our Docker images?

Ross directed me to a build defined on GCP, which points back to this Dockerfile. Still trying to understand how that Dockerfile ends up with the v0.11.1 release of both modules, though - when I run the same commands locally (not in Docker) it gets the latest from both.

Things I've considered:

  • centos 8 may be stuck on an older Python version (3.6?), but neither qsim nor Cirq has moved past 3.6 yet
  • Some other centos 8 difference may prevent installation of newer qsim/Cirq, but why? How do we investigate?
  • Build on GCP is stuck in some old state? Need more GCP knowledge - seems unlikely this would occur.

Okay, I found the logs for historical builds, and discovered that there have been errors recently. Of note:

  • qsim v0.11.1 was the latest version of qsim at the time of the most recent build.
  • The build failed with Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
  • Centos 8 has reached end of life: https://www.centos.org/centos-linux-eol/

There are some suggested workarounds on StackOverflow which seem promising. The alternative would be to advance beyond Centos 8, which I'd like to hold back on as it may have repercussions on how these images run.

Build failed on account of pushd/popd in separate RUN statements. #520 opened to address this.

Docker images have built successfully.