In general I think this is a good change - but minor nit that "latest" in docker doesn't mean pull the latest tag.
-r On Wed, Jun 27, 2018 at 7:35 AM, Markus Thoemmes <[email protected] > wrote: > Dear OpenWhiskers, > > when using Blackbox actions, whenever OpenWhisk creates a new container > "docker pull" is executed to get the image for that container explicitly. > It's implemented that way to guarantee new containers are always on the > latest code-state that was pushed to Dockerhub. > > Now for rapid prototyping that is a nice feature, for production workloads > it might not be. Essentially this means that your production workload is > now dependend on Dockerhub being up and running fine, even though your > images might already have been pulled to all invoker machines necessary. > > I therefore propose the following behavioral change: > > 1. Iff the user specifies "latest" as the image tag explicitly (or > implicitly by not specifying a tag at all), the behavior will stay the same > as above. If "docker pull" fails, the whole container bringup process fails > and the user is given an error. That ensures, that for these workloads > (which I consider development/prototyping) workloads, the user can > deterministically know, that after an action update, each cold-start > contains the very latest image or errors out. > 2. For all actions with a tag different than "latest", they are considered > production workloads. It is considered best-practice to not use "latest" > for production images and expected that the user versions their images > through the tags. OpenWhisk will still try to pull each time it creates a > new container, for good measure. If the pull fails, the system will still > try to "docker run" the container. If an image with that tag is already > available locally, it will be picked up and the action runs just fine. This > does not guarantee the latest code-state under all circumstances, but it's > much more stable for applications in production. > > An implementation of the proposal can be found here: > https://github.com/apache/incubator-openwhisk/pull/3813 > > Feedback is very welcome :) > > Cheers, > -m > >
