integ/centos_iso_image.inc

224 lines
2.5 KiB
PHP
Raw Normal View History

# List of packages to be included/installed in ISO
# If these have dependencies, they will be pulled in automatically
#
# qemu-kvm-ev
qemu-kvm-ev
qemu-img-ev
qemu-kvm-tools-ev
# libvirt
libvirt
libvirt-docs
libvirt-daemon
libvirt-daemon-config-network
libvirt-daemon-config-nwfilter
libvirt-daemon-driver-network
libvirt-daemon-driver-nwfilter
libvirt-daemon-driver-nodedev
libvirt-daemon-driver-secret
libvirt-daemon-driver-storage
libvirt-daemon-driver-qemu
libvirt-daemon-driver-lxc
libvirt-client
# lldpd
lldpd
# tss2
tss2
# libtpms
libtpms
# python-3parclient
python-3parclient
# python-lefthandclient
python-lefthandclient
# docker-distribution
docker-distribution
# helm
helm
# armada
armada
# rpm
rpm-plugin-systemd-inhibit
# dpkg
dpkg
# ldapscripts
ldapscripts
# drbd
drbd
drbd-utils
drbd-udev
drbd-pacemaker
drbd-heartbeat
drbd-bash-completion
# initscripts
initscripts
# setup
setup
# nss-pam-ldapd
nss-pam-ldapd
# nfs-utils series package
# dhcp
dhcp
dhclient
# openssh
openssh
openssh-clients
openssh-server
# facter
facter
# vim
vim-enhanced
# python
python
# libvirt-python
python2-libvirt
# lighttpd
lighttpd
lighttpd-fastcgi
lighttpd-mod_geoip
lighttpd-mod_mysql_vhost
Add collection of linuxptp patches This commit applies several patches to the linuxptp srpm in order to address an issue syncing multiple interfaces on a ptp node. The srpm used is linuxptp-2.0-2.el7.src.rpm. Patch descriptions: base/linuxptp/centos/meta_patches: 0001 updates the srpm spec file to apply the patches during build 0002 updates the package versioning to comply with the STX format base/linuxptp/centos/patches: Patches 0001-0005 combine to correct a fault present when a ptp node is configured with multiple clocks in jbod mode which results in the client port getting stuck in the UNCALIBRATED state and unable to lock to the Grandmaster clock. The root of the issue lies in the sanity check where checking timestamps recieved on multiple ports will result in the sanity_freq_limit threshold constantly being reached and the servo for that port is repeatedly reset, preventing it from ever syncing. The changes in patches 0001-0005 have been written by Miroslav Lichvar on the linuxptp-devel mailing list. They are currently under review and testing by the upstream linuxptp maintainers prior to merging. I was able to apply them as-is to linuxptp v2.0. I have chosen to keep them as individual patches, as that is how they will appear upstream. Patch 0006 is my work and serves to address an issue in phc2sys where the local ptp clocks are not synced together properly if the local time is far behind the reference time. This issue ocurrs when phc2sys starts and there is no client port currently synced to a grandmaster. In the original behaviour, phc2sys selects the first configured port and proceeds to sync all of the other clocks to it by performing the first_step operation. Then ptp4l will evenually lock to the Grandmaster clock, and that single port will have its time updated to the correct value, but phc2sys has already performed the first_step operation and will not step the other clocks again. My solution is to provide an option to disable the selection of a default port by phc2sys. When no default port is selected, phc2sys waits for ptp4l to sync to the Grandmaster before bringing the other clocks into sync with the first_step operation. This option is configured via the default_sync parameter or the -D flag. The default_sync parameter is set to on by default to in order to keep the behaviour the same as upstream linuxptp but can be configured by users via system service-parameter-add ptp global default_sync=0 Closes-Bug: 1930607 Signed-off-by: Cole Walker <cole.walker@windriver.com> Change-Id: I2f660787c6753dcd4fc4c51da7b08ab9e6f197f4
2021-06-24 14:49:51 -04:00
# linuxptp
linuxptp
# logrotate
logrotate
# novnc
novnc
# sudo
sudo
# config files
# openldap
openldap
openldap-servers
openldap-clients
# openvswitch
openvswitch
# libevent
libevent
# tpm2-tools
tpm2-tools
# audit
# puppet
puppet
# systemd
systemd
# tboot
tboot
# memcached
memcached
# kubernetes
kubernetes-unversioned
kubernetes-1.21.8-node
kubernetes-1.21.8-kubeadm
kubernetes-1.21.8-client
kubernetes-1.22.5-node
kubernetes-1.22.5-kubeadm
kubernetes-1.22.5-client
kubernetes-1.23.1-node
kubernetes-1.23.1-kubeadm
kubernetes-1.23.1-client
containerd
k8s-pod-recovery
Implement CNI cache file cleanup for stale files It has been observed in systems running for months -> years that the CNI cache files (representing attributes of network attachment definitions of pods) can accumulate in large numbers in the /var/lib/cni/results/ and /var/lib/cni/multus/ directories. The cache files in /var/lib/cni/results/ have a naming signature of: <type>-<pod id>-<interface name> While the cache files in /var/lib/cni/multus have a naming signature of: <pod id> Normally these files are cleaned up automatically (I believe this is the responsibility of containerd). It has been seen that this happens reliably when one manually deletes a pod. The issue has been reproduced in the case of a host being manually rebooted. In this case, the pods are re-created when the host comes back up, but with a different pod-id than was used before In this case, _most_ of the time the cache files from the previous instantiation of the pod are deleted, but occasionally a few are missed by the internal garbage collection mechanism. Once a cache file from the previous instantiation of a pod escapes garbage collection, it seems to be left as a stale file for all subsequent reboots. Over time, this can cause these stale files to accumulate and take up disk space unnecessarily. The script will be called once by the k8s-pod-recovery service on system startup, and then periodically via a cron job installed by puppet. The cleanup mechanism analyzes the cache files by name and compares them with the id(s) of the currently running pods. Any stale files detected are deleted. Test Plan: PASS: Verify existing pods do not have their cache files removed PASS: Verify files younger than the specified 'olderthan' time are not removed PASS: Verify stale cache files for pods that do not exist anymore are removed. PASS: Verify the script does not run if kubelet is not up yet. Failure Path: PASS: Verify files not matching the naming signature (pod id embedded in file name) are not processed Regression: PASS: Verify system install PASS: Verify feature logging Partial-Bug: 1947386 Signed-off-by: Steven Webster <steven.webster@windriver.com> Change-Id: I0ce06646001e52d1cc6d204b924f41d049264b4c
2021-10-15 10:00:20 -04:00
k8s-cni-cache-cleanup
containernetworking-plugins
bond-cni
# resource-agents
resource-agents
# isolcpus device plugin for K8s
isolcpus-device-plugin
# kubectl-cert-manager
kubectl-cert-manager
# haproxy
haproxy
# iptables
# python-psycopg2
python-psycopg2
# dnsmasq
dnsmasq
dnsmasq-utils
# parted
parted
# python-keyring
python-keyring
# grub2
grub2-tools
grub2-efi-x64-modules
# python2-ruamel-yaml
python2-ruamel-yaml
# redfish tool
Redfishtool
# kvm-timer-advance (AIO and worker nodes only)
kvm-timer-advance
# aws packages for interacting with amazon aws registry
# botocore is an unspecified requirement of boto3
python2-botocore
python-boto3
# Pf bbdev configuration tool for ACC100 (Mt. Bryce)
pf-bb-config
Update kexec-tools/makedumpfile to support v5.10 kernel This patch updates kexec-tools from 2.0.15 to 2.0.21 (and its supporting software package makedumpfile from 1.6.2 to 1.6.9) for compatibility with the newer v5.10 kernel. This commit clones the kexec-tools package's supporting files from commit 26a7a543427eac59ed39728466f3d95d320f735a in the CentOS RPM packaging git repository. Links for reference: - https://git.centos.org/rpms/kexec-tools/c/26a7a543427eac59ed39728466f3d95d320f735a?branch=c7 - https://git.centos.org/rpms/kexec-tools/tree/26a7a543427eac59ed39728466f3d95d320f735a Please note that this patch causes the build system to pull in and extract an SRPM file to acquire: kdump-anaconda-addon-003-29-g4c517c5.tar.gz This is done for security, because the only public reference to commit 4c517c5 is on a Red Hat developer's personal Github account: https://github.com/ryncsn/kdump-anaconda-addon/commits/rhel-7 kexec-tools package's supporting files cloned by this commit trigger a large number of shell script linting errors. Given that the shell scripts in question are inherited from upstream (i.e., CentOS 7), the "files" directory of this package is excluded from automated linting via the changes in tox.ini. Verification: A kexec-tools RPM package built with this commit was installed onto an existing StarlingX system. A vmcore file was succesfully collected from a kernel crash triggered with /proc/sysrq-trigger. A recent version of the crash utility was found to succesfully parse the collected vmcore file. Credits: Thanks to Jiping Ma for helping with cleaning up and publishing an earlier version of this patch. Story: 2008921 Task: 43040 Depends-On: https://review.opendev.org/c/starlingx/tools/+/805127 Signed-off-by: Jiping Ma <jiping.ma2@windriver.com> Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com> Change-Id: Idc4e523610e4c09259300c8b67ea5e0fbe59c611
2021-10-18 11:29:50 -04:00
# kexec-tools
kexec-tools
Add iproute-tc to the ISO image iproute was updated from 4.11 to 5.12 with commit a7760b40a266 ("iproute: Update from 4.11.0-14 to 5.9.0-4") and commit 36673774ee3c ("iproute-5.12, iptables-1.8.4, and libnftnl-1.1.5"). In CentOS 7, the iproute-4.11 RPM package included the 'tc' utility, but with CentOS 8, tc was moved to a separate RPM package, "iproute-tc". The original version of the second aforementioned commit added the iproute-tc RPM package in the ISO, but iproute-tc was later removed from the ISO during the code review, as it was not known at the time that tc had been split into a separate package (iproute-tc) between CentOS 7's iproute 4.11 and CentOS 8's 5.9/5.12, and that tc used to be included in the StarlingX ISO before the iproute updates. This commit explicitly adds the iproute-tc package into the ISO image to make tc available in StarlingX installations again. To prevent another similar issue, the iproute spec file was scanned for %package declarations to see if any other new sub-packages had been introduced since CentOS 7, and only the iproute-tc package was seen. Verification: - ISO build was successful. - Resulting bootimage.iso file was confirmed to contain the iproute-tc RPM package via "iso-info -f -i bootimage.iso | grep iproute-tc". - Note that run-time testing of the tc utility had been carried out in the past for eBPF testing by manually installing the iproute-tc RPM package to a running StarlingX installation. Closes-Bug: #1951989 Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com> Change-Id: I8422f0aa872101e85502f1f3f0d3dc62ec19b8bb
2021-11-23 11:02:49 -05:00
iproute-tc