Aligned with Debian Bullseye version puppet-rabbitmq-8.5.0-6.
Did build puppet-rabbitmq-8.5.0 + starlingx patches(adapted from
CentOS7).
Did build an iso.
Story: 2009101
Task: 43300
Signed-off-by: Dan Voiculeasa <dan.voiculeasa@windriver.com>
Change-Id: I4f859b16e719e0a48c45e99906893362833bddaa
Following an upgrade, some pods using
hugepages will still be in Running
state, but will have a replica that stays in
OutOfhugepages state.
k8s-pod-recovery can detect those pods and
delete them.
Closes-bug: 1943113
Signed-off-by: Daniel Safta <daniel.safta@windriver.com>
Change-Id: Idba510cabd66cd8b796563e3e6efa9baa5b4401e
A lot of work has gone into making sure that StarlingX is python3
compatible. To ensure future compatibility, enable the python3
portability checks. Disable the checks that are raising errors.
Another set of commits will address the offending code.
Story: 2006796
Task: 43273
Signed-off-by: Bernardo Decco <bernardo.deccodesiqueira@windriver.com>
Change-Id: Ic4b51f71f1680b78b70e05785aca15150e7e5b2a
Debian packaging contains a control file called meta_data.yaml.
In that file the download path of the source packages is needed and
is usually long.
Change long line errors to warnings for yaml linter.
Define long line starting from 160 characters for yaml linter.
Story: 2009101
Task: 43223
Signed-off-by: Dan Voiculeasa <dan.voiculeasa@windriver.com>
Change-Id: I05999d2ce9bd52e317f951ec76688538ef5d7c9b
We use the CentOS 8 version of the source package
and apply the same six patches that we applied to
the previous version, with one caveat. Patch 3
had an additional test in it of the uncalibrated
state, and this test does not exist in the upstream
version of the patch. Now patch 3 is identical
to the upstream version.
All five upstream patches have been refreshed to
what was actually accepted upstream and thus now
contain proper git headers. The logic of those
five patches remain as they were, with the one
exception noted in the previous paragraph.
Patch 6 has also now been given a proper git header.
Change-Id: Ifd44680d2f190dc0c5662bd05bd214fccf50a2fd
Story: 2009130
Task: 43199
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
The block number is a 16-bit counter which only allows to fetch
files no bigger than 65535 * blksize. To avoid this limit, the
counter is rolled over. This behavior isn't defined in RFC 1350
but is handled by many TFTP servers and it's what GRUB was doing
before implicitly due an overflow.
Closes-Bug: #1938559
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
Change-Id: I4a0c04cf15b87f6f40c7a979d20fb3c57657cefd
Multiple versions of kubernetes are required to support upgrade.
This adds staged versions of kubernetes 1.18.1 and 1.19.13, each are
built with a specific version of golang.
All subpackage versions are included in the iso image without collisions.
The following patches are included upstream in kubernetes 1.19 and are no
longer required:
Patch1: 0001-Fix-pagesize-check-to-allow-for-options-already-endi.patch
Patch3: fix_http2_erringroundtripper_handling.patch
Patch8: Fix-exclusive-CPU-allocations-being-deleted-at-conta.patch
The following patches are ported to specific kubernetes version:
kubelet-cpumanager-disable-CFS-quota-throttling-for-.patch
kubelet-cpumanager-keep-normal-containers-off-reserv.patch
kubelet-cpumanager-infrastructure-pods-use-system-re.patch
kubelet-cpumanager-introduce-concept-of-isolated-CPU.patch
kubeadm-create-platform-pods-with-zero-CPU-resources.patch
enable-support-for-kubernetes-to-ignore-isolcpus.patch
Depends-On: https://review.opendev.org/c/starlingx/ansible-playbooks/+/806912
Story: 2008972
Task: 43055
Signed-off-by: Jim Gauld <james.gauld@windriver.com>
Change-Id: I90871451c361e4d855098adbf0c9f4f0fddcc461
Patch the python2-kubernetes-8.0.0-8.el7.noarch.rpm with recent
bug fix commits required for proper kubernetes watch functionality.
Patches watch.py up to commit 10ae476 in the 'base' repo
(kubernetes-client/python-base).
Commits are taken from the cloned github repo, saved in patch format,
and applied as a patch to the source RPM.
Reference:
https://github.com/kubernetes-client/python-base/commits/master/watch/watch.py
This patch includes commits beginning with d56fdbc, up to and including 10ae476
Testing:
- Built and testing on local distributed cloud system
- Similar testing to this patch but ased on locally modified package
has been done on 1000 subcloud system
- Examine/compare contents of installed package vs. expected
- Generating events which trigger the watch conditions
- Monitor watches for proper behaviour on expiry
Story: 2008960
Task: 43053
Signed-off-by: Kyle MacLeod <kyle.macleod@windriver.com>
Change-Id: I7ad78957b6ef61e7204c45f482f201d5c281385b
Disable the building of a debug package for isolcpus-device-plugin. It
causes grief with regards to centos8. As seen below:
RPM build errors:
error: Empty %files file /builddir/build/BUILD/isolcpus-device-plugin-1.0/debugsourcefiles.list
line 23: second Summary
Empty %files file /builddir/build/BUILD/isolcpus-device-plugin-1.0/debugsourcefiles.list
Child return code was: 1
Story: 2006796
Task: 42945
Signed-off-by: Charles Short <charles.short@windriver.com>
Change-Id: Ia239704de1b08909f2ef84d4aadd1fe240bf1e75
Instead of using the distribution of UL/DL queues between 2 VFs like in
the original fpga_5gnr/fpga_5gnr_config_vf.cfg file, all of them are
set for usage by the first VF, only.
Task: 43044
Story: 2009036
Signed-off-by: Douglas Henrique Koerich <douglashenrique.koerich@windriver.com>
Change-Id: Ie7524eea807e7a49a304475e3451f717954c3ea5
This packages kubernetes in versioned subdirectories to be able to
support upgrading multiple versions of kubernetes without collisions.
Common configuration/environment files are moved to the new
kubernetes-unversioned package.
This creates directories:
/usr/local/kubernetes/<version>/stage1
/usr/local/kubernetes/<version>/stage2
The binaries and configuration or kubernetes-node, kubernetes-kubeadm,
and kube-client are placed in new locations, e.g.,
/usr/local/kubernetes/1.18/stage1/usr/bin/kubeadm
/usr/local/kubernetes/1.18/stage2/usr/bin/{kubelet,kubectl}
A new package kubernetes-unversioned contains directories:
/usr/local/kubernetes/current/stage1
/usr/local/kubernetes/current/stage2
This package contains symlinks of all the expected binaries and
configuration needed to run kubernetes. For example, /usr/bin/kubelet
is a symlink to /usr/local/kubernetes/current/stage2/user/bin/kubelet.
At ansible install time and during subsequent boots, there is code in
place to bind-mount /usr/local/kubernetes/<version>/stageX onto
/usr/local/kubernetes/current/stageX .
This removes redundant doc and man pages from the production rpms.
Story: 2008972
Task: 43002
Depends-On: https://review.opendev.org/c/starlingx/ansible-playbooks/+/802898
Signed-off-by: Jim Gauld <james.gauld@windriver.com>
Change-Id: I74dc867faea6759906a687cef0b0ebf9555829ee
- Update popen to use universal_newlines=True to enable newlines
for calls that we parse or consume output for. Without universal_newlines=True,
the output is treated as bytes under python3
which leads to issues later where we are using it as
strings.
- The division operator in Python 3 results in a float, not an integer
like in Python 2. Use the truncation division operator instead.
- Use python builtins since the behavior of round has changed between
python2 and python3.
(https://docs.python.org/3/whatsnew/3.0.html#builtins)
Story: 2006796
Task: 42695
Signed-off-by: Charles Short <charles.short@windriver.com>
Change-Id: I9c9a4fdfd8a65cf6a3034a2c80c3a620ab138d22
(cherry picked from commit 9ced50cf38)
Most packages will compile using the new default golang version (1.16.6).
For some packages it is a transparent change, but those reliant on
the old GOPATH method require the addition of ...
go env -w GO111MODULE=auto
... to their build instruction to restore GOPATH compatibility.
For Kubernetes version 1.18.1, I explicitly set to compile using
golang version 1.13.9 as this is the version recommended by Kubernetes.
Story: 2008972
Task: 42655
Depends-On: https://review.opendev.org/c/starlingx/compile/+/804123
Signed-off-by: Scott Little <scott.little@windriver.com>
Change-Id: I0d813cd245cb46932bf2096b641c4972f8a49efc
This commit upgrades the containernetwork plugins to version 0.9.1
As there is no existing upstream package for this version for
StarlingX, it is being built based on the downloaded source and
centos7 spec file.
Note: previous commit 303ed35 was reverted because of an issue
with the centos_tarball-dl.lst and the autosetup command of the
spec file. The second parameter of the centos_tarball-dl.lst
specifies the top level directory name of the package. If the
dl_tarball script detects that this TLD differs from that of
the downloaded tarball, the TLD is changed to that of the
2nd parameter. In this case, the TLD of the downloaded package
was 'plugins-0.9.1', while the centos_tarball-dl.lst had
specified 'containernetworking-plugins-v0.9.1'. The two options
to fix this incompatibility are to either change the TLD in the
centos_tarball-dl.lst to match the downloaded version, or to
modify the .spec file to run the autosetup command against the
re-named TLD. This commit chooses the 2nd option, which allows
for the package to built against any mirror dl that already has
the containernetworking-plugins download present in it.
Plugins tested:
bridge
vlan
host-device
dhcp
host-local
static
tuning
portmap
bandwidth
Story: 2008972
Task: 42977
Signed-off-by: Steven Webster <steven.webster@windriver.com>
Change-Id: Ice12cbeacaeadc8beaa22152ca2a6104d31eec8b
This reverts commit 303ed359c7.
Reason for revert: The v0.9.1 tarball referenced in the centos_tarball-dl.lst is extracting to 'plugins-0.9.1' rather than the previous 'containernetworking-plugins-0.9.1'. This seems to have happened in the last couple of days and will need to be investigated.
Change-Id: I9116cfa133d8e582740c7a9dbee873f3be939b13
Upstream's Docker file uses the latest clearlinux/golang image, and
also updates all packages while building. As of this writing latest
packages in clearlinux are broken and make the docker image unusable
after the upgrade.
This fix uses a specific version of clearlinux (34900) known to work.
Change-Id: Ied58e50972cd38489fc1d341f74642dfc87712fa
Closes-Bug: 1939448
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
This commit upgrades the containernetwork plugins to version 0.9.1
As there is no existing upstream package for this version for
StarlingX, it is being built based on the downloaded source and
centos7 spec file.
Plugins tested:
bridge
vlan
host-device
dhcp
host-local
static
tuning
portmap
bandwidth
Story: 2008972
Task: 42977
Signed-off-by: Steven Webster <steven.webster@windriver.com>
Change-Id: Ia29df16aacec35dbda79a2f10a44eab90192dd6f
Current implementation of pf-bb-config utility (tag 21.6) does not check
the result of configure_device() function. Thus, if pf-bb-config is
running in a script or automated procedure (like when applying a puppet
manifest), any configuration failure cannot be detected unless the
output is parsed.
This change patches the source code of pf-bb-config in the same way that
was proposed by the PR: https://github.com/intel/pf-bb-config/pull/3. If
that change is merged, then in the future when pf-bb-config is upgraded
the patch can be removed.
Task: 42877
Story: 2009036
Signed-off-by: Douglas Henrique Koerich <douglashenrique.koerich@windriver.com>
Change-Id: Ic0ec0c7b9088a573cadf468839be1c4445d7abb2
- socket requires bytes and we need to explicitly convert str to bytes.
- check_output() returns bytes, while python2 returns str, passing
universal_newlines=True it will return str no matter what python
version is used.
Story: 2006796
Task: 42297
Signed-off-by: Charles Short <charles.short@windriver.com>
Change-Id: Ie3921c4ae6211a8b0d290bdbdb195ce07036afbc
(cherry picked from commit 26c16b3eb8)
Prior to this commit, the Ansible bootstrap procedure on StarlingX would
fail with drbd-related errors when a v5.10-based kernel was in use. The
error reported by the kernel was "invalid argument".
Upon further debugging, it was discovered that generic-netlink (genl)
messages generated by drbdsetup would be rejected by the v5.10 kernel.
After looking at the git history of the drbd-utils repository, the
following two commits were found:
$ git log -2 --pretty=ref 859151b228d3b3aacefb09d06d515a2589c22e35
859151b228d3 (netlink: Add NLA_F_NESTED flag to nested attribute, 2019-07-12)
92ade5989027 (netlink: prepare for kernel v5.2, 2019-07-12)
This issue appears to be caused by kernel versions >= 5.2 being more
strict with the validation of nested netlink attributes. The patches
required very minor context adjustments and enable the Ansible bootstrap
procedure to succeed.
Story: 2008921
Task: 42787
Change-Id: I573d0caafc741c7668be8ee8e494fde826437a98
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
This is an excerpt from docker-py 4.4.4 needed to check if a given image
exists in an authenticated registry.
Test scenario:
- Generated a new build with this change
- Installed the platform without errors
- Installed stx-openstack without errors
- Changed the docker-registry url and called a sm-restart for
sysinv-conductor to force the upgrade-static-images.yml to run
- Log: http://paste.openstack.org/show/807236/
Partial-Bug: #1934397
Signed-off-by: Thiago Brito <thiago.brito@windriver.com>
Change-Id: I35325ea579c53abbfaa96ed8de5417d32aba0578
During a DOR (Dead Office Recovery) procedure, the worker nodes are
taking longer than expected to become online, if the cluster network
is IPv6. This is related to an extra reboot occurring during the
bring-up process. Today only one DHCPv6 attempt is done, and, as the
controllers are still booting up, no response is available.
Eventually, this lack of a management IPv6 address will lead to an
extra reboot.
The correction is to make the DHCPv6 client continuously attempt to
get a management IP address from the server. If the management
network is IPv4, the DHCPv6 client is not called and will not
trigger continuous DHCPv6 requests.
Closes-bug: 1934676
Signed-off-by: Andre Fernando Zanella Kantek <AndreFernandoZanella.Kantek@windriver.com>
Change-Id: Ife5b06c5294e0014918073e9f6ee8bd372b85a78
In the context of starting usage of pf-bb-config tool to configure the
N3000 (Intel FPGA) FEC device, it is necessary to include in the utility
package the corresponding file with the parameters set into the device.
For now, it is only fpga_5gnr/fpga_5gnr_config_vf.cfg from pf-bb-config
GitHub site (https://github.com/intel/pf-bb-config/tree/v21.6) that is
being taken for N3000 configuration, and used as is.
Task: 42784
Story: 2009036
Signed-off-by: Douglas Henrique Koerich <douglashenrique.koerich@windriver.com>
Change-Id: I219ddcf639f0ac80644b6f25cd50b883752c012e
This updates containerd from 1.3.3 to 1.4.6,
runc from 1.0.0-rc10 to 1.0.0-rc95 and crictl from 1.18 to 1.21
to align with what was used upstream for Kubernetes 1.21 testing.
We could also remove the "no_btrfs" build flag by adding the
btrfs-progs-devel RPM to the CentOS mirror. But we don't use btrfs
anyway, so this way we make the package a bit smaller.
Story: 2008972
Task: 42640
Change-Id: I3dc5465a80209eab34224e9e6e2d5aee49a8266e
Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
Signed-off-by: Mihnea Saracin <Mihnea.Saracin@windriver.com>
After some reports of Mt.Bryce hang with the current version (21.3) of
pf-bb-config and from Intel's feedback this utility is being upgraded
to latest version tagged as 21.6.
Also, another configuration file is taken from the official repo at
GitHub, which is supposed to fit better with the new version and the
current device usage requirements.
Partial-Bug: #1933372
Signed-off-by: Douglas Henrique Koerich <douglashenrique.koerich@windriver.com>
Change-Id: If175cc5b33b59fa2095d1b466dcbc8b724287817