Hi everyone,

The version number we choose for openwhisk runtimes to be released under Apache 
as an incubator is a separate versioning system from what we have already as 
GitHub tags. The apache version will not break anything we have as legacy. The 
only difference it brings is just a new tag.

If we pick up 1.12.0-incubating for all the runtimes, all the source code of 
runtimes are packaged in the artifacts available in
Apache SVN server. When they are released, a new tag 1.12.0-incubating is added 
to the GitHub, but with some variations. Take nodejs for instance, we added two 
tags
[email protected] and [email protected] to the same commit, so that nodejs 
8 will push 1.12.0-incubating image to dockerhub and nodejs 6 will push 
1.12.0-incubating as well. It is possible that the new 1.12.0-incubating nodejs 
8 image equals to an existing image, like 1.9.0 or latest, but that is totally 
acceptable.
The same rule applies to any other runtime repository.

The old GitHub tagging system can still work and develop as planned. The new 
Apache versioning system can grow in parallel without any interference. Right 
now, the apache version always ends with -incubating because openwhisk is an 
incubator, so that we can clearly distinguish it. In future, when we graduate, 
we can make sure the apache version ends with -apache. All the docker images in 
dockerhub are tagged with -incubating or -apache, without affecting the 
existing GitHub tags we have.

This is why I root for using the same Apache version for all the openwhisk 
runtimes. It does not influence anything we currently have. 

 
Best wishes.
Vincent Hou (侯胜博)

Advisory Software Engineer, OpenWhisk Contributor, Open Technology, IBM Cloud

Notes ID: Vincent S Hou/Raleigh/IBM, E-mail: [email protected],
Phone: +1(919)254-7182
Address: 4205 S Miami Blvd (Cornwallis Drive), Durham, NC 27703, United States




Hi David,

If I pick the commit ID 1fb97e9 for openwhisk-deploy-kube, which is a merge on 
Jun 28. Is it OK for the openwhisk release 0.9.0?


 
Best wishes.
Vincent Hou (侯胜博)

Advisory Software Engineer, OpenWhisk Contributor, Open Technology, IBM Cloud

Notes ID: Vincent S Hou/Raleigh/IBM, E-mail: [email protected],
Phone: +1(919)254-7182
Address: 4205 S Miami Blvd (Cornwallis Drive), Durham, NC 27703, United States

-----"David P Grove" <[email protected]> wrote: -----
To: [email protected]
From: "David P Grove" <[email protected]>
Date: 08/27/2018 02:42PM
Subject: Re: [DISCUSSION]: Proposing to use 1.12.0 as the version for all 
runtimes for the first-time release under Apache

Hi Vincent,

        I respect the work that has been done and all that has been learned.  

        I agree there is a core set of repositories that need to be released 
together to make a platform. 

        But, we make a significant error in the order of release and continuing 
to use the "latest" tag in released branches.  This is not your fault.  We 
collectively missed it.

        I am sorry but 0.9.0 openwhisk and 0.9.0 openwhisk-deploy-kube are not 
compatible.   The core openwhisk release is from June 29.  There have been 
multiple configuration changes in the core project since June 29 that have been 
reflected in openwhisk-0.9.0 deploy-kube.  If you built a set of docker images 
from the 0.9.0 openwhisk src release they could not be successfully deployed 
using the 0.9.0 deploy-kube src release because the set of configuration flags 
for the controller/invoker are not compatible.  

        One possible solution to salvage 0.9.0 as a coherent set of source 
files is to remove openwhisk-kube-deploy from the 0.9.0 release.  I don't know 
if this will be enough. There have also been changes in the various runtime 
projects since June 29 to match changes made in the core system post 0.9.0.  It 
is possible that these are all forward/backward compatible, but I do not know 
that we have tested them to verify that.   We will need to do a significant 
amount of testing if we want to be able to tell uses that they can actually use 
the 0.9.0 release as a coherent set of source files to build an OpenWhisk 
deployment themselves.

--dave


"Vincent S Hou" ---08/27/2018 02:13:59 PM---Hi Dave, > As it is, the 0.9.0 
release is only useful for practice with the Apache

From:        "Vincent S Hou" <[email protected]>
To:        [email protected]
Date:        08/27/2018 02:13 PM
Subject:        Re: [DISCUSSION]: Proposing to use 1.12.0 as the version for 
all runtimes for the first-time release under Apache



Hi Dave,

> As it is, the 0.9.0 release is only useful for practice with the Apache
> release process.  The various source artifacts tagged 0.9.0 are not
> actually compatible with each other.

I am upset if you say this. I have been working my bones out during the past 
months to make sure
openwhisk, openwhisk-catalog, openwhisk-cli, openwhisk-client-go, 
openwhisk-wskdeploy, openwhisk-apigateway, openwhisk-deploy-kube
under 0.9.x version matching, and they work together. As long as the runtimes 
work ok with them, they are good to release even in one tar.gz to work as the 
openwhisk platform.

0.9.0 is not just an Apache practice. I know it is not perfect and has tons of 
things to improve it, but I have already tried my best. At the beginning, I 
hope all the modules including runtimes can have 0.9.0, so that all of them can 
release in one tar.gz, which is the basic standard I set for openwhisk to 
release for the first time under Apache. We are RELEASING really "intellectual 
asset" under Apache, that people can use. Not for practice with the Apache 
release process.

 
Best wishes.
Vincent Hou (侯胜博)

Advisory Software Engineer, OpenWhisk Contributor, Open Technology, IBM Cloud

Notes ID: Vincent S Hou/Raleigh/IBM, E-mail: [email protected],
Phone: +1(919)254-7182
Address: 4205 S Miami Blvd (Cornwallis Drive), Durham, NC 27703, United States

-----"David P Grove" <[email protected]> wrote: -----
To: [email protected]
From: "David P Grove" <[email protected]>
Date: 08/27/2018 01:46PM
Subject: Re: [DISCUSSION]: Proposing to use 1.12.0 as the version for all 
runtimes for the first-time release under Apache



Justin Halsall <[email protected]> wrote on 08/27/2018 01:16:41 PM:
>
> I recently bumped into docker-compose always pulling in the latest
> version of our containers but then failing because we had changed
> some of the dependent variables in the docker image but forgot to do
> so in our Docker Compose configuration files. With the centralized
> runtime manifest we could easily lock our deployments (including
> docker compose) to a release version with limited hassle.
>

Also been thinking about this.  We do have a central manifest already
(runtime.json + ansible group_vars/all in the core project). The mistake we
made is that we left all these tags at "latest" in the 0.9.0 release
(arguably because there had not been a release of the sub-projects yet, so
there was nothing else to use as a tag value).

In future releases, we need to first officially release any of the "leaf"
projects that aren't current, then branch the core repo into a release
branch, then commit a version of runtime.json (and other ansible files) on
this branch that pulls from a fixed tag (not latest) for all the other
projects.   Same thing for the kube-deploy, docker-compose, etc. -- branch,
commit fixed tags for images, then release.

As it is, the 0.9.0 release is only useful for practice with the Apache
release process.  The various source artifacts tagged 0.9.0 are not
actually compatible with each other.

--dave




  



Reply via email to