pcp-webapi - Performance Co-Pilot (PCP) web API service
On 2016-04-21 18:14:22 -0500, Nathan Scott wrote:
Hi Zack,
The pcp-webjs code is not part of PCP. Hence its not really appropriate to deb package it as part of the core PCP build (although there are options like we do for rpm, see below). You could open a github issue (that seems to be the only upstream bug tracker for pcp-webjs, AFAICT?) and request debs there ...
... but upstream projects rarely do packaging, so you might find no luck there either. Someone would have to sign up to do the deb packaging work (the person who maintains the PCP deb packages has expressed concerns about packaging pcp-webjs in its current state).
There seems to be no actual release model for pcp-webjs, no documentation, and it still contains a redundant, dated copy of Vector for some strange reason, in spite of numerous requests for its maintainer (fche) to stop duplicating that.
Alternatively, Vector and webjs could just be deb packaged "properly", as the standalone projects they are, with their own bintray repos. Vector already has one setup, pcp-webjs could certainly have one too (that might also help to define a release process for pcp-webjs).
Ultimately though, either of these approaches is going to require someone to volunteer time & effort to make it happen - I'm swamped, such that even the deb packaging of pcp is falling behind (lacks systemd support, pmda sub-packages & proper dependencies, automatic pmda ./Remove on package removal, etc, etc... it is alot of work as-is - so my vote is for option # 2 at this stage).
On 2016-04-22 07:12:57 -0500, Frank Ch. Eigler wrote:
(the person who maintains the PCP deb packages has expressed concerns about
packaging pcp-webjs in its current state).
Who is that person and what are the concerns?
There seems to be no actual release model for pcp-webjs, no documentation,
and it still contains a redundant, dated copy of Vector for some strange
reason,
The "strange reason" is that it is a tested release of vector instead of
questionably tested random git snapshots that your changes to the pcp.spec
et al. now bundle.
On 2016-04-22 13:36:02 -0500, Zack Cerza wrote:
Thanks for the response. I'm a little confused about this:
(In reply to comment # 1)
The pcp-webjs code is not part of PCP. Hence its not really appropriate to
deb package it as part of the core PCP build (although there are options
like we do for rpm, see below).
If it's "not appropriate" for pcp-webjs debs to be shipped with the rest of the pcp packages, why is that done on the rpm side?
There seems to be no actual release model for pcp-webjs, no documentation,
and it still contains a redundant, dated copy of Vector for some strange
reason, in spite of numerous requests for its maintainer (fche) to stop
duplicating that.
Well, also, the Grafana version seems to be quite out-of-date as well.
On 2016-04-22 14:14:43 -0500, Frank Ch. Eigler wrote:
Well, also, the Grafana version seems to be quite out-of-date as well.
Unfortunately, grafana versions beyond this one no longer function as pure browser-side webapps, and instead have a server-side daemon running. This is in addition to the data source that pmwebd impersonates. If one can segment newer grafana into a pure webapp, I'd be glad to pull it into the webjs collection; it was not an easy job last time I tried it.
Thanks for the response. I'm a little confused about this:
[...]
Yep, its very confusing. We use the RPM %source keyword to inject external Vector and pcp-webjs source tarballs into the PCP RPM builds (in the PCP git tree, see build/rpm/fedora.spec first ~10 lines).
We also have a team of people paid to maintain the RPMs, whereas the Debian packages are maintained out of love, solo. As a result far less time ends up being invested there - unless more volunteers were to appear (anyone? Bueller?) which would be awesome & result in higher quality pcp debs.
However, and confusing things even further (!), it's not clear that doing this deb packaging refactoring (to use quilt format with external sources) is really the best option ... it's far simpler to package each source tarball separately, like nature intended. And this can be done now, independently. shrug - so, its complicated. Hopefully this clears some of the confusion, anyway.
(In reply to comment # 2)
[...] what are the concerns?
(there were 3 listed in earlier comments.)
The "strange reason" is that it is a tested release of vector instead of
questionably tested random git snapshots that your changes to the pcp.spec
et al. now bundle.
Hmm, more confusion here. The bintray packages are all ./Makepkgs based, which does not use Lukas' Fedora-rawhide-git-snapshotting process you're referring to.
We always use the latest upstream stable release of Vector for the bintray packages. So the "strange reason" is invalid - please remove the duplicate copy of Vector in pcp-webjs, and focus on helping to test Vector upstream before each release, such that everyone benefits.
I understand Martin is gearing up for a new Vector release within a week or so - I'm sure testing assistance would be appreciated right now, rather than afterwards this time.
And the PCP maintainers are also gearing up for a PCP release right now, so we'd love to see help on the QA front this week too. It'd be great to see that persistent pmmgr test failure Kens reported on for the last several releases tackled, for example - and any other QA efforts would be much appreciated too.
On 2016-04-29 16:55:10 -0500, Frank Ch. Eigler wrote:
[...] what are ["the person's"] concerns?
(there were 3 listed in earlier comments.)
You were speaking of yourself in the third person. That is confusing.
There seems to be no actual release model for pcp-webjs,
A formal model had not been necessary, because there was so little
development. But relief is in sight as we build more wrapper code
around grafana, etc. Henceforth, the "release model" consists of
a tag on the tree, wherefrom anyone can generate a tarball:
It has exactly the same amount of documentation in the release
tarballs as vector does: zero. It has considerable (at least as
much as vector) documentation online, at the graphite/grafana
upstream projects' web sites, where the webjs index.html
points.
and it still contains a redundant, dated copy of Vector
That "dated" copy of vector is exactly the same version you just
bundled in the debian pcp 3.11.2 bintray builds. Mere redundancy
is harmless and your prior experience in removing it transfers
directly.
So, is that all stands in the way of debian webjs subpackages a
webjs analogy of your code in commit # 19ee10f609?
On 2016-05-03 02:54:05 -0500, Nathan Scott wrote:
(In reply to comment # 6)
Henceforth, the "release model" consists of
a tag on the tree, wherefrom anyone can generate a tarball:
OK, that's a promising development.
The tag name chosen is a bit unfortunate - almost had downloadable source tarballs "for free" from github ...
... but because the tag name doesn't follow convention, this falls in a bit of a heap. The tarball is now "pcp-webjs-pcp-webjs-x.y.z.tar.gz" and inside it has the same incorrect path prefix.
I'm punting that it didn't follow convention because you wanted to duplicate an existing PCP release number instead of starting one for pcp-webjs (seems odd to me, but whatever floats your boat) - and the problem then became your way of forcing all this code to live in the pcpfans.git tree alongside pcp branches?
That tree already has a "3.11.2" tag from upstream pcp, so you had to go with "pcp-webjs-3.11.2" - is that right? Looks like you might be trying to shoe-horn too much into pcpfans.git, if that's indeed the case, and perhaps a pcp-webjs.git would simplify things on sourceware.
It has exactly the same amount of documentation in the release
tarballs as vector does: zero.
There's several different documentation needs here. One specific kind of missing doc (that I've asked for in the past) is a description of rebuilding the components from their upstream sources.
It would also be good to have a top-level README that describes why the project exists, its goals, and so on too - that would explain to the casual observer how to setup and use these tools, and also give a developer a head start if they wanted to hack on it (esp. since alot of it is "compiled" javascript code that has git-commit'd AIUI).
Expect most people to find the project on github, so its worth doing things right there: https://github.com/performancecopilot/pcp-webjs ... suggests "Help people interested in this repository understand your project by adding a README.". (if you don't want a github repo anymore, given the tag-induced problems above, please just nuke it)
So - which versions of the above, why those particular versions, what versions of Internet Explorer are known to not work, etc ... maybe a quick start guide to get up and running quickly like Vector and PCP have.
In the case of grafana, it'd be worth discussing why it requires that older upstream release / branch & why it doesn't work with current versions, what that patch is all about, and so on. (for potential developers)
and it still contains a redundant, dated copy of Vector
[...]. Mere redundancy is harmless
There are good reasons not to create duplicate copies of large amounts of code. It would be preferable to remove the extra shell snippets that we have had to add to deal with this (in the spec & makefiles), rather than propagate this further and into the deb build too.
On 2016-04-21 13:50:51 -0500, Zack Cerza wrote:
On 2016-04-21 18:14:22 -0500, Nathan Scott wrote:
On 2016-04-22 07:12:57 -0500, Frank Ch. Eigler wrote:
On 2016-04-22 13:36:02 -0500, Zack Cerza wrote:
On 2016-04-22 14:14:43 -0500, Frank Ch. Eigler wrote:
On 2016-04-23 02:24:10 -0500, Nathan Scott wrote:
On 2016-04-29 16:55:10 -0500, Frank Ch. Eigler wrote:
On 2016-05-03 02:54:05 -0500, Nathan Scott wrote: