Hi Daan,

Thanks for replying and participating. Some points:

  *   The document links within Primate is a different topic than the docs for 
Primate itself, the scope of current discussion is limited to documentation for 
Primate. The doc link within Primate would be done against the 1.0/GA 
milestone, it would require going through all the sections/APIs against the 
current CloudStack docs and put a link (or part of it).
  *   The documentation for Primate currently won't be huge, perhaps a single 
long page would do (to explain how to install).
  *   Primate would be a separately installable package and installing 
cloudstack-management won't automatically trigger installing it (at least in 
the tech preview, we can discuss how we handle longer term starting with GA/1.0 
later).
  *   We've setup automation for all kinds of packaging formats/channels (we 
already have that for rpm/deb and archive formats, except for dockerhub hosting 
which is in discussion with ASF infra). I think publishing artifacts should be 
quick and mostly automated.
  *   Github has a new feature called Github packages for each repo, where one 
can host things like npm, docker packages etc. We can explore this feature.
On a Github release wrt a git tag, we can upload an artifact (I've seen many 
projects doing this).
  *   On releasing without voting, my thought and preference is that as our 
users test Primate, and report bugs and until GA/1.0 we fix those issues, 
implement missing feature users get faster fixes via a "preview" or "testing" 
or "beta" release channel periodically (deb/rpms repos, archives, docker 
container builds).

Doing this would require that we agree on this strategy, without a single 
tag/version but a set of releases (with a timestamp, so packages would look 
like cloudstack-primate-$version-$date). So effectively we're saying - let's 
release the tech preview without doing an official release (which would mean a 
fix git tag/version). This is where the discussion of a single tech preview 
release vs rolling tech preview release would come in.

Looking forward to more feedback from our dev/user community and of course our 
VP @Sven Vogel<mailto:s.vo...@ewerk.com> who has been a major Primate-SIG 
collaborator. Thanks.

Regards,

Rohit Yadav

Software Architect, ShapeBlue

https://www.shapeblue.com

________________________________
From: Daan Hoogland <daan.hoogl...@gmail.com>
Sent: Thursday, May 7, 2020 12:34
To: dev <d...@cloudstack.apache.org>
Cc: users@cloudstack.apache.org <users@cloudstack.apache.org>
Subject: Re: [DISCUSS] Primate - publishing release and docs

Hey Rohit,
This is a lot to take in at once. We have discussed some of those off line
but let me give my initial answers to your discussion points inline.
Hopefully those more directly involved and with more at stake can give some
input as well.

On Wed, May 6, 2020 at 3:03 PM Rohit Yadav <rohit.ya...@shapeblue.com>
wrote:

> All,
>
> With this thread I want to start a discussion around:
>
>   *   How do we host/publish technical preview release
>   *   How do we host/publish technical preview documentation (release
> notes, setup/install instructions)
>
> To set the expectation:
>
>   *   This thread limits discussion wrt technical preview (beta).
>   *   Plan we've already agreed, just to recap: ....

...

>   *   References:
>      *   Voting thread: https://markmail.org/message/tblrbrtew6cvrusr
>      *   Proposal:
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Proposal%3A+CloudStack+Primate+UI
>      *   Discussion thread: https://markmail.org/message/z6fuvw4regig7aqb
>
...

>   *   Outstanding issues wrt 0.5-technical-preview milestone:
> https://github.com/apache/cloudstack-primate/milestone/1
>   *   Oustanding PRs for 0.5-technical-preview:
> https://github.com/apache/cloudstack-primate/pulls?q=is%3Aopen+is%3Apr+no%3Amilestone
>
...

>   1.  Documentation for tech preview:
>
> It is preferred that Primate be developed, maintained and released
> separately from CloudStack. Primate would require its own docs
> website/location for hosting release notes etc. I can think of two ways:
>
>      *   For tech preview, let's just a section/topic on Primate on how
> users can install and use Primate on the docs website:
> http://docs.cloudstack.apache.org/en/latest/primateguide (it does not
> exist, just for example)
> For each CloudStack release, the docs may be updated, including list of
> supported/required versions matrix (both CloudStack and Primate).
> For tech preview, this needs to be on the 4.14.0.0 docs website.
>
>      *   On Github wiki: https://github.com/apache/cloudstack-primate/wiki
> we can maintain a copy of text/pages from above ^^, as well as links on the
> Github release for every git tag. A general guide (agnostic of Primate
> version) could be written/hosted there.
> (similar to CloudStack releases, for example:
> https://github.com/apache/cloudstack/releases/tag/4.13.0.0)
>
I think Primate should be documented by means of help pop-ups with links to
the underlaying API and admin docs. How big do you expect this
documentation to become? (I would think it is only a short readme on first
use)


>   2.  Types of Primate packages:
>
>      *   deb/rpm: Primate already supports deb/rpm packages. This mode
> will allow users to install "cloudstack-primate" on the management server
> where Primate will be served from the management server just like the old
> UI.
>      *   docker container: Primate support docker containers to be
> built/used which takes a nginx config to proxy /client path to any
> management server.
>      *   archive build: A built archive (tar.gz) of Primate can be
> extracted and allow users/admins to do any custom hosting with it, other
> than (a) or (b).
>
> The install/setup/usage instructions are in general as follows: (will be
> properly documented on the docs website/location)
> - For (a), we need setup the repository, then run (1) yum/apt-get update,
> (2) yum/apt-get install <cloudstack-primate> on a management server host.
> - For (b), we need to run the docker container and pass a nginx config
> file. (similar to https://github.com/apache/cloudstack-primate#docker)
> - For (c), we extract and use Primate in a custom setup (that's upto the
> user/admin); they may also fork/customise Primate and build (as per
> https://github.com/apache/cloudstack-primate#production).
>

I agree, it makes it easier to develop. as long as the installation can
combine a suitable primate with each cloudstack, OR vice versa; one could
`dnf/pkg install cloudstack --withUI`. This might be unecessary
complivcated in wich case we could go for separate pkgs and pkgs-withUI.
In general the flexibility you are describing is good but might be hard to
maintain.



>
>   3.  Hosting packages/releases:
>      *   Use download.cloudstack.org for hosting (a) deb/rpm repos, and
> (c) archive builds.
>
> For example: I've setup a Jenkins job that builds (daily) latest Primate
> master and rsyncs the (a) and (c) packages here "for testing purposes only":
> http://download.cloudstack.org/primate/testing/master/
>
> In additional, for every release we can have a Github release/tag (where
> we attach archive builds).
>
>      *   Use the apache dockerhub org to publish official Primate
> container images:
> https://hub.docker.com/r/apache/cloudstack-primate
> (this is 404 for now, I've started a discuss with asf infra/dev community
> to have this sorted, we've a dockerfile in git repo; for "testing only" I
> was able to build and publish image here:
> https://hub.docker.com/r/cloudstack/primate -- I'll remove this once the
> apache/cloudstack-primate is setup)
>
> Alternative, host on Github:
> https://github.com/apache/cloudstack-primate/packages?package_type=Docker

this is only for source archives right? not packages.

  4.  Tech Preview releasing:
>
>      *   The versioning is set to: <major>.<minor>.<security>-<date-stamp>
> for example:
> cloudstack-primate-0.4.0-20200506.x86_64.rpm<
> http://download.cloudstack.org/primate/testing/master/centos/cloudstack-primate-0.4.0-20200506.x86_64.rpm
> >
> cloudstack-primate_0.4.0-20200506_all.deb<
> http://download.cloudstack.org/primate/testing/master/debian/cloudstack-primate_0.4.0-20200506_all.deb
> >
> cloudstack-primate-0.4.0-20200506.tar.gz<
> http://download.cloudstack.org/primate/testing/master/cloudstack-primate-0.4.0-20200506.tar.gz
> >
>
> apache/cloudstack-primate:latest (or some tag similar to above for docker
> builds ^^)
>
>      *   Since this is not the official/GA release, tech preview does not
> need to be voted. Any other thoughts?
>
right, let's double check this maybe @Sven, our VP can ask around?


>      *   Should we do a single tech preview RC/release, or we setup a
> periodic build/release (say every day/week/month) on all the tech preview
> release channels (deb/rpm repositories, dockerhub etc.) This would allow us
> to take feedback/bugs/issues, fix them and release them quickly for users
> to test.
>
I think git clone and git pull would suffice for those that need a newer
version (packaging scripts are included in the repo, right?)


> We already have a daily job that runs builds latest master and rsyncs on
> http://download.cloudstack.org/primate/testing/master/ now (just deb/rpm
> and tar.gz archive). We also have a live QA Primate server that we can
> build/test Primate master against
> http://primate-qa.cloudstack.cloud:8080/client/master (this auto-updates
> against master every 30mins).
>
I think all in all this has been a great job, Rohit. Thanks to you and all
other involved!

Please discuss and share your feedback, agreements/disagreements,
> solutions. Anything else we should consider?
> Thanks.
>
>
> Regards,
>
> Rohit Yadav
>
> Software Architect, ShapeBlue
>
> https://www.shapeblue.com
>
> rohit.ya...@shapeblue.com
> www.shapeblue.com<http://www.shapeblue.com>
> 3 London Bridge Street,  3rd floor, News Building, London  SE1 9SGUK
> @shapeblue
>
>
>
>

--
Daan

rohit.ya...@shapeblue.comĀ 
www.shapeblue.com
3 London Bridge Street,  3rd floor, News Building, London  SE1 9SGUK
@shapeblue
  
 

Reply via email to