[SRU] Add telegraf to focal's universe repository
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
telegraf (Ubuntu) |
Won't Fix
|
Medium
|
Unassigned | ||
Focal |
New
|
Medium
|
Unassigned |
Bug Description
[Impact]
The telegraf[1] package is an agent for collecting, processing, aggregating, and writing metrics.
Telegraf is part of a suite of programs referred to as LMA (Logging, Monitoring and Alert). It is responsible for the Logging; prometheus, prometheus-
Prometheus and prometheus-
Grafana is not in Debian/Ubuntu, but we (the Ubuntu Server team) are maintaining it as a snap.
Telegraf is the "missing link" here: it's not in Debian, and we think it is the perfect candidate to be maintained within Ubuntu.
It has been recently packaged and included in Groovy's universe, as can be seen in the bug #1889134.
After getting the package into Groovy, it is now interesting to add the package to Focal's universe as well. There are Focal users interested in the package, and even though it is being provided to them through a PPA, it would be great to have it officially available through the proper channels.
[1]: https:/
[Test Case]
Since the package is not available in Focal yet, there is no official test case. It is possible, however, to build Groovy's version of the telegraf package in Focal and make sure it works and passes all tests (including the dep8 tests).
Assuming you have git-buildpackage and sbuild configured:
$ gbp clone https:/
$ cd telegraf
$ sed -i 's/debhelper-compat (= 13)/debhelper-
$ gbp buildpackage --git-builder=
...
$ autopkgtest -B -U ../telegraf_
Of course, the generated package is not suitable for uploading to Focal because we haven't adjusted its changelog.
[Regression Potential]
Virtually none. This is a new package which will be introduced to the archive, and therefore no packages depend on it. It contains a fairly extensive testsuite, which passes when building on Focal. It also contains a superficial dep8 test, which also passes on Focal.
Of course, we will have to be careful when choosing a version string for telegraf in Focal in order to prevent upgrade issues when the user chooses to upgrade to Groovy.
[Other Info]
It is important to mention a few things:
- telegraf contains vendorized libraries and code. This was needed because it uses a large number of golang packages that are not available in Groovy yet. The same situation applies to Focal, of course. As I explained in the "needs-packaging" bug:
"I am a Debian Developer myself, and would love to have it packaged for Debian, but unfortunately it is just unfeasible at this point. Telegraf, just like several other Go applications, depends very specific versions of *many* Go modules that are supposed to be downloaded while the package is being built.
The way I overcame this is by bundling these Go modules and repackaging the orig tarball in order to include everything that's needed (since we can't rely on internet connectivity while building the package). This is working without problems, and there is precedence for doing this in the archive."
- The Ubuntu Server team will be maintaing this package, and I will be the focal point of contact and responsible for keeping it well maintained in Ubuntu.
- Upstream is active and releases often.
- According to https:/
Changed in telegraf (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in telegraf (Ubuntu): | |
status: | New → Won't Fix |
tags: | added: packaging |
Changed in telegraf (Ubuntu Focal): | |
status: | Expired → New |
While preparing the package for upload to Focal, I chose the following versioning schema:
1.15.2+ ds1-0ubuntu1~ 20.04.1
The reason is because telegraf on Groovy's universe is currently at 1.15.2+ ds1-0ubuntu1. Adding "~20.04.1" to the version guarantees that when updating the package from Focal to Groovy will work.
$ dpkg --compare-versions 1.15.2+ds1-0ubuntu1 gt 1.15.2+ ds1-0ubuntu1~ 20.04.1
$ echo $?
0