[SRU] Add telegraf to focal's universe repository

Bug #1897631 reported by Sergio Durigan Junior
10
This bug affects 1 person
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-alertmanager and grafana are the other components of this solution.

Prometheus and prometheus-alertmanager are already packaged and maintained in Debian, as part of the Debian Go Team effort. This means that they are also present in Ubuntu; both are part of the Focal distribution.

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://github.com/influxdata/telegraf

[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://git.launchpad.net/~ubuntu-server/ubuntu/+source/telegraf
$ cd telegraf
$ sed -i 's/debhelper-compat (= 13)/debhelper-compat (= 12)/' debian/control
$ gbp buildpackage --git-builder='sbuild -d focal'
...
$ autopkgtest -B -U ../telegraf_1.15.2+ds1-0ubuntu1_amd64.changes

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://wiki.ubuntu.com/StableReleaseUpdates#Other_safe_cases, I believe this SRU fits the "safe case" scenario, because it is about introducing a new package whose testsuite passes 100% and which offers a high potential for improving user experience in Ubuntu.

Tags: packaging
Changed in telegraf (Ubuntu Focal):
importance: Undecided → Medium
Changed in telegraf (Ubuntu):
status: New → Won't Fix
tags: added: packaging
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

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

Revision history for this message
Steve Langasek (vorlon) wrote :

We normally only add new packages to stable releases when required for hardware enablement. Why should telegram not be packaged as a snap instead of a .deb for focal users?

Changed in telegraf (Ubuntu Focal):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for telegraf (Ubuntu Focal) because there has been no activity for 60 days.]

Changed in telegraf (Ubuntu Focal):
status: Incomplete → Expired
Changed in telegraf (Ubuntu Focal):
status: Expired → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.