Bug 2216062 - Add tc package to overcloud images
Summary: Add tc package to overcloud images
Keywords:
Status: MODIFIED
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-puppet-elements
Version: 16.2 (Train)
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: z2
: 17.1
Assignee: Takashi Kajinami
QA Contact: Nobody
URL:
Whiteboard:
Depends On:
Blocks: 2230214
TreeView+ depends on / blocked
 
Reported: 2023-06-20 00:13 UTC by ldenny
Modified: 2023-08-16 06:11 UTC (History)
6 users (show)

Fixed In Version: tripleo-ansible-3.3.1-17.1.20230810142236.effbc05.el9osttrunk openstack-tripleo-puppet-elements-14.1.3-17.1.20230810141019.b4e0cbd.el9osttrunk
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 2230214 (view as bug list)
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 887124 0 None MERGED Add tc command to overcloud images 2023-08-09 01:52:32 UTC
OpenStack gerrit 887125 0 None MERGED Add tc command 2023-08-09 01:52:35 UTC
Red Hat Issue Tracker OSP-25896 0 None None None 2023-06-20 00:16:49 UTC

Description ldenny 2023-06-20 00:13:55 UTC
Description of problem:
Hi Team, 

Just wanted to open a bug to discuss adding the tc command to the overcloud base image.

We had an interesting high level evaluation that came down to packets dropping in qdisc drop counter and you need tc to check that.

It's collected by sos but with the package not installed we just get `command not found` as you can imagine.

I'm not sure where to open this bug so please redirect if this is the incorrect component!

Cheers!

Version-Release number of selected component (if applicable):
16.*
17.*
18.*

Comment 1 ldenny 2023-06-20 00:42:38 UTC
I can't say for sure how often we would use this command but I see it as being along the same lines as `ethtool`, `ip` etc.

The command has a few uses but the one I'm referencing is checking the qdisc statistics like `tc -s qdisc show dev eth1`

Some more details here (Internal Red Hat comment): https://bugzilla.redhat.com/show_bug.cgi?id=2209774#c30

Some details on the package:

[root@compute-0 heat-admin]# dnf info iproute-tc
Updating Subscription Management repositories.
Last metadata expiration check: 0:01:49 ago on Tue 20 Jun 2023 00:37:01 UTC.
Available Packages
Name         : iproute-tc
Version      : 5.18.0
Release      : 1.el8
Architecture : x86_64
Size         : 466 k
Source       : iproute-5.18.0-1.el8.src.rpm
Repository   : rhel-8-for-x86_64-baseos-rpms
Summary      : Linux Traffic Control utility
URL          : https://kernel.org/pub/linux/utils/net/iproute2/
License      : GPLv2+
Description  : The Traffic Control utility manages queueing disciplines, their classes and
             : attached filters and actions. It is the standard tool to configure QoS in
             : Linux.

Comment 3 Ihar Hrachyshka 2023-06-26 15:47:51 UTC
Here is the package that provides the tool.

Available Packages
Name         : iproute-tc
Version      : 5.18.0
Release      : 1.el8
Architecture : x86_64
Size         : 466 k
Source       : iproute-5.18.0-1.el8.src.rpm
Repository   : rhel-8-for-x86_64-baseos-rpms
Summary      : Linux Traffic Control utility
URL          : https://kernel.org/pub/linux/utils/net/iproute2/
License      : GPLv2+
Description  : The Traffic Control utility manages queueing disciplines, their classes and
             : attached filters and actions. It is the standard tool to configure QoS in
             : Linux.

The dependencies are very lean:

[ihrachys@hardprov-fx2-6 ~]$ rpm -qR iproute-tc
iproute(x86-64) = 5.15.0-4.el8_6.1
libbpf.so.0()(64bit)
libbpf.so.0(LIBBPF_0.0.1)(64bit)
libbpf.so.0(LIBBPF_0.0.6)(64bit)
libbpf.so.0(LIBBPF_0.1.0)(64bit)
libbpf.so.0(LIBBPF_0.2.0)(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.28)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libc.so.6(GLIBC_2.8)(64bit)
libcap.so.2()(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libelf.so.1()(64bit)
libelf.so.1(ELFUTILS_1.0)(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libmnl.so.0()(64bit)
libmnl.so.0(LIBMNL_1.0)(64bit)
libselinux.so.1()(64bit)
libxtables.so.12()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
rtld(GNU_HASH)

Comment 4 Ihar Hrachyshka 2023-06-26 15:50:06 UTC
We discussed the matter today during Networking Bug Triage call, and we believe that while this may not help in the majority cases, it will help with the tiny number of very peculiar low-level issues for which we may especially benefit from tc logs collected. And yes, we would like to see this on all supported releases, incl. 16.x. Thanks.

Comment 5 Takashi Kajinami 2023-06-28 02:09:54 UTC
Based on the endorsement from networking side, I'll work on adding the package.
I'll cover 17.1 and 16.2 while I won't cover 17.0 and 16.1, because this is not a critical functional problem.


Note You need to log in before you can comment on or make changes to this bug.