Commit Graph

112 Commits

Author SHA1 Message Date
Sachin Gopala Krishna 126b37dfe8 remove support for versions of K8s lower than 1.24
Remove support for k8s versions 1.23 and lower since they are not
supported. This change removes k8s versions 1.21.8,
1.22.5, 1.23.1 from the build

Test Plan:
Pass: Tested by successfully creating and installing ISO on AIO-SX.
Pass: Verify /usr/local/kubernetes/ doesn't contain k8s versions
1.21.8, 1.22.5 and 1.23.1.
Pass: Perform platform upgrade, then k8s upgrade to v1.26.1.

Story: 2010368
Task: 48240

Depends-On: https://review.opendev.org/c/starlingx/config/+/886188

Change-Id: If3b9934937c542074ebbcb23d49a5fd4c7e69898
Signed-off-by: Sachin Gopala Krishna <saching.krishna@windriver.com>
Signed-off-by: Boovan Rajendran <boovan.rajendran@windriver.com>
2023-12-15 03:19:39 +00:00
Scott Little 2d3951f713 Config file changes to remove 'virt/qemu virt/libvirt '
Qemu and libvirt have been relocated to 'cgcs-root/stx/virt'

Required all reviews in the topic:
   https://review.opendev.org/q/topic:virt-repo

Testing:
build-pkgs -c -a: pass
build-pkgs -p libvirt,qemu: pass

Story: 2010317
Task: 47780
Signed-off-by: Scott Little <scott.little@windriver.com>
Change-Id: If81d59698b97e27a8013b2a0b93e2fadc0186205
2023-04-12 15:21:49 -04:00
Rafael Cardoso Pereira 5385bad154 Removing unused package python-ryu
After performing an analysis of the system it was recognized
that the following package: python-ryu; is not being used anymore
by the system. In order to clean it up, it was decided to
remove the package.

Test Plan:
PASS - All pkgs built successfully after removal of python-ryu
PASS - Successfully generated an openstack tarball
PASS - Stx-Openstack tarball successfully applied
PASS - Built CentOS ISO with the change and applied it to a lab

Closes-bug: #1985091

Signed-off-by: Rafael Cardoso Pereira <rafael.cardosopereira@windriver.com>
Change-Id: I399896a24204d618a535e874716eadf8889eec8d
2022-08-12 17:53:49 +00:00
Jerry Sun d2acaea1ef Add Kubectl Cert Manager
This commit adds the kubernetes plugin kubectl cert manager to the iso.
This is used to convert old v1alpha2 and v1alpha3 cert manager
resources to v1 during a system upgrade. The plugin is not required
for debian because there are no old cert manager resources to convert.

Test Cases:

PASS: Convert our default DC certificates and issuers using
      kubectl cert manager

Change-Id: I59f1b0e4d5d6ece1ccef43fee1acacd7b7e44efd
Story: 2009837
Task: 45372
Signed-off-by: Jerry Sun <jerry.sun@windriver.com>
2022-05-16 11:56:14 -04:00
Gleb Aronsky 79db1f3eed Add Kubernetes 1.23.1 pkg
Changes for adding Kubernetes 1.23.1 in
StarlingX, including build environment updates.

The package builds successfully.
Built and installed an iso with K8s 1.23.1 on
AIO-SX.

Depends-On: https://review.opendev.org/c/starlingx/compile/+/825651
Story: 2009830
Task: 44424

Change-Id: I3e2b793d7b88057fc597b2445bddd137bb2b4fcf
Signed-off-by: Gleb Aronsky <gleb.aronsky@windriver.com>
2022-03-11 12:29:41 -05:00
Daniel Safta c66d407614 Remove kubernetes 1.18, 1.19, 1.20 pkgs
The new minimum supported k8s version
will be 1.21. This commit cleans the pkg
files needed to build the old k8s versions.

The pkgs build successfully. Deployed on
AIO-SX and AIO-DX, the k8s services were running ok.

Story: 2009859
Task: 44498
Change-Id: Ib39e9d1522a49c5788240781c8edee2bdffbc97a
Signed-off-by: Daniel Safta <daniel.safta@windriver.com>
2022-02-23 15:24:03 +00:00
Steven Webster d900a5b646 Add bond-cni container network plugin
This commit adds the bonding CNI plugin to StarlingX.

The bonding CNI plugin allows a container to bond multiple
interfaces together to be used in a fail-over or load
balancing configuration.

https://github.com/k8snetworkplumbingwg/bond-cni

Note that this plugin (for now) resides outside of the
main containernetwork project, and is still part of the
k8s network plumbing working group project.  As such,
it is required to build this plugin separately.

v1.0 of the bond-cni was released in 2018.  Since then,
14 commits containing such things as doc clean-ups and
bug fixes have been committed.  We pick up these additional
fixes by clamping down on the latest commit SHA.

Testing:

- Configure bond interface name (ifName)
- Configure miimon value (miimon)
- Configure and verify traffic path for modes (mode):
  - balance-rr (0)
  - active-backup (1)
  - balance-xor (2)
  - broadcast (3)
  - 802.3ad (4)
  - balance-tlb (5)
  - balance-alb (6)
- Configure and verify behaviour for fail-over-mac
  modes (failOverMac):
  - none (0)
  - active (1)
  - follow (2)
- Configure linksInContainer:
  - take lower interfaces existing on host
  - take lower interfaces existing on container
- Links tested:
  - virtual interfaces
  - SR-IOV VF interfaces

Story: 2009800
Task: 44344

Change-Id: I7bffaa272ffe9eba85c3aa0a26b9c4f61428b640
Signed-off-by: Steven Webster <steven.webster@windriver.com>
2022-02-01 09:46:17 -05:00
Daniel Safta a046a7a650 Add kubernetes 1.22.5 pkg
Here are the changes needed for adding k8s v1.22.5
in StarlingX alongside with the changes needed
for the build environment to find and build the package.

The package builds successfully.
Deployed an iso with k8s 1.22.5 on
AIO-SX and AIO-DX. The deployment phase
works and the pods are up and running after
the upgrade completes.

Story: 2009789
Task: 44305
Signed-off-by: Daniel Safta <daniel.safta@windriver.com>
Change-Id: Ibb9be075fa0b1491b9ab1854ebb1fddf4df53461
2022-01-28 11:56:47 +02:00
Chris Friesen df3b902e6b Replace K8s 1.21.3 with 1.21.8
In testing K8s 1.21.8 used less CPU than 1.21.3, so we are moving to
the newer version.

This has been booted in vbox and a basic pod has been started.
A full regression will be performed.

Depends-On: https://review.opendev.org/c/starlingx/compile/+/824802

Partial-Bug: 1957994
Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
Change-Id: I64e4a64c90ef7591aeee52742dfcba9fdd8e5063
2022-01-14 16:57:25 -05:00
M. Vefa Bicakci 2421d5a3aa Add iproute-tc to the ISO image
iproute was updated from 4.11 to 5.12 with commit a7760b40a2
("iproute: Update from 4.11.0-14 to 5.9.0-4") and commit 36673774ee
("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 14:44:00 -05:00
Zuul 4bc0c7dd3d Merge "Implement CNI cache file cleanup for stale files" 2021-11-04 17:22:43 +00:00
Steven Webster 5d1a26b89d 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-11-01 10:39:39 -04:00
M. Vefa Bicakci 7e10236038 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:

- 26a7a54342?branch=c7
- 26a7a54342

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-19 14:29:42 -04:00
Jim Gauld 872dd513fc Add staged kubernetes version 1.21.3
Multiple versions of kubernetes are required to support upgrade.

This adds staged version of kubernetes 1.21.3, built with a
specific version of golang.

All subpackage versions are included in the iso image without
collisions.

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

The following changes were made for 1.21.3:
- following upstream commit was reverted:
  Revert-use-subpath-for-coredns-only-for-default-repo.patch

- kubelet-cpumanager-disable-CFS-quota-throttling-for-.patch
  was refactored due to new internal_container_lifecycle framework
  We leverage the same mechanism to set Linux resources as:
  cpu manager: specify the container CPU set during the creation
  (commit 38dc7509f862f081828e7d9167107b8c6e98ea23).

- kubelet-cpumanager-introduce-concept-of-isolated-CPU.patch
  was refactored due to upstream API change:
  node: podresources: make GetDevices() consistent
  (commit ad68f9588c72d6477b5a290c548a9031063ac659).

  The routine podIsolCPUs() was refactored in 1.21.3 since the
  API p.deviceManager.GetDevices() is returning multiple devices
  with a device per cpu. The resultant cpuset needs to be the
  aggregate.

Story: 2008972
Task: 43056

Signed-off-by: Jim Gauld <james.gauld@windriver.com>
Change-Id: I5ba7ff2e6aebb744af265698c0f90256ac5e70f4
2021-09-22 16:31:39 -04:00
Jim Gauld 94517398e4 Add staged kubernetes version 1.20.9
Multiple versions of kubernetes are required to support upgrade.

This adds staged version of kubernetes 1.20.9, built with a
specific version of golang.

All subpackage versions are included in the iso image without
collisions.

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

Story: 2008972
Task: 43056

Signed-off-by: Jim Gauld <james.gauld@windriver.com>
Change-Id: Ie19612f1980690be073ab2236afbb9ccefe504e5
2021-09-13 14:53:42 -04:00
Jim Gauld 229ecb0d99 Add staged versions of kubernetes 1.18.1 and 1.19.13
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
2021-09-01 16:51:45 -04:00
Zuul 0a6dd52d96 Merge "uprev the containernetwork-plugins" 2021-08-17 20:15:05 +00:00
Jim Gauld 8e7ce96e0e Split kubernetes into versioned stages and unversioned package
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
2021-08-17 11:19:21 -04:00
Steven Webster a59d1553d5 uprev the containernetwork-plugins
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
2021-08-13 11:35:07 -04:00
Steven Webster d801ea657d Revert "uprev the containernetwork-plugins"
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
2021-08-12 21:34:32 +00:00
Steven Webster 303ed359c7 uprev the containernetwork-plugins
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
2021-08-10 11:41:04 -04:00
Cole Walker 1f4538df28 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-28 14:15:22 -04:00
Chris Friesen 859e8eb730 add isolcpus device plugin for kubernetes
In order to minimize latency as much as possible, we want to allow
kubernetes containers to make use of CPUs which have been specified
as "isolated" via the kernel boot args.

This commit creates an isolcpus device plugin, which detects the isolated
CPUs and exports them to kubelet via the device plugin API.

See kubernetes/plugins/isolcpus-device-plugin/files/README.md for
more information on the behaviour and design choices for this commit.

When we move to a newer version of the Intel device plugin manager we
may be able to simplify some of this.  See the above README.md file
for details.

Change-Id: I3bfe04ab6e7fbafefa63f6dc43cb2ed79a52579f
Story: 2008760
Task: 42165
Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
2021-04-01 11:10:09 -06:00
Babak Sarashki 8a33372bee Add: PF Baseband Device config application for ACC100
This introduces PF BBDEV (baseband device) Configuration Application
"pf_bb_config" and inih. PF BBDEV program accesses the configuration
space and sets the various parameters through memory-mapped IO
read/writes. This is needed for Intel ACC100 (Mt Bryce) configuration
and QMGR related settings.

PF BBDEV requires inih for parsing .INI configuration file. This
commit adds the inih for static linkage with PF BBDEV.

Story: 2008440
Task: 41472
Signed-off-by: Babak Sarashki <zbsarashki@gmail.com>
Change-Id: Idaebcac5d0021d5c11c7ab27e13176139ba66c3b
2021-02-11 23:18:51 +00:00
Zuul 46a26e251c Merge "Uninstall SNMP RPM Host-Based from STX." 2021-01-22 15:54:34 +00:00
Nicolas Alvarez d815cfe2f2 Uninstall SNMP RPM Host-Based from STX.
Uninstall SNMP RPM Host-Based from starlingx/integ repo because it
will be containerized.
Also disable snmp from networking/lldpd/centos/lldpd.spec file.

Story: 2008132
Task: 41322
Depends-On: https://review.opendev.org/761792
Signed-off-by: Nicolas Alvarez <nicolas.alvarez@windriver.com>

Change-Id: Ifda06a5eb3bd0ec9683823b643e6d9cc0e7c97e2
2020-12-14 11:45:30 -03:00
Carmen Rata 53bbe86567 swtpm rpms cleanup
Software-based TPM for openstack VMs is not supported
anymore. As a result we are removing all the swtpm
related rpms configuration and existing implementation.

Story: 2008037
Task: 40694

Change-Id: Icc4809e02c4cd790641ac20692809e93ffddf782
Signed-off-by: Carmen Rata <carmen.rata@windriver.com>
2020-12-11 09:21:33 -05:00
Robert Church 17c1b8894d Introduce k8s pod recovery service
Add a recovery service, started by systemd on a host boot, that waits
for pod transitions to stabilize and then takes corrective action for
the following set of conditions:
- Delete to restart pods stuck in an Unknown or Init:Unknown state for
  the 'openstack' and 'monitor' namespaces.
- Delete to restart Failed pods stuck in a NodeAffinity state that occur
  in any namespace.
- Delete to restart the libvirt pod in the 'openstack' namespace when
  any of its conditions (Initialized, Ready, ContainersReady,
  PodScheduled) are not True.

This will only recover pods specific to the host where the service is
installed.

This service is installed on all controller types. There is currently no
evidence that we need this on dedicated worker nodes.

Each of these conditions should to be evaluated after the next k8s
component rebase to determine if any of these recovery action can be
removed.

Change-Id: I0e304d1a2b0425624881f3b2d9c77f6568844196
Closes-Bug: #1893977
Signed-off-by: Robert Church <robert.church@windriver.com>
2020-09-03 23:38:41 -04:00
Jim Gauld e0bf31f63f Add support for Helm v3, chartmuseum, and armada chart
This adds support for Helm v3:
- 'helm init' and 'helm serv' were removed in v3, and helm
  initialization was simplified so that is not required in build.
- chart validation and version checking is enforced with 'helm lint',
  so all Charts require the tag: apiVersion: v1 (or v2).
- 'chartmuseum' is a drop-in replacement for 'helm serv', and is
  currently used for building charts only. It is not part of ISO
  image.
- armada chart is built and installed to /opt/extracharts. This
  provides a Kubernetes pod with armada-api and tiller containers.

This provides a Helm v2 client (i.e., helmv2-cli) that gives access
to containerized armada/tiller managed charts. This can be used as
an interactive shell, or as a wrapper for single helm v2 commands.

Change-Id: Iff2b219ea765cf9278c6e80c6aeb5b98cc9a0626
Depends-On: https://review.opendev.org/732731
Story: 2007000
Task: 38893
Signed-off-by: Jim Gauld <james.gauld@windriver.com>
2020-06-10 03:44:59 -04:00
Jim Somerville 02dd02d591 Move mellanox userspace from integ repo
libibverbs and rdma-core are part of the mellanox driver
software package and to facilitate layering, shouldn't
be split across different repos.

Move them from the integ repo to the kernel repo so they
can co-reside with the kernel module portion.

Change-Id: I4c8582dadbae52b342d7178313d8b62beeb61148
Closes-Bug: 1877160
Depends-On: I41153feceef4eb26a41ff634c60dc3adaaf238b1
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
2020-05-06 19:58:38 -04:00
Davlet Panech bceb6c148c Subdirectory kernel relocated to new repo starlingx/kernel
* Moved subdirectories from kernel/ into a new repo
* Removed references to kernel from this repo's file lists

Change-Id: I386418f51169dd9b8c977bae328060077ac44b93
Depends on: I4b171accd8b489c92f6d2c69cb7aa5c63e75f336
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
2020-04-11 13:08:18 -04:00
Zuul ff4c6ce486 Merge "Revert "Revert "add containerd package for kata container support""" 2020-01-22 01:03:23 +00:00
Lin Shuicheng 7165b3539c Revert "Revert "add containerd package for kata container support""
This reverts commit ff7b8ffd6a.

Depends-On: https://review.opendev.org/703263
Change-Id: I9ed3cc54bb61d6e49219c9c98571740f0e066c3f
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
2020-01-19 02:00:08 +00:00
Saul Wold 5ccf5648d8 cgcs-users: remove unused package
The cgcs-users package provides a restricted shell ibsh (Iron Bars SHell)
that is no longer being referenced in StarlingX, so we can remove this
package.

Story: 2007102
Task: 38147
Change-Id: Ic8c262d973734bb0c4ce93ed6499db1394b1e48e
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2020-01-16 09:51:53 -08:00
Don Penney d2909ed9e3 Remove python-smartpm from build
The python-smartpm module is no longer used by the patching framework.
This commit removes it from the build.

Change-Id: I8b3dbffeb9db7675aa545ec674b9193a1b2a1bc5
Story: 2006227
Task: 35828
Signed-off-by: Don Penney <don.penney@windriver.com>
2020-01-15 23:39:55 -05:00
Don Penney ff7b8ffd6a Revert "add containerd package for kata container support"
This reverts commit 90f7e49661.

Reverting due to https://bugs.launchpad.net/starlingx/+bug/1859686

Change-Id: Ief511a012fe61d5d3016dc13c54fab1e32a4d6b0
2020-01-14 20:38:20 +00:00
Shuicheng Lin 90f7e49661 add containerd package for kata container support
containerd is upgrade from 1.2.5 to 1.3.0 in order to support
kata container.

Story: 2006145
Task: 36834
Depends-On: https://review.opendev.org/697601
Depends-On: https://review.opendev.org/685211
Change-Id: I2e067a1af1962328c865f463cafdabfad5946e02
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
2019-12-06 10:23:09 +08:00
Jim Somerville 2718976ddc i40e Driver Upgrade in support of N3000 on-board NICs
Uprev i40e to version 2.10.19.30
i40evf gets replaced by iavf version 3.7.61.20

The iavf driver supports both fortville and columbiaville,
so they decided to rename from i40evf to something more generic.

We get to drop the patch which polls for coming out of
reset as it was incorporated upstream.

The Intel FPGA Programmable Acceleration Card N3000 contains
dual Intel XL710 NICs and an FPGA for acceleration purposes.
This driver upgrade is required to support those NICs.

Change-Id: Ifbec94bcc00a8cce9fe97bf0eb41556b8bd3e592
Story: 2006740
Task: 37542
Depends-On: https://review.opendev.org/#/c/695061
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
2019-11-19 14:42:12 -05:00
Zuul c563674a43 Merge "Add boto3 to build" 2019-09-19 18:36:36 +00:00
Jerry Sun 464819c170 Add boto3 to build
boto3 is a python package for interacting with AWS. we need this for
interacting with an Amazon Docker registry. This commit adds boto3 and
its dependencies to the build

Story: 2006274
Task: 36704
Depends-On: https://review.opendev.org/683179

Change-Id: I5a5c7ea7b20c012b51ee20057a1ebd0f0c635386
Signed-off-by: Jerry Sun <jerry.sun@windriver.com>
2019-09-19 13:11:13 -04:00
Jim Somerville b675795e5b Build and package OPAE FPGA drivers
Includes a spec file for building and changes to get the
kernel modules into the load.

Change-Id: I6e075e19b1e4deefd7f5bcb11fec34c383b313b8
Story: 2006495
Task: 36607
Depends-On: https://review.opendev.org/#/c/682058/
Signed-off-by: Alex Kozyrev <alex.kozyrev@windriver.com>
2019-09-16 18:12:55 +00:00
Scott Little 1d98eee3cc Config file changes for packages being relocated to repo 'config-files'
List of relocated subdirectories:

base/centos-release-config
base/dhcp-config
base/dnsmasq-config
base/haproxy-config
base/initscripts-config
base/lighttpd-config
base/net-snmp-config
base/openssh-config
base/setup-config
base/systemd-config
config-files/audit-config
config-files/docker-config
config-files/io-scheduler
config-files/iptables-config
config-files/memcached-custom
config-files/ntp-config
config-files/pam-config
config-files/rsync-config
config-files/shadow-utils-config
config-files/sudo-config
config-files/syslog-ng-config
config-files/util-linux-config
filesystem/filesystem-scripts
filesystem/iscsi-initiator-utils-config
filesystem/nfs-utils-config
ldap/openldap-config
logging/logrotate-config
networking/mellanox/mlx4-config
networking/openvswitch-config

Story: 2006166
Task: 35687
Depends-On: I665dc7fabbfffc798ad57843eb74dca16e7647a3
Depends-On: I14e631137ff5658a54d62ad3d7aa2cd0ffaba6e0
Change-Id: I761b0f76150881c765b70b2ccd255244c754bd5d
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-09-05 20:30:38 -04:00
Scott Little 9166160503 Config file changes for packages being relocated to repo 'monitoring'
List of relocated subdirectories:

monitoring/collectd-extensions
monitoring/influxdb-extensions
tools/monitor-tools
tools/vm-topology

Story: 2006166
Task: 35687
Depends-On: I665dc7fabbfffc798ad57843eb74dca16e7647a3
Depends-On: I85dda6d09028f57c1fb0f96e4bcd73ab9b9550be
Change-Id: I14e631137ff5658a54d62ad3d7aa2cd0ffaba6e0
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-09-05 20:29:44 -04:00
Scott Little d6ebfea374 Config file changes for packages being relocated to repo 'utilities'
List of relocated subdirectories:

ceph/ceph-manager
ceph/python-cephclient
filesystem/nfscheck
logging/logmgmt
security/tpm2-openssl-engine
security/wrs-ssl
tools/collector
tools/engtools/hostdata-collectors
utilities/build-info
utilities/namespace-utils
utilities/pci-irq-affinity-agent
utilities/platform-util
utilities/tis-extensions
utilities/update-motd

Story: 2006166
Task: 35687
Depends-On: I665dc7fabbfffc798ad57843eb74dca16e7647a3
Depends-On: I840888f0b012e9fb24e72f4e6a46567e6f949df7
Change-Id: I85dda6d09028f57c1fb0f96e4bcd73ab9b9550be
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-09-05 20:29:20 -04:00
Scott Little 012ce77c1e Config file changes for packages being relocated to repo 'compile'
List of relocated subdirectories:

base/bash
base/golang-dep
base/rpm
python/python-2.7.5
base/golang

Story: 2006166
Task: 35687
Depends-On: I665dc7fabbfffc798ad57843eb74dca16e7647a3
Depends-On: I947cab3787dd323ef0fc50ec64f172d2df6459e9
Change-Id: I840888f0b012e9fb24e72f4e6a46567e6f949df7
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-09-05 20:28:59 -04:00
Scott Little 39d02246ae Config file changes to remove packages being relocated to repo
'containers'

List of relocated subdirectories:

kubernetes/registry-token-server

Story: 2006166
Task: 35687
Depends-On: I665dc7fabbfffc798ad57843eb74dca16e7647a3
Depends-On: Ibdae0a338a1af493ac522757b61bbd6df1da941e
Change-Id: I7f1c1184e8dfeff1740b695adb71b8becaa4e7b1
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-09-05 23:17:17 +00:00
Kristine Bujold daf33b135d Collapse the glance filesystem into platform
The filesystem /opt/cgcs is removed and its content moved under
/opt/platform.

Resources related to drbd-cgcs and /opt/cgcs are updated to
drbd-plaform and /opt/plaform.

Tested in AIO-SX, AIO-DX and Standard hardware labs.

Depends-On: https://review.opendev.org/674360
Partial-Bug: 1830142

Change-Id: I6d0555f00ab269f7d9567fff365180b66adce8b3
Signed-off-by: Kristine Bujold <kristine.bujold@windriver.com>
2019-08-08 10:54:11 -04:00
Al Bailey 56c534ad98 Add back kvm_timer_advance_setup.service
The kvm_timer_advance_setup service was packaged and
installed as part of nova-compute package prior to
containerizing nova.

The service file has been updated to start before kubelet.

The service becomes enabled by puppet which writes a
config file containing the vcpu_pin_set information.

The utility script has been updated.
The .sh extension has been added, and it passes bashate.

Updated the license to GPLv2 since the tuned package
where the script was dervied from is GPLv2.

Change-Id: Iff90c46826a88283e42a980e7823593599f03206
Closes-Bug: 1823751
Signed-off-by: Al Bailey <Al.Bailey@windriver.com>
2019-07-24 16:04:58 -05:00
Jerry Sun cd4fe5dbc8 Remove Cloud-Provider-Openstack from Build
Cloud-Provider-Openstack is required for Keystone authentication with
Kubernetes. Since we are no longer doing that, we can remove
Cloud-Provider-Openstack from the build.

Story: 2002843
Task: 26958

Change-Id: I971ba2626ab040631c163957fbe6efbd58951ad1
Signed-off-by: Jerry Sun <jerry.sun@windriver.com>
2019-07-10 09:23:41 -04:00
zhipengl f5db9e98f4 Add redfishtool package
Add redfishtool package to controller nodes
It will be used by maintenance processes(mtcAgent and hwmon).
Two patches are required.
1. python2 support patch
2. config file support patch

Deploy test pass
redfishtool can run normally in controller node.

Story: 2005861
Task: 34187

Depends-On: https://review.opendev.org/665993/
Change-Id: I69e08cffd8587cb4287394f2b7a2f46fd3d054d9
Signed-off-by: zhipengl <zhipengs.liu@intel.com>
2019-07-05 01:22:19 +00:00