Add FluxCD version of snmp app in debian
Add the fluxcd app for snmp to the debian build. Some code repetitions are intentional to make it easier to remove armada in the future. Fluxcd app is set as default. A bypass in encoding function inside snmp.py was needed since Debian is using Python3. Test plan: PASS: build and install package on Debian. PASS: build and install package on Centos. PASS: fluxcd as default in Debian. PASS: armada app still built. PASS: deploy snmp -fluxcd- on Debian. PASS: deploy snmp -fluxcd- on Centos. PASS: Alarm/event traps tests. Story: 2009138 Task: 45596 Signed-off-by: fperez <Fabrizio.Perez@windriver.com> Change-Id: I523c0c9e16551a7897a3008b683e40287c3abde7
This commit is contained in:
parent
ff4dabc2b2
commit
fabbdda698
@ -1,10 +1,11 @@
|
||||
#
|
||||
# Copyright (c) 2020-2021 Wind River Systems, Inc.
|
||||
# Copyright (c) 2020-2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
import keyring
|
||||
import sys
|
||||
from k8sapp_snmp.common import constants as app_constants
|
||||
from os import uname
|
||||
|
||||
@ -17,7 +18,8 @@ from sysinv.db import api
|
||||
from sysinv.helm import base
|
||||
from sysinv.helm import common
|
||||
|
||||
|
||||
PY2 = sys.version_info[0] == 2
|
||||
PY3 = sys.version_info[0] == 3
|
||||
|
||||
class SnmpHelm(base.BaseHelm):
|
||||
"""Class to encapsulate helm operations for the SNMP chart"""
|
||||
@ -59,7 +61,14 @@ class SnmpHelm(base.BaseHelm):
|
||||
# get_password() returns in unicode format, which leads to YAML
|
||||
# that Armada doesn't like. Converting to UTF-8 is safe because
|
||||
# we generated the password originally.
|
||||
return password.encode('utf8', 'strict')
|
||||
# Update Debian: in Python3, using encode produces error connection
|
||||
# to database.
|
||||
ret_password = ''
|
||||
if PY2:
|
||||
ret_password = password.encode('utf8', 'strict')
|
||||
if PY3:
|
||||
ret_password = password
|
||||
return ret_password
|
||||
|
||||
def _get_database_connection(self):
|
||||
host_url = self._format_url_address(self._get_management_address())
|
||||
|
@ -10,38 +10,82 @@ export MINOR_PATCH = $(shell echo $(DEB_VERSION) | cut -f 2 -d '.')
|
||||
|
||||
export APP_NAME = snmp
|
||||
export APP_VERSION = $(MAJOR).$(MINOR_PATCH)
|
||||
export APP_TARBALL = $(APP_NAME)-$(APP_VERSION).tgz
|
||||
export APP_TARBALL_ARMADA = $(APP_NAME)-armada-$(APP_VERSION).tgz
|
||||
export APP_TARBALL_FLUXCD = $(APP_NAME)-$(APP_VERSION).tgz
|
||||
export HELM_REPO = stx-platform
|
||||
export STAGING = staging
|
||||
export STAGING_ARMADA = staging-armada
|
||||
export STAGING_FLUXCD = staging-fluxcd
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_build:
|
||||
|
||||
############
|
||||
# COMMON #
|
||||
############
|
||||
# Create the TGZ file.
|
||||
cd helm-charts && make
|
||||
|
||||
############
|
||||
# ARMADA #
|
||||
############
|
||||
# Setup the staging directory.
|
||||
mkdir -p $(STAGING)
|
||||
cp files/metadata.yaml $(STAGING)
|
||||
cp manifests/*.yaml $(STAGING)
|
||||
mkdir -p $(STAGING)/charts
|
||||
cp helm-charts/*.tgz $(STAGING)/charts
|
||||
mkdir -p $(STAGING_ARMADA)
|
||||
cp files/metadata.yaml $(STAGING_ARMADA)
|
||||
cp manifests/*.yaml $(STAGING_ARMADA)
|
||||
mkdir -p $(STAGING_ARMADA)/charts
|
||||
cp helm-charts/*.tgz $(STAGING_ARMADA)/charts
|
||||
|
||||
# Populate metadata.
|
||||
sed -i 's/@APP_NAME@/$(APP_NAME)/g' $(STAGING)/metadata.yaml
|
||||
sed -i 's/@APP_VERSION@/$(APP_VERSION)/g' $(STAGING)/metadata.yaml
|
||||
sed -i 's/@HELM_REPO@/$(HELM_REPO)/g' $(STAGING)/metadata.yaml
|
||||
cd $(STAGING_ARMADA)
|
||||
sed -i 's/@APP_NAME@/$(APP_NAME)/g' $(STAGING_ARMADA)/metadata.yaml
|
||||
sed -i 's/@APP_VERSION@/$(APP_VERSION)/g' $(STAGING_ARMADA)/metadata.yaml
|
||||
sed -i 's/@HELM_REPO@/$(HELM_REPO)/g' $(STAGING_ARMADA)/metadata.yaml
|
||||
|
||||
# Copy the plugins: installed in the buildroot
|
||||
mkdir -p $(STAGING)/plugins
|
||||
cp /plugins/$(APP_NAME)/*.whl $(STAGING)/plugins
|
||||
mkdir -p $(STAGING_ARMADA)/plugins
|
||||
cp /plugins/$(APP_NAME)/*.whl $(STAGING_ARMADA)/plugins
|
||||
|
||||
# Create the app package.
|
||||
cd $(STAGING) && find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar cfz $(APP_TARBALL) -C $(STAGING)/ .
|
||||
cd $(STAGING_ARMADA) && find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar cfz $(APP_TARBALL_ARMADA) -C $(STAGING_ARMADA)/ .
|
||||
|
||||
# Cleanup staging.
|
||||
rm -rf $(STAGING)
|
||||
rm -rf $(STAGING_ARMADA)
|
||||
|
||||
############
|
||||
# FLUXCD #
|
||||
############
|
||||
|
||||
# Setup the staging directory for fluxcd package.
|
||||
mkdir -p $(STAGING_FLUXCD)
|
||||
cp files/metadata.yaml $(STAGING_FLUXCD)
|
||||
cp -R fluxcd-manifests $(STAGING_FLUXCD)
|
||||
mkdir -p $(STAGING_FLUXCD)/charts
|
||||
cp helm-charts/*.tgz $(STAGING_FLUXCD)/charts
|
||||
|
||||
# Populate metadata.
|
||||
cd $(STAGING_FLUXCD)
|
||||
sed -i 's/@APP_NAME@/$(APP_NAME)/g' $(STAGING_FLUXCD)/metadata.yaml
|
||||
sed -i 's/@APP_VERSION@/$(APP_VERSION)/g' $(STAGING_FLUXCD)/metadata.yaml
|
||||
sed -i 's/@HELM_REPO@/$(HELM_REPO)/g' $(STAGING_FLUXCD)/metadata.yaml
|
||||
|
||||
# Copy the plugins: installed in the buildroot
|
||||
mkdir -p $(STAGING_FLUXCD)/plugins
|
||||
cp /plugins/$(APP_NAME)/*.whl $(STAGING_FLUXCD)/plugins
|
||||
|
||||
# Create the app package.
|
||||
cd $(STAGING_FLUXCD) && find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar cfz $(APP_TARBALL_FLUXCD) -C $(STAGING_FLUXCD)/ .
|
||||
|
||||
# Cleanup staging.
|
||||
rm -rf $(STAGING_FLUXCD)
|
||||
|
||||
override_dh_auto_install:
|
||||
# Install the app tar file.
|
||||
install -d -m 755 $(APP_FOLDER)
|
||||
install -p -D -m 755 $(APP_TARBALL) $(APP_FOLDER)
|
||||
install -p -D -m 755 $(APP_TARBALL_ARMADA) $(APP_FOLDER)
|
||||
install -p -D -m 755 $(APP_TARBALL_FLUXCD) $(APP_FOLDER)
|
||||
|
||||
override_dh_usrlocal:
|
||||
|
Loading…
x
Reference in New Issue
Block a user