Partial FluxCD version of stx-openstack: initial

This is a mini test version of the openstack app based on FluxCD.
It only has a subset of the charts enabled for testing:
 - build-helm-chart.sh changes
 - FluxCD application framework changes

This change includes the following charts:
psp-rolebinding, ingress, nginx-ports-control, mariadb,
garbd, memcached, rabbitmq.

NOTE: This new change includes the same code from [1] and the fix
for debian package build, the reason why the original change had to
be reverted originally.

Test Plan:
PASS - package build (CentOS)
PASS - package build (Debian)
PASS - build-helm-charts.sh builds a basic FluxCD app tarball
PASS - application upload and overrides generated
PASS - application apply/remove/delete

Debian build logs: https://paste.opendev.org/show/bty7r5Zcn6JJawuwDBm7/
Application Logs: https://paste.opendev.org/show/bFL2fixBwc0vBhqXDC0K/

Story: 2009138
Task: 45462

Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
Co-Authored-by: Robert Church <robert.church@windriver.com>
Change-Id: Id501b4a34b1b54ca72943044fb59b18e064d1042
This commit is contained in:
Robert Church 2022-05-04 04:11:59 -04:00 committed by Thales Elero Cervi
parent 7e15d5d3ad
commit daef54697f
50 changed files with 989 additions and 6 deletions

View File

@ -1,4 +1,5 @@
openstack-helm
openstack-helm-infra
stx-openstack-helm
stx-openstack-helm-fluxcd
python-k8sapp-openstack

View File

@ -2,3 +2,4 @@ openstack-helm
openstack-helm-infra
python-k8sapp-openstack
stx-openstack-helm
stx-openstack-helm-fluxcd

View File

@ -0,0 +1,13 @@
SRC_DIR="stx-openstack-helm-fluxcd"
COPY_LIST_TO_TAR="\
$STX_BASE/helm-charts/fm-rest-api/fm-rest-api/helm-charts \
$STX_BASE/helm-charts/psp-rolebinding/psp-rolebinding/helm-charts \
"
# Bump the version by the previous version value prior to decoupling as this
# will align the GITREVCOUNT value to increment the version by one. Remove this
# (i.e. reset to 0) on then next major version changes when TIS_BASE_SRCREV
# changes. This version should align with the version of the helm charts in
# python-k8sapp-openstack
TIS_BASE_SRCREV=8d3452a5e864339101590e542c24c375bb3808fb
TIS_PATCH_VER=GITREVCOUNT+20

View File

@ -0,0 +1,74 @@
%global helm_folder /usr/lib/helm
%global fluxcd_folder /usr/lib/fluxcd
%global app_folder /usr/lib/application
%global toolkit_version 0.2.19
%global helmchart_version 0.1.0
Summary: StarlingX Openstack Application Helm charts
Name: stx-openstack-helm-fluxcd
Version: 1.0
Release: %{tis_patch_ver}%{?_tis_dist}
License: Apache-2.0
Group: base
Packager: Wind River <info@windriver.com>
URL: unknown
Source0: %{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: helm
BuildRequires: openstack-helm-infra
BuildRequires: chartmuseum
Requires: openstack-helm-infra
Requires: openstack-helm
Requires: python-k8sapp-openstack-wheels
%description
StarlingX Openstack Application Helm charts
%prep
%setup
%build
# Stage helm-toolkit in the local repo
cp %{helm_folder}/helm-toolkit-%{toolkit_version}.tgz helm-charts/
# Host a server for the charts
chartmuseum --debug --port=8879 --context-path='/charts' --storage="local" --storage-local-rootdir="./helm-charts" &
sleep 2
helm repo add local http://localhost:8879/charts
# Make the charts. These produce a tgz file
cd helm-charts
make nova-api-proxy
make pci-irq-affinity-agent
make garbd
make keystone-api-proxy
make fm-rest-api
make nginx-ports-control
make dcdbsync
make psp-rolebinding
cd -
# terminate helm server (the last backgrounded task)
kill %1
# remove helm-toolkit. This will be packaged with openstack-helm-infra
rm ./helm-charts/helm-toolkit-%{toolkit_version}.tgz
%install
# helm_folder is created by openstack-helm-infra
install -d -m 755 ${RPM_BUILD_ROOT}%{app_folder}
install -p -D -m 755 files/metadata.yaml ${RPM_BUILD_ROOT}%{app_folder}
install -d -m 755 ${RPM_BUILD_ROOT}%{helm_folder}
install -p -D -m 755 helm-charts/*.tgz ${RPM_BUILD_ROOT}%{helm_folder}
install -d -m 755 ${RPM_BUILD_ROOT}%{fluxcd_folder}
cp -R manifests/* ${RPM_BUILD_ROOT}%{fluxcd_folder}
%files
#helm_folder is owned by openstack-helm-infra
%defattr(-,root,root,-)
%{helm_folder}/*
%{fluxcd_folder}/*
%{app_folder}/*

View File

@ -0,0 +1,5 @@
stx-openstack-helm-fluxcd (1.0-1) unstable; urgency=medium
* Initial release.
-- Robert Church <robert.church@windriver.com> Mon, 2 May 2022 21:50:42 +0000

View File

@ -0,0 +1,21 @@
Source: stx-openstack-helm-fluxcd
Section: libs
Priority: optional
Maintainer: StarlingX Developers <starlingx-discuss@lists.starlingx.io>
Build-Depends: debhelper-compat (= 13),
chartmuseum,
helm,
openstack-helm-infra,
openstack-helm,
procps,
python3-k8sapp-openstack-wheels
Standards-Version: 4.5.1
Homepage: https://www.starlingx.io
Package: stx-openstack-helm-fluxcd
Section: libs
Architecture: all
Depends: ${misc:Depends}
Description: StarlingX Openstack FluxCD application
This package contains the components needed for the Openstack FluxCD
application.

View File

@ -0,0 +1,41 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: stx-openstack-helm-fluxcd
Source: https://opendev.org/starlingx/openstack-armada-app/
Files: *
Copyright: (c) 2013-2022 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2022 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.

View File

@ -0,0 +1,42 @@
#!/usr/bin/make -f
# export DH_VERBOSE = 1
export ROOT = debian/tmp
export APP_FOLDER = $(ROOT)/usr/lib/application
export FLUXCD_FOLDER = $(ROOT)/usr/lib/fluxcd
export HELM_FOLDER = /usr/lib/helm
export TOOLKIT_VERSION = 0.2.19
%:
dh $@
override_dh_auto_build:
# Stage helm-toolkit in the local repo.
cp $(HELM_FOLDER)/helm-toolkit-$(TOOLKIT_VERSION).tgz helm-charts/
# Host a server for the helm charts.
chartmuseum --debug --port=8879 --context-path='/charts' --storage="local" \
--storage-local-rootdir="./helm-charts" &
sleep 2
helm repo add local http://localhost:8879/charts
# Create the TGZ file.
cd helm-charts && make nova-api-proxy
cd helm-charts && make pci-irq-affinity-agent
cd helm-charts && make garbd
cd helm-charts && make keystone-api-proxy
cd helm-charts && make fm-rest-api
cd helm-charts && make nginx-ports-control
cd helm-charts && make dcdbsync
cd helm-charts && make psp-rolebinding
# Terminate the helm chart server.
pkill chartmuseum
# Remove helm-toolkit. This will be packaged with openstack-helm-infra.
rm helm-charts/helm-toolkit-$(TOOLKIT_VERSION).tgz
override_dh_auto_install:
# Install the app tar file.
install -d -m 755 $(APP_FOLDER)
install -p -D -m 755 files/metadata.yaml $(APP_FOLDER)
install -d -m 755 $(ROOT)$(HELM_FOLDER)
install -p -D -m 755 helm-charts/*.tgz $(ROOT)$(HELM_FOLDER)
install -d -m 755 $(FLUXCD_FOLDER)
cp -pR manifests/* $(FLUXCD_FOLDER)

View File

@ -0,0 +1 @@
3.0 (quilt)

View File

@ -0,0 +1,3 @@
usr/lib/application/*
usr/lib/fluxcd/*
usr/lib/helm/*

View File

@ -0,0 +1,10 @@
---
debname: stx-openstack-helm-fluxcd
debver: 1.0-1
src_path: stx-openstack-helm-fluxcd
src_files:
- ${MY_REPO}/stx/helm-charts/psp-rolebinding/psp-rolebinding/helm-charts
- ${MY_REPO}/stx/helm-charts/fm-rest-api/fm-rest-api/helm-charts
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true

View File

@ -0,0 +1,5 @@
This directory contains all StarlingX charts that need to be built for this
application. Some charts are common across applications. These common charts
reside in the stx-config/kubernetes/helm-charts directory. To include these in
this application update the build_srpm.data file and use the COPY_LIST_TO_TAR
mechanism to populate these commom charts.

View File

@ -0,0 +1,3 @@
apiVersion: v1
entries: {}
generated: 2019-01-07T12:33:46.098166523-06:00

View File

@ -0,0 +1,22 @@
disabled_charts:
- aodh
- barbican
- ceilometer
- ceph-rgw
- gnocchi
- ironic
behavior:
platform_managed_app: yes
evaluate_reapply:
after:
- platform-integ-apps
triggers:
- type: unlock
- type: force-unlock
- type: runtime-apply-puppet
- type: host-availability-updated
filters:
- availability: services-enabled
- type: host-delete
filters:
- openstack_worker: True

View File

@ -0,0 +1,12 @@
apiVersion: v1
generated: 2019-01-02T15:19:36.215111369-06:00
repositories:
- caFile: ""
cache: /builddir/.helm/repository/cache/local-index.yaml
certFile: ""
keyFile: ""
name: local
password: ""
url: http://127.0.0.1:8879/charts
username: ""

View File

@ -0,0 +1 @@
../../stx-openstack-helm/stx-openstack-helm/helm-charts

View File

@ -0,0 +1,15 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: starlingx
spec:
url: http://192.168.206.1:8080/helm_charts/starlingx
interval: 60m
...

View File

@ -0,0 +1,10 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
resources:
- helmrepository.yaml
...

View File

@ -0,0 +1,12 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: v1
kind: Namespace
metadata:
name: openstack
...

View File

@ -0,0 +1,25 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
release_group: osh-openstack-garbd
labels:
server:
node_selector_key: openstack-compute-node
node_selector_value: enabled
pod:
tolerations:
garbd:
enabled: true
tolerations:
- key: openstack-compute-node
operator: Exists
effect: NoSchedule
images:
tags:
garbd: docker.io/starlingx/stx-mariadb:master-centos-stable-latest
image_repo_sync: null
...

View File

@ -0,0 +1,43 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
kind: HelmRelease
metadata:
name: garbd
labels:
chart_group: openstack-garbd
spec:
releaseName: osh-openstack-garbd
chart:
spec:
chart: garbd
version: 0.1.0
sourceRef:
kind: HelmRepository
name: starlingx
interval: 5m
timeout: 30m
test:
enable: false
install:
disableHooks: False
upgrade:
disableHooks: False
dependsOn:
- name: ingress
namespace: openstack
- name: nginx-ports-control
namespace: openstack
valuesFrom:
- kind: Secret
name: garbd-static-overrides
valuesKey: garbd-static-overrides.yaml
- kind: Secret
name: garbd-system-overrides
valuesKey: garbd-system-overrides.yaml
...

View File

@ -0,0 +1,20 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
namespace: openstack
resources:
- helmrelease.yaml
secretGenerator:
- name: garbd-static-overrides
files:
- garbd-static-overrides.yaml
- name: garbd-system-overrides
files:
- garbd-system-overrides.yaml
generatorOptions:
disableNameSuffixHash: true
...

View File

@ -0,0 +1,42 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
kind: HelmRelease
metadata:
name: ingress
labels:
chart_group: openstack-ingress
spec:
releaseName: osh-openstack-ingress
chart:
spec:
chart: ingress
version: 0.2.3
sourceRef:
kind: HelmRepository
name: starlingx
interval: 1m
interval: 5m
timeout: 30m
test:
enable: false
install:
disableHooks: false
upgrade:
disableHooks: false
dependsOn:
- name: openstack-psp-rolebinding
namespace: openstack
valuesFrom:
- kind: Secret
name: ingress-static-overrides
valuesKey: ingress-static-overrides.yaml
- kind: Secret
name: ingress-system-overrides
valuesKey: ingress-system-overrides.yaml
...

View File

@ -0,0 +1,44 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
release_group: osh-openstack-ingress
labels:
server:
node_selector_key: openstack-control-plane
node_selector_value: enabled
error_server:
node_selector_key: openstack-control-plane
node_selector_value: enabled
images:
tags:
image_repo_sync: null
ingress_module_init: null
ingress_routed_vip: null
keepalived: null
pod:
replicas:
error_page: 2
ingress: 2
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
tolerations:
ingress:
enabled: true
tolerations:
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
- key: openstack-compute-node
operator: Exists
effect: NoSchedule
conf:
ingress:
worker-processes: '4'
bind-address: "::"
...

View File

@ -0,0 +1,22 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
namespace: openstack
commonLabels:
chart_group: openstack-ingress
resources:
- helmrelease.yaml
secretGenerator:
- name: ingress-static-overrides
files:
- ingress-static-overrides.yaml
- name: ingress-system-overrides
files:
- ingress-system-overrides.yaml
generatorOptions:
disableNameSuffixHash: true
...

View File

@ -0,0 +1,20 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: openstack
resources:
- base
- psp-rolebinding
- ingress
- nginx-ports-control
- mariadb
- garbd
- memcached
- rabbitmq
...

View File

@ -0,0 +1,43 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
kind: HelmRelease
metadata:
name: mariadb
labels:
chart_group: openstack-mariadb
spec:
releaseName: osh-openstack-mariadb
chart:
spec:
chart: mariadb
version: 0.2.5
sourceRef:
kind: HelmRepository
name: starlingx
interval: 5m
timeout: 30m
test:
enable: false
install:
disableHooks: False
upgrade:
disableHooks: False
dependsOn:
- name: ingress
namespace: openstack
- name: nginx-ports-control
namespace: openstack
valuesFrom:
- kind: Secret
name: mariadb-static-overrides
valuesKey: mariadb-static-overrides.yaml
- kind: Secret
name: mariadb-system-overrides
valuesKey: mariadb-system-overrides.yaml
...

View File

@ -0,0 +1,20 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
namespace: openstack
resources:
- helmrelease.yaml
secretGenerator:
- name: mariadb-static-overrides
files:
- mariadb-static-overrides.yaml
- name: mariadb-system-overrides
files:
- mariadb-system-overrides.yaml
generatorOptions:
disableNameSuffixHash: true
...

View File

@ -0,0 +1,64 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
release_group: osh-openstack-mariadb
manifests:
pod_test: false
monitoring:
prometheus:
enabled: false
labels:
server:
node_selector_key: openstack-control-plane
node_selector_value: enabled
prometheus_mysql_exporter:
node_selector_key: openstack-control-plane
node_selector_value: enabled
images:
tags:
image_repo_sync: null
prometheus_mysql_exporter: null
prometheus_mysql_exporter_helm_tests: null
ks_user: docker.io/starlingx/stx-heat:master-centos-stable-latest
mariadb: docker.io/openstackhelm/mariadb:ubuntu_xenial-20200303
mariadb_backup: docker.io/openstackhelm/mariadb:10.2.18
scripted_test: null
pod:
probes:
server:
mariadb:
readiness:
enabled: true
startup:
enabled: true
liveness:
enabled: true
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
tolerations:
mariadb:
enabled: true
tolerations:
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
- effect: NoExecute
operator: Exists
- key: openstack-compute-node
operator: Exists
effect: NoSchedule
conf:
ingress_conf:
worker-processes: '4'
database:
config_override: |
[mysqld]
wait_timeout=3600
wsrep_provider_options="gmcast.listen_addr=tcp://0.0.0.0:{{ tuple "oslo_db" "direct" "wsrep" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}"
...

View File

@ -0,0 +1,41 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
kind: HelmRelease
metadata:
name: memcached
labels:
chart_group: openstack-memcached
spec:
releaseName: osh-openstack-memcached
chart:
spec:
chart: memcached
version: 0.1.4
sourceRef:
kind: HelmRepository
name: starlingx
interval: 5m
timeout: 30m
test:
enable: false
install:
disableHooks: False
upgrade:
disableHooks: False
dependsOn:
- name: mariadb
namespace: openstack
valuesFrom:
- kind: Secret
name: memcached-static-overrides
valuesKey: memcached-static-overrides.yaml
- kind: Secret
name: memcached-system-overrides
valuesKey: memcached-system-overrides.yaml
...

View File

@ -0,0 +1,20 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
namespace: openstack
resources:
- helmrelease.yaml
secretGenerator:
- name: memcached-static-overrides
files:
- memcached-static-overrides.yaml
- name: memcached-system-overrides
files:
- memcached-system-overrides.yaml
generatorOptions:
disableNameSuffixHash: true
...

View File

@ -0,0 +1,34 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
release_group: osh-openstack-memcached
labels:
server:
node_selector_key: openstack-control-plane
node_selector_value: enabled
prometheus_memcached_exporter:
node_selector_key: openstack-control-plane
node_selector_value: enabled
pod:
tolerations:
memcached:
enabled: true
tolerations:
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
- key: openstack-compute-node
operator: Exists
effect: NoSchedule
monitoring:
prometheus:
enabled: false
images:
tags:
image_repo_sync: null
prometheus_memcached_exporter: null
...

View File

@ -0,0 +1,39 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
kind: HelmRelease
metadata:
name: nginx-ports-control
labels:
chart_group: openstack-nginx-ports-control
spec:
releaseName: osh-openstack-nginx-ports-control
chart:
spec:
chart: nginx-ports-control
version: 0.1.0
sourceRef:
kind: HelmRepository
name: starlingx
interval: 5m
timeout: 30m
test:
enable: false
upgrade:
disableHooks: false
dependsOn:
- name: openstack-psp-rolebinding
namespace: openstack
valuesFrom:
- kind: Secret
name: nginx-ports-control-static-overrides
valuesKey: nginx-ports-control-static-overrides.yaml
- kind: Secret
name: nginx-ports-control-system-overrides
valuesKey: nginx-ports-control-system-overrides.yaml
...

View File

@ -0,0 +1,20 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
namespace: openstack
resources:
- helmrelease.yaml
secretGenerator:
- name: nginx-ports-control-static-overrides
files:
- nginx-ports-control-static-overrides.yaml
- name: nginx-ports-control-system-overrides
files:
- nginx-ports-control-system-overrides.yaml
generatorOptions:
disableNameSuffixHash: true
...

View File

@ -0,0 +1,9 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
release_group: osh-openstack-nginx-ports-control
...

View File

@ -0,0 +1,37 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
kind: HelmRelease
metadata:
name: openstack-psp-rolebinding
labels:
chart_group: openstack-psp-rolebinding
spec:
releaseName: osh-openstack-psp-rolebinding
chart:
spec:
chart: psp-rolebinding
version: 0.1.0
sourceRef:
kind: HelmRepository
name: starlingx
interval: 5m
timeout: 30m
test:
enable: false
upgrade:
disableHooks: false
dependsOn: []
valuesFrom:
- kind: Secret
name: psp-rolebinding-static-overrides
valuesKey: psp-rolebinding-static-overrides.yaml
- kind: Secret
name: psp-rolebinding-system-overrides
valuesKey: psp-rolebinding-system-overrides.yaml
...

View File

@ -0,0 +1,20 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
namespace: openstack
resources:
- helmrelease.yaml
secretGenerator:
- name: psp-rolebinding-static-overrides
files:
- psp-rolebinding-static-overrides.yaml
- name: psp-rolebinding-system-overrides
files:
- psp-rolebinding-system-overrides.yaml
generatorOptions:
disableNameSuffixHash: true
...

View File

@ -0,0 +1,11 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
release_group: osh-openstack-psp-rolebinding
rolebindingNamespace: openstack
serviceAccount: openstack
...

View File

@ -0,0 +1,41 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
kind: HelmRelease
metadata:
name: rabbitmq
labels:
chart_group: openstack-rabbitmq
spec:
releaseName: osh-openstack-rabbitmq
chart:
spec:
chart: rabbitmq
version: 0.1.14
sourceRef:
kind: HelmRepository
name: starlingx
interval: 5m
timeout: 30m
test:
enable: false
install:
disableHooks: False
upgrade:
disableHooks: False
dependsOn:
- name: memcached
namespace: openstack
valuesFrom:
- kind: Secret
name: rabbitmq-static-overrides
valuesKey: rabbitmq-static-overrides.yaml
- kind: Secret
name: rabbitmq-system-overrides
valuesKey: rabbitmq-system-overrides.yaml
...

View File

@ -0,0 +1,20 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
namespace: openstack
resources:
- helmrelease.yaml
secretGenerator:
- name: rabbitmq-static-overrides
files:
- rabbitmq-static-overrides.yaml
- name: rabbitmq-system-overrides
files:
- rabbitmq-system-overrides.yaml
generatorOptions:
disableNameSuffixHash: true
...

View File

@ -0,0 +1,57 @@
#
# Copyright (c) 2022 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
---
release_group: osh-openstack-rabbitmq
forceBoot:
enabled: true
monitoring:
prometheus:
enabled: false
labels:
server:
node_selector_key: openstack-control-plane
node_selector_value: enabled
prometheus_rabbitmq_exporter:
node_selector_key: openstack-control-plane
node_selector_value: enabled
images:
tags:
image_repo_sync: null
prometheus_rabbitmq_exporter: null
prometheus_rabbitmq_exporter_helm_tests: null
rabbitmq_init: docker.io/starlingx/stx-heat:master-centos-stable-latest
scripted_test: docker.io/rabbitmq:3.9.0-management
rabbitmq: docker.io/rabbitmq:3.9.0
pod:
affinity:
anti:
type:
default: requiredDuringSchedulingIgnoredDuringExecution
tolerations:
rabbitmq:
enabled: true
tolerations:
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
- effect: NoExecute
operator: Exists
- key: openstack-compute-node
operator: Exists
effect: NoSchedule
probes:
readiness:
periodSeconds: 30
liveness:
periodSeconds: 30
# TODO: Revert to upstream defaults once the following LP is resolved:
# https://bugs.launchpad.net/starlingx/+bug/1814595. By changing this PV
# size to 1Gi from the default 265Mi, this avoids the kernel hang from the
# filesystem race as seen in the LP.
volume:
size: 1Gi
...

View File

@ -6,17 +6,16 @@ Build-Depends: debhelper-compat (= 13),
chartmuseum,
helm,
openstack-helm-infra,
procps
openstack-helm,
procps,
python3-k8sapp-openstack-wheels
Standards-Version: 4.5.1
Homepage: https://www.starlingx.io
Package: stx-openstack-helm
Section: libs
Architecture: all
Depends: ${misc:Depends},
openstack-helm,
openstack-helm-infra,
python3-k8sapp-openstack-wheels
Depends: ${misc:Depends}
Description: StarlingX Openstack Armada Helm Charts
This package contains Armada helm charts for the Openstack armada
application.

View File

@ -39,4 +39,4 @@ override_dh_auto_install:
install -d -m 755 $(ROOT)$(HELM_FOLDER)
install -p -D -m 755 helm-charts/*.tgz $(ROOT)$(HELM_FOLDER)
install -d -m 755 $(ARMADA_FOLDER)
install -p -D -m 755 manifests/*.yaml $(ARMADA_FOLDER)
cp -pR manifests/*.yaml $(ARMADA_FOLDER)