Updating fluxcd version of nginx to 1.1.1

This change updates only the fluxcd version of nginx to 1.1.1.
The armada version remains with version 0.41.2 and is also supported.

Test Cases:

PASS: Verify that there are no changes to the armada rpm generated
PASS: Verify that the armada version of app uses nginx 0.41.2
PASS: Run the rpm build and verify that two packages are generated:
      stx-nginx-ingress-controller-helm-<version>.tis.noarch.rpm and
      stx-nginx-ingress-controller-helm-fluxcd-<version>.tis.noarch.rpm
PASS: Install the new package with kustomize and verify that nginx pods
      are deployed and running with success
PASS: Verify that the fluxcd version of the app uses nginx 1.1.1

Story: 2009836
Task: 44604

Change-Id: Icbabe97720eb7d0e8c8676ae2a18ec5afa62b053
Signed-off-by: Rei Oliveira <Reinildes.JoseMateusOliveira@windriver.com>
This commit is contained in:
Rei Oliveira 2022-02-24 06:16:22 -05:00
parent 6291d8a7f9
commit 61fe77e3fc
5 changed files with 78 additions and 20 deletions

View File

@ -1 +1,2 @@
helm-charts-ingress-nginx-1.1.1.tar.gz#helm-charts#https://github.com/kubernetes/ingress-nginx/archive/controller-v1.1.1.tar.gz#http##
helm-charts-ingress-nginx-0.41.2.tar.gz#helm-charts#https://github.com/kubernetes/ingress-nginx/archive/controller-v0.41.2.tar.gz#http##

View File

@ -1,9 +1,13 @@
SRC_DIR="stx-nginx-ingress-controller-helm"
TAR_NAME=helm-charts-ingress-nginx
NGINX_VERSION=0.41.2
TAR="$TAR_NAME-$NGINX_VERSION.tar.gz"
COPY_LIST="${CGCS_BASE}/downloads/$TAR $PKG_BASE/$SRC_DIR/files/* $PKG_BASE/$SRC_DIR/manifests/* $PKG_BASE/$SRC_DIR/fluxcd-manifests/*"
ARMADA_NGINX_VERSION=0.41.2
ARMADA_TAR="$TAR_NAME-$ARMADA_NGINX_VERSION.tar.gz"
FLUXCD_NGINX_VERSION=1.1.1
FLUXCD_TAR="$TAR_NAME-$FLUXCD_NGINX_VERSION.tar.gz"
COPY_LIST="${CGCS_BASE}/downloads/$ARMADA_TAR ${CGCS_BASE}/downloads/$FLUXCD_TAR $PKG_BASE/$SRC_DIR/files/* $PKG_BASE/$SRC_DIR/manifests/* $PKG_BASE/$SRC_DIR/fluxcd-manifests/*"
TIS_PATCH_VER=PKG_GITREVCOUNT

View File

@ -1,7 +1,8 @@
# Application tunables (maps to metadata)
%global app_name nginx-ingress-controller
%global helm_repo stx-platform
%global nginx_version 0.41.2
%global armada_nginx_version 0.41.2
%global fluxcd_nginx_version 1.1.1
%global armada_folder /usr/lib/armada
@ -21,7 +22,7 @@ Group: base
Packager: Wind River <info@windriver.com>
URL: unknown
Source0: helm-charts-ingress-nginx-%{nginx_version}.tar.gz
Source0: helm-charts-ingress-nginx-%{armada_nginx_version}.tar.gz
Source1: repositories.yaml
Source2: index.yaml
Source3: Makefile
@ -31,18 +32,20 @@ Source4: metadata.yaml
Source5: nginx_ingress_controller_manifest.yaml
# fluxcd specific source items
Source6: kustomization.yaml
Source7: base_helmrepository.yaml
Source8: base_kustomization.yaml
Source9: base_namespace.yaml
Source10: nginx-ingress_helmrelease.yaml
Source11: nginx-ingress_kustomization.yaml
Source12: nginx-ingress_nginx-ingress-static-overrides.yaml
Source13: nginx-ingress_nginx-ingress-system-overrides.yaml
Source6: helm-charts-ingress-nginx-%{fluxcd_nginx_version}.tar.gz
Source7: kustomization.yaml
Source8: base_helmrepository.yaml
Source9: base_kustomization.yaml
Source10: base_namespace.yaml
Source11: nginx-ingress_helmrelease.yaml
Source12: nginx-ingress_kustomization.yaml
Source13: nginx-ingress_nginx-ingress-static-overrides.yaml
Source14: nginx-ingress_nginx-ingress-system-overrides.yaml
BuildArch: noarch
Patch01: 0001-add-toleration.patch
Patch01: 0001-add-toleration-armada.patch
Patch02: 0001-add-toleration-fluxcd.patch
BuildRequires: helm
BuildRequires: chartmuseum
@ -64,17 +67,32 @@ StarlingX Nginx Ingress Controller Application FluxCD Helm Charts
%setup -n helm-charts
%patch01 -p1
# set up fluxcd tar source
cd %{_builddir}
rm -rf fluxcd
/usr/bin/mkdir -p fluxcd
cd fluxcd
/usr/bin/tar xfv /builddir/build/SOURCES/helm-charts-ingress-nginx-%{fluxcd_nginx_version}.tar.gz
cd %{_builddir}/fluxcd/helm-charts
%patch02 -p1
%build
# Host a server for the charts
cd %{_builddir}/helm-charts
chartmuseum --debug --port=8879 --context-path='/charts' --storage="local" --storage-local-rootdir="." &
sleep 2
helm repo add local http://localhost:8879/charts
# Create the tgz file
# Create the tgz file for armada
cp %{SOURCE3} charts
cd charts
make ingress-nginx
# Create the tgz file for fluxcd
cd %{_builddir}/fluxcd/helm-charts
cp %{SOURCE3} charts
cd charts
make ingress-nginx
cd -
# Terminate helm server (the last backgrounded task)
kill %1
@ -90,6 +108,7 @@ cp %{SOURCE4} %{app_staging}
cp %{SOURCE5} %{app_staging}
mkdir -p %{app_staging}/charts
cd %{_builddir}/helm-charts
cp charts/*.tgz %{app_staging}/charts
cd %{app_staging}
@ -108,9 +127,12 @@ tar -zcf %{_builddir}/%{app_tarball_armada} -C %{app_staging}/ .
# package fluxcd
rm -f %{app_staging}/nginx_ingress_controller_manifest.yaml
rm -f %{app_staging}/charts/*.tgz
rm -f %{SOURCE6}
cp %{_builddir}/fluxcd/helm-charts/charts/*.tgz %{app_staging}/charts
fluxcd_dest=%{app_staging}/fluxcd-manifests
mkdir -p $fluxcd_dest
cp %{SOURCE6} %{app_staging}/fluxcd-manifests
cp %{SOURCE7} %{app_staging}/fluxcd-manifests
cd %{_sourcedir}
directories="base nginx-ingress"
for dir in $directories;
@ -141,4 +163,4 @@ install -p -D -m 755 %{_builddir}/%{app_tarball_fluxcd} %{buildroot}/%{app_folde
%files fluxcd
%defattr(-,root,root,-)
%{app_folder}/%{app_tarball_fluxcd}
%{app_folder}/%{app_tarball_fluxcd}

View File

@ -22,6 +22,5 @@ index aa8693b47..6df0a9809 100644
containers:
- name: controller
{{- with .Values.controller.image }}
--
--
2.17.1

View File

@ -0,0 +1,32 @@
From 0a23a0fc3a232ae4e50f89d8ddcce1007063c334 Fri Feb 18 23:06:07 2022
Author: Rei Oliveira <Reinildes.JoseMateusOliveira@windriver.com>
Date: Fri Feb 18 23:06:07 2022 -0300
Subject: [PATCH] Add toleration to daemonset
---
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 93096dd..f79d4b3 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -207,12 +207,17 @@ controller:
# -- Node tolerations for server scheduling to nodes with taints
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
##
- tolerations: []
+ # tolerations: []
# - key: "key"
# operator: "Equal|Exists"
# value: "value"
# effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
+ tolerations:
+ - key: "node-role.kubernetes.io/master"
+ operator: "Exists"
+ effect: "NoSchedule"
+
# -- Affinity and anti-affinity rules for server scheduling to nodes
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
##
--
2.17.1