infra-docs-fpo/modules/sysadmin_guide/pages/dnf-counting.adoc

136 lines
3.3 KiB
Text
Raw Normal View History

= DNF Counting
We use DNF Counting to get statistics about the number of Fedora
installations.
== Contact Information
Owner::
Fedora Infrastructure Team
Contact::
#fedora-admin, #fedora-noc
Servers::
log01, proxy0*
Purpose::
Give interested parties information about the number of Fedora
installations.
Repositories::
* https://pagure.io/mirrors-countme
* https://pagure.io/fedora-infra/ansible/blob/main/f/roles/web-data-analysis
== How it works
Scripts sync http log files from proxies, combine the log data,
summarize per Fedora version and spin, and produce graphs.
== `mirrors-countme`
The `mirrors-countme` project creates statistics from the already
combined log data.
=== Deploying Upstream Changes
Prerequisites: A change (bug fix or feature) is available in the `main`
branch of `mirrors-countme`.
. Publish an upstream release
+
From a clone of the upstream repository:
+
.. In `countme/version.py`, bump `__version__` (e.g. to `0.0.7`) and
commit the change, e.g.:
+
....
git commit -s -m "Bump version to 0.0.7" -- countme/version.py
....
.. Tag the previous change with a GPG-signed tag:
+
....
git tag -s 0.0.7
....
.. Push both the change and the tag:
+
....
git push origin main 0.0.7
....
.. Create a source tarball (this will be created as e.g.
`dist/mirrors-countme-0.0.7.tar.gz`):
+
....
python setup.py sdist
....
.. https://pagure.io/mirrors-countme/upload[Upload this tarball] to the
`mirrors-countme` releases folder
. Update and Build the `python-mirrors-countme` Fedora Package
+
From a clone of the Fedora package repository, in the `rawhide` branch:
+
.. Bump the version in `python-mirrors-countme.spec`. No other changes
are necessary, the packages uses automatic release fields and changelog.
+
.. Download the source tarball, either manually or one of:
+
....
spectool -g python-mirrors-countme.spec
....
+
....
rpmspectool get python-mirrors-countme.spec
....
.. Upload the source tarball to the lookaside cache:
+
....
fedpkg new-sources mirrors-countme-0.0.7.tar.gz
....
.. Commit the changes to the repository, e.g.:
+
....
git commit -s -m "Version 0.0.7" -- python-mirrors-countme.spec
....
.. Push the changes and build:
+
....
git push && fedpkg build
....
.. For any other active Fedora and EPEL branch, fast forward them to the
state of the `rawhide` branch, push and build, e.g.:
+
....
git checkout epel8 \
&& git merge --ff-only rawhide \
&& git push \
&& fedpkg build
....
. Submit Fedora/EPEL Package Updates
+
Either submit the update via the
https://bodhi.fedoraproject.org/updates/new[Bodhi web interface], or
from the command line in the respective checked out Fedora or EPEL
branch, e.g.:
+
....
fedpkg update --type bugfix --notes 'Put in some notes!'
....
. Tag with Infra-Tags in Koji
.. Tag the build into the respective infra candidate tag in Koji, e.g.:
+
....
koji tag-build epel8-infra-candidate
....
.. Check that the build was picked up and signed (this should take no
more than a few minutes), e.g.:
+
....
koji buildinfo python-mirrors-countme-0.0.7-1.el8
....
+
The build must be tagged with the corresponding `*-infra-stg` tag.
.. Tag the build into the respective infra production tag in Koji, e.g.:
+
....
koji tag-build epel8-infra
....
When the respective infra tag repository is updated, the new version
should be ready to be installed/updated in our infrastructure.