refactor:mrzcpd-exporter使用固定镜像,不再使用tsg-init镜像,TSG-13281:重新构造traffic-engine升级包

This commit is contained in:
fumingwei
2023-06-25 18:57:29 +08:00
parent ee41b1ef23
commit 0fbefc7709
15 changed files with 442 additions and 199 deletions

View File

@@ -261,7 +261,7 @@
roles:
- {role: rpm_download, tags: rpm_download}
- hosts: TSG-X-NXR620G40-R01-P0906-tools
- hosts: TSG-X-NXR620G40-R01-P0906-base
remote_user: root
vars_files:
- install_config/group_vars/HAL_TSGXNXR620G40R01P0906.yml

View File

@@ -4,7 +4,7 @@ metadata:
name: exporter-mrzcpd
namespace: kube-system
spec:
chart: https://%{KUBERNETES_API}%/static/charts/exporter-mrzcpd-{{helm_chart_ver}}.tgz
chart: https://%{KUBERNETES_API}%/static/charts/exporter-mrzcpd-1.0.1.tgz
targetNamespace: tsg-os-system
valuesContent: |-
service:

View File

@@ -1,9 +1,9 @@
mrzcpdExporter:
image:
repository: registry.gdnt-cloud.website/tsg-init
repository: registry.gdnt-cloud.website/mrzcpd-exporter
pullPolicy: Never
# tag: ""
tag: "1.0.1"
replicaCount: 1
mergeExporter:

View File

@@ -49,13 +49,22 @@
src: "{{ role_path }}/files/mrzcpd/helm"
dest: /tmp/exporter-mrzcpd/
#### mrzcpd exporter start
- name: "create charts packages"
shell: helm package --app-version {{os_release_ver}} --version {{helm_chart_ver}} -d /var/lib/rancher/k3s/server/static/charts/ /tmp/exporter-mrzcpd/helm
shell: helm package --app-version 1.0.1 --version 1.0.1 -d /var/lib/rancher/k3s/server/static/charts/ /tmp/exporter-mrzcpd/helm
- name: "copy prometheus crd file to dest"
template:
src: "{{ role_path }}/templates/exporter-mrzcpd-crd.yaml.j2"
dest: /var/lib/rancher/k3s/server/manifests/exporter-mrzcpd-crd.yaml
# The image build by the the follow command
# Command 1: docker pull rockylinux:8
# Command 2: docker run --name build-mrzcpd-exporter -it rockylinux:8 bash
# Comanad 3: (In container) yum install python2 && pip2 install PrettyTable==0.7.2
# Command 4: docker commit build-mrzcpd-exporter mrzcpd-exporter.1.0.1.tar
# The container image tag will be upload to file repo.(https://repo.geedge.net/filerepo/install/release/tsg-container-images/)
- name: "Pull mrzcpd-exporter image tar to chroot directory"
get_url:
url: https://repo.geedge.net/filerepo/install/release/tsg-container-images/mrzcpd-exporter.1.0.1.tar
dest: /var/lib/rancher/k3s/agent/images/mrzcpd-exporter.1.0.1.tar
url_username: "{{ lookup('env', 'PULP_REPO_USERNAME') }}"
url_password: "{{ lookup('env', 'PULP_REPO_PASSWORD') }}"
- name: "get merge-exporter images to dest"
get_url:
@@ -63,3 +72,10 @@
dest: /var/lib/rancher/k3s/agent/images/exporter-merger.tar
url_username: "{{ lookup('env', 'PULP_REPO_USERNAME') }}"
url_password: "{{ lookup('env', 'PULP_REPO_PASSWORD') }}"
- name: "copy prometheus crd file to dest"
copy:
src: "{{ role_path }}/files/mrzcpd/exporter-mrzcpd-crd.yaml"
dest: /var/lib/rancher/k3s/server/manifests/exporter-mrzcpd-crd.yaml
#### mrzcpd exporter end

View File

@@ -4,16 +4,12 @@
path: /var/lib/rancher/k3s/server/static/charts/
state: directory
#install helm binary start
- name: "create unarchive directory"
file:
path: "/tmp/helm/"
state: directory
- name: "copy chart directory to dest"
copy:
src: "{{ role_path }}/files/helm"
dest: /tmp/traffic-engine/
- name: "install helm: unarchive helm tar package"
unarchive:
src: "{{ role_path }}/files/helm-linux-amd64.tar.gz"
@@ -25,9 +21,7 @@
dest: /usr/bin/helm
mode: 0755
remote_src: yes
- name: "create charts packages"
shell: helm package --app-version {{os_release_ver}} --version {{helm_chart_ver}} -d /var/lib/rancher/k3s/server/static/charts/ /tmp/traffic-engine/helm
#install helm binary end
- name: "copy kubeconfig.sh to destination"
copy:
@@ -45,27 +39,6 @@
src: "{{ role_path }}/files/sudoers.d/00-kubconfig"
dest: /etc/sudoers.d/
- name: "mkdir hotfix directory"
file:
path: "{{ item }}"
state: directory
with_items:
- /etc/traffic-engine/hotfix/firewall/scripts
- /etc/traffic-engine/hotfix/firewall/files
- /etc/traffic-engine/hotfix/proxy/scripts
- /etc/traffic-engine/hotfix/proxy/files
- /etc/traffic-engine/hotfix/certstore/scripts
- /etc/traffic-engine/hotfix/certstore/files
- name: "copy prestart.sh"
copy:
src: '{{ role_path }}/files/hotfix/prestart.sh'
dest: '{{ item }}'
with_items:
- /etc/traffic-engine/hotfix/firewall/scripts/
- /etc/traffic-engine/hotfix/proxy/scripts/
- /etc/traffic-engine/hotfix/certstore/scripts/
- name: "copy clusterrole file to dest"
copy:
src: "{{ role_path }}/files/service-read-role.yaml"

View File

@@ -0,0 +1,90 @@
#!/bin/sh
CONTAINER_IMAGES_TAR="%%CONTAINER_IMAGES_TAR%%"
HELM_CHART_TAR="%%HELM_CHART_TAR%%"
charts_dest_dir="/var/lib/rancher/k3s/server/static/charts"
images_dest_dir="/var/lib/rancher/k3s/agent/images"
clixon_conf_path="/opt/tsg/clixon/etc/mgnt-srv.conf"
load_images_switch="on"
src_dir=$(dirname $0)
#function define start
function read_charts_dest_dir_from_env()
{
if [ ! -z "${APP_BUNDLE_CHARTS_DEST_DIR}" ]; then
charts_dest_dir="${APP_BUNDLE_CHARTS_DEST_DIR}"
fi
}
function read_images_dest_dir_from_env()
{
if [ ! -z "${APP_BUNDLE_IMAGES_DEST_DIR}" ]; then
images_dest_dir="${APP_BUNDLE_IMAGES_DEST_DIR}"
fi
}
function read_clixon_conf_path_from_env()
{
if [ ! -z "${APP_BUNDLE_CLIXON_CONF_PATH}" ]; then
clixon_conf_path="${APP_BUNDLE_CLIXON_CONF_PATH}"
fi
}
function read_load_images_switch_from_env()
{
if [ ! -z "${APP_BUNDLE_LOAD_IMAGES_SWITCH}" ]; then
load_images_switch="${APP_BUNDLE_LOAD_IMAGES_SWITCH}"
fi
}
function copy_charts_to_dest()
{
if [ -d "${charts_dest_dir}" ]; then
mkdir -p "${charts_dest_dir}"
fi
cp -r ${src_dir}/${HELM_CHART_TAR} ${charts_dest_dir}
}
function copy_images_to_dest()
{
if [ -d "${images_dest_dir}" ]; then
mkdir -p "${images_dest_dir}"
fi
cp -r ${src_dir}/${CONTAINER_IMAGES_TAR} ${images_dest_dir}
}
function replace_clixon_chart_name()
{
if [ ! -f "${clixon_conf_path}" ]; then
echo "Error: ${clixon_conf_path} is not exist!"
exit 1
fi
sed -ie "s/chart_name=.*/chart_name=${HELM_CHART_TAR}/g" ${clixon_conf_path}
}
function load_images()
{
if [ "${load_images_switch}" = "on" ]; then
/usr/bin/k3s ctr image import ${images_dest_dir}/${CONTAINER_IMAGES_TAR}
fi
}
#function define end
#function exec start
read_charts_dest_dir_from_env
read_images_dest_dir_from_env
read_clixon_conf_path_from_env
read_load_images_switch_from_env
copy_charts_to_dest
copy_images_to_dest
replace_clixon_chart_name
load_images
#function exec end

View File

@@ -31,7 +31,9 @@ grub_serial_command="%%GRUB_SERIAL_COMMAND%%"
DISTR0_VER="%%DISTR0_VER%%"
MACHINE_ID="%%MACHINE_ID%%"
CHROOT_PKG="%%CHROOT_PKG%%"
CONTAINER_IMAGES_PKG="%%CONTAINER_IMAGES_PKG%%"
APP_BUNDLE_BIN="%%APP_BUNDLE_BIN%%"
HELM_CHART_TAR_GLOB="%%HELM_CHART_TAR_GLOB%%"
CONTAINER_IMAGES_TAR_GLOB="%%CONTAINER_IMAGES_TAR_GLOB%%"
size_part_tsg_os_update="%%SIZE_PART_UPDATE%%"
size_part_tsg_os_sysroot="%%SIZE_PART_SYSROOT%%"
@@ -283,10 +285,17 @@ chroot ${distro_mnt} /distro-setup.sh ${blk_dev}
umount ${distro_mnt}/dev/pts
}
if [ -f ${CONTAINER_IMAGES_PKG} ]; then
if [ -f ${APP_BUNDLE_BIN} ]; then
mkdir -p ${distro_mnt}/data/var/lib/rancher/k3s/agent/images
rm -rf ${distro_mnt}/data/var/lib/rancher/k3s/agent/images/tsg-*-docker.tar
tar -xf ${CONTAINER_IMAGES_PKG} -C ${distro_mnt}/data/var/lib/rancher/k3s/agent/images
mkdir -p ${distro_mnt}/data/var/lib/rancher/k3s/server/static/charts
rm -rf ${distro_mnt}/data/var/lib/rancher/k3s/agent/images/${CONTAINER_IMAGES_TAR_GLOB}
rm -rf ${distro_mnt}/data/var/lib/rancher/k3s/server/static/charts/${HELM_CHART_TAR_GLOB}
chmod 0755 ${APP_BUNDLE_BIN}
export APP_BUNDLE_CHARTS_DEST_DIR="${distro_mnt}/data/var/lib/rancher/k3s/server/static/charts"
export APP_BUNDLE_IMAGES_DEST_DIR="${distro_mnt}/data/var/lib/rancher/k3s/agent/images"
export APP_BUNDLE_CLIXON_CONF_PATH="${distro_mnt}/opt/tsg/clixon/etc/mgnt-srv.conf"
export APP_BUNDLE_LOAD_IMAGES_SWITCH="off"
./${APP_BUNDLE_BIN} -i ${distro_mnt}/data/var/lib/rancher/k3s/agent/images -c ${distro_mnt}/data/var/lib/rancher/k3s/server/static/charts
fi
umount ${distro_mnt}/proc

View File

@@ -1,176 +1,61 @@
PROFILE_ID := TSG-X-NXR620G40-R01-P0906
PROFILE_ID := TSG-X-NXR620G40-R01-P0906
PROFILE_ID_IN_SHORT := $(subst -,$e,$(PROFILE_ID))
PROFILE_ID_IN_SHORT := $(subst -,$e,$(PROFILE_ID))
CONTAINER_IMAGES_PKG := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-container-images.tar.bz2
TRAFFIC_ENGINE_TAR := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-traffic-engine.tar.gz
CONTAINER_IMAGES_TAR := traffic-engine-${OS_RELEASE_VER}-docker.tar
HELM_CHART_TAR := traffic-engine-$(HELM_CHART_VER).tgz
APP_BUNDLE_BIN := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-APP-BUNDLE.bin
TARGET_SYSROOT_DIR := $(TARGET_BUILD_DIR)/sysroot
CONTAINER_IMAGES_TAR_GLOB := traffic-engine-*-docker.tar
HELM_CHART_TAR_GLOB := traffic-engine-*.tgz
TARGET_CONTAINER_IMAGE_TAR_DIR := $(TARGET_BUILD_DIR)/container_images/tar
TOOLS_INSTALL_IMAGE_NAME_TAG := 8-base-tools-installed-${OS_RELEASE_VER}
TOOLS_INSTALL_CONTAINER_NAME := rockylinux-8-base-tools-install-${OS_RELEASE_VER}
TOOLS_COMPONENT_NAME := tools
FIREWALL_COMPONENT_NAME := firewall
FIREWALL_INSTALL_CONTAINER_NAME := tsg-$(FIREWALL_COMPONENT_NAME)-install-${OS_RELEASE_VER}
PROXY_COMPONENT_NAME := proxy
PROXY_INSTALL_CONTAINER_NAME := tsg-$(PROXY_COMPONENT_NAME)-install-${OS_RELEASE_VER}
CERTSTORE_COMPONENT_NAME := certstore
CERTSTORE_INSTALL_CONTAINER_NAME := tsg-$(CERTSTORE_COMPONENT_NAME)-install-${OS_RELEASE_VER}
TELEGRAF_COMPONENT_NAME := telegraf
TELEGRAF_INSTALL_CONTAINER_NAME := tsg-$(TELEGRAF_COMPONENT_NAME)-install-${OS_RELEASE_VER}
INIT_COMPONENT_NAME := init
INIT_INSTALL_CONTAINER_NAME := tsg-$(INIT_COMPONENT_NAME)-install-${OS_RELEASE_VER}
SCE_COMPONENT_NAME := sce
SCE_INSTALL_CONTAINER_NAME := tsg-$(SCE_COMPONENT_NAME)-install-${OS_RELEASE_VER}
BFDD_COMPONENT_NAME := bfdd
BFDD_INSTALL_CONTAINER_NAME := tsg-$(BFDD_COMPONENT_NAME)-install-${OS_RELEASE_VER}
TARGET_BUILD_DIR := $(BUILDDIR_BASE)/$(PROFILE_ID)/containers
TARGET_INSTALLER_DIR := $(TARGET_BUILD_DIR)/installer
SHAPING_COMPONENT_NAME := shaping
SHAPING_INSTALL_CONTAINER_NAME := tsg-$(SHAPING_COMPONENT_NAME)-install-${OS_RELEASE_VER}
.PHONY: all build_dir installer clean_installer_dir prebuild_container_images build_container_images build_helm_charts build_app_bundle_bin
all: build_app_bundle_bin
TRAFFIC_ENGINE_IMAGES_TAR := tsg-traffic-engine-${OS_RELEASE_VER}-docker.tar
build_dir:
mkdir -p $(TARGET_BUILD_DIR)
mkdir -p $(TARGET_INSTALLER_DIR)
CONTAINER_IMAGE_REPO_PREFIX := registry.gdnt-cloud.website
clean_installer_dir:
rm -rf $(TARGET_INSTALLER_DIR)
.PHONY: all builddir installer container-tar container-images-generate clean
installer: build_dir
cp $(INSTALLERDIR)/app_bundle_install.sh $(TARGET_INSTALLER_DIR)/install.sh
chmod +x $(TARGET_INSTALLER_DIR)/install.sh
all: container-tar
sed -i -e "s/%%CONTAINER_IMAGES_TAR%%/$(CONTAINER_IMAGES_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%HELM_CHART_TAR%%/$(HELM_CHART_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%CONTAINER_IMAGES_TAR_GLOB%%/$(CONTAINER_IMAGES_TAR_GLOB)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%HELM_CHART_TAR_GLOB%%/$(HELM_CHART_TAR_GLOB)/" $(TARGET_INSTALLER_DIR)/install.sh
builddir:
mkdir -p $(TARGET_CONTAINER_IMAGE_TAR_DIR)
mkdir -p /tmp/helm
tar -zxvf $(PROJECTDIR)/ansible/roles/traffic-engine/files/helm-linux-amd64.tar.gz -C /tmp/helm
installer: builddir
prebuild_container_images:
ifeq ($(ENABLE_LICENSE_PROTECTED),1)
sed -i '/sapp:/d;/tfe-pr:/d;/mrzcpd:/d' $(PROJECTDIR)/ansible/install_config/group_vars/rpm_version.yml
else
sed -i '/sapp-pr:/d;/tfe-pr:/d;/mrzcpd:/d' $(PROJECTDIR)/ansible/install_config/group_vars/rpm_version.yml
endif
ifeq ($(ENABLE_ALIYUN_INTERNAL_DOMAIN),1)
sed -i -e "s/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/" $(CONFDIR)/yum-RockyLinux-8.conf
endif
container-images-generate: builddir
podman load < $(PROJECTDIR)/package/rockylinux8.tar
buildah from --name $(TOOLS_INSTALL_CONTAINER_NAME) rockylinux:8
buildah copy $(TOOLS_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
buildah copy $(TOOLS_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
buildah run $(TOOLS_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
$(TOOLSDIR)/ansible-HAL-CONTAINER $(PROFILE_ID)-$(TOOLS_COMPONENT_NAME) $(PROJECTDIR) /tmp/empty/container /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(TOOLS_INSTALL_CONTAINER_NAME)
buildah run $(TOOLS_INSTALL_CONTAINER_NAME) -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run $(TOOLS_INSTALL_CONTAINER_NAME) -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
buildah commit $(TOOLS_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
buildah rm $(TOOLS_INSTALL_CONTAINER_NAME)
build_container_images: prebuild_container_images
chmod 0755 $(PROJECTDIR)/tools/build_container_images.sh
$(PROJECTDIR)/tools/build_container_images.sh $(PROJECTDIR) $(CONFDIR) $(TOOLSDIR) $(OS_RELEASE_VER) $(PROFILE_ID) $(IMAGEDIR_BASE) $(TARGET_INSTALLER_DIR) $(CONTAINER_IMAGES_TAR)
buildah from --name $(FIREWALL_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
buildah copy $(FIREWALL_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
buildah copy $(FIREWALL_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
buildah run $(FIREWALL_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
$(TOOLSDIR)/ansible-HAL-CONTAINER $(PROFILE_ID)-$(FIREWALL_COMPONENT_NAME) $(PROJECTDIR) /tmp/empty/container /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(FIREWALL_INSTALL_CONTAINER_NAME)
buildah run $(FIREWALL_INSTALL_CONTAINER_NAME) -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run $(FIREWALL_INSTALL_CONTAINER_NAME) -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
buildah commit $(FIREWALL_INSTALL_CONTAINER_NAME) $(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(FIREWALL_COMPONENT_NAME):$(OS_RELEASE_VER)
buildah rm $(FIREWALL_INSTALL_CONTAINER_NAME)
buildah from --name $(PROXY_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
buildah copy $(PROXY_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
buildah copy $(PROXY_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
buildah run $(PROXY_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
$(TOOLSDIR)/ansible-HAL-CONTAINER $(PROFILE_ID)-$(PROXY_COMPONENT_NAME) $(PROJECTDIR) /tmp/empty/container /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(PROXY_INSTALL_CONTAINER_NAME)
buildah run $(PROXY_INSTALL_CONTAINER_NAME) -- bash -c "cat /etc/sysctl.d/80-tfe.conf" > $(IMAGEDIR_BASE)/80-tfe.conf
buildah run $(PROXY_INSTALL_CONTAINER_NAME) -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run $(PROXY_INSTALL_CONTAINER_NAME) -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
buildah commit $(PROXY_INSTALL_CONTAINER_NAME) $(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(PROXY_COMPONENT_NAME):$(OS_RELEASE_VER)
buildah rm $(PROXY_INSTALL_CONTAINER_NAME)
build_helm_charts: build_dir
chmod 0755 $(PROJECTDIR)/tools/build_helm_charts.sh
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR)
buildah from --name $(CERTSTORE_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
buildah copy $(CERTSTORE_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
buildah copy $(CERTSTORE_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
buildah run $(CERTSTORE_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
$(TOOLSDIR)/ansible-HAL-CONTAINER $(PROFILE_ID)-$(CERTSTORE_COMPONENT_NAME) $(PROJECTDIR) /tmp/empty/container /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(CERTSTORE_INSTALL_CONTAINER_NAME)
buildah run $(CERTSTORE_INSTALL_CONTAINER_NAME) -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run $(CERTSTORE_INSTALL_CONTAINER_NAME) -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
buildah commit $(CERTSTORE_INSTALL_CONTAINER_NAME) $(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(CERTSTORE_COMPONENT_NAME):$(OS_RELEASE_VER)
buildah rm $(CERTSTORE_INSTALL_CONTAINER_NAME)
buildah from --name $(TELEGRAF_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
buildah copy $(TELEGRAF_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
buildah copy $(TELEGRAF_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
buildah run $(TELEGRAF_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
$(TOOLSDIR)/ansible-HAL-CONTAINER $(PROFILE_ID)-$(TELEGRAF_COMPONENT_NAME) $(PROJECTDIR) /tmp/empty/container /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(TELEGRAF_INSTALL_CONTAINER_NAME)
buildah run $(TELEGRAF_INSTALL_CONTAINER_NAME) -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run $(TELEGRAF_INSTALL_CONTAINER_NAME) -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
buildah commit $(TELEGRAF_INSTALL_CONTAINER_NAME) $(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(TELEGRAF_COMPONENT_NAME):$(OS_RELEASE_VER)
buildah rm $(TELEGRAF_INSTALL_CONTAINER_NAME)
buildah from --name $(INIT_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
buildah copy $(INIT_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
buildah copy $(INIT_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
buildah run $(INIT_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
$(TOOLSDIR)/ansible-HAL-CONTAINER $(PROFILE_ID)-$(INIT_COMPONENT_NAME) $(PROJECTDIR) /tmp/empty/container /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(INIT_INSTALL_CONTAINER_NAME)
buildah run $(INIT_INSTALL_CONTAINER_NAME) -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run $(INIT_INSTALL_CONTAINER_NAME) -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
buildah commit $(INIT_INSTALL_CONTAINER_NAME) $(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(INIT_COMPONENT_NAME):$(OS_RELEASE_VER)
buildah rm $(INIT_INSTALL_CONTAINER_NAME)
buildah from --name $(SCE_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
buildah copy $(SCE_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
buildah copy $(SCE_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
buildah run $(SCE_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
$(TOOLSDIR)/ansible-HAL-CONTAINER $(PROFILE_ID)-$(SCE_COMPONENT_NAME) $(PROJECTDIR) /tmp/empty/container /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(SCE_INSTALL_CONTAINER_NAME)
buildah run $(SCE_INSTALL_CONTAINER_NAME) -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run $(SCE_INSTALL_CONTAINER_NAME) -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
buildah commit $(SCE_INSTALL_CONTAINER_NAME) $(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(SCE_COMPONENT_NAME):$(OS_RELEASE_VER)
buildah rm $(SCE_INSTALL_CONTAINER_NAME)
buildah from --name $(BFDD_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
buildah copy $(BFDD_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
buildah copy $(BFDD_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
buildah run $(BFDD_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
$(TOOLSDIR)/ansible-HAL-CONTAINER $(PROFILE_ID)-$(BFDD_COMPONENT_NAME) $(PROJECTDIR) /tmp/empty/container /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(BFDD_INSTALL_CONTAINER_NAME)
buildah run $(BFDD_INSTALL_CONTAINER_NAME) -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run $(BFDD_INSTALL_CONTAINER_NAME) -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
buildah commit $(BFDD_INSTALL_CONTAINER_NAME) $(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(BFDD_COMPONENT_NAME):$(OS_RELEASE_VER)
buildah rm $(BFDD_INSTALL_CONTAINER_NAME)
buildah from --name $(SHAPING_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
buildah copy $(SHAPING_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
buildah copy $(SHAPING_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
buildah run $(SHAPING_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
$(TOOLSDIR)/ansible-HAL-CONTAINER $(PROFILE_ID)-$(SHAPING_COMPONENT_NAME) $(PROJECTDIR) /tmp/empty/container /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(SHAPING_INSTALL_CONTAINER_NAME)
buildah run $(SHAPING_INSTALL_CONTAINER_NAME) -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run $(SHAPING_INSTALL_CONTAINER_NAME) -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
buildah commit $(SHAPING_INSTALL_CONTAINER_NAME) $(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(SHAPING_COMPONENT_NAME):$(OS_RELEASE_VER)
buildah rm $(SHAPING_INSTALL_CONTAINER_NAME)
container-tar: installer container-images-generate
podman save -o $(TARGET_CONTAINER_IMAGE_TAR_DIR)/$(TRAFFIC_ENGINE_IMAGES_TAR) -m \
$(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(FIREWALL_COMPONENT_NAME):$(OS_RELEASE_VER) \
$(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(PROXY_COMPONENT_NAME):$(OS_RELEASE_VER) \
$(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(CERTSTORE_COMPONENT_NAME):$(OS_RELEASE_VER) \
$(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(TELEGRAF_COMPONENT_NAME):$(OS_RELEASE_VER) \
$(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(INIT_COMPONENT_NAME):$(OS_RELEASE_VER) \
$(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(SCE_COMPONENT_NAME):$(OS_RELEASE_VER) \
$(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(BFDD_COMPONENT_NAME):$(OS_RELEASE_VER) \
$(CONTAINER_IMAGE_REPO_PREFIX)/tsg-$(SHAPING_COMPONENT_NAME):$(OS_RELEASE_VER)
tar --exclude=*~ --exclude-backups --owner=root --group=root -c -C $(TARGET_CONTAINER_IMAGE_TAR_DIR) . | pbzip2 -p9 > $(IMAGEDIR_BASE)/$(CONTAINER_IMAGES_PKG)
/tmp/helm/linux-amd64/helm package --app-version $(OS_RELEASE_VER) --version $(HELM_CHART_VER) -d $(IMAGEDIR_BASE) $(PROJECTDIR)/ansible/roles/traffic-engine/files/helm
/tmp/helm/linux-amd64/helm package --app-version $(OS_RELEASE_VER) --version $(HELM_CHART_VER) -d $(IMAGEDIR_BASE) $(PROJECTDIR)/ansible/roles/k3s-exporter/files/mrzcpd/helm
tar -zcvf /tmp/$(TRAFFIC_ENGINE_TAR) -C $(IMAGEDIR_BASE) traffic-engine-$(HELM_CHART_VER).tgz exporter-mrzcpd-$(HELM_CHART_VER).tgz $(CONTAINER_IMAGES_PKG)
mv /tmp/$(TRAFFIC_ENGINE_TAR) $(IMAGEDIR_BASE)
sha256sum $(IMAGEDIR_BASE)/$(TRAFFIC_ENGINE_TAR) | awk '{print $$1}' > $(IMAGEDIR_BASE)/$(TRAFFIC_ENGINE_TAR).sha256sum.txt
build_app_bundle_bin: clean_installer_dir installer build_helm_charts build_container_images
mkdir -p $(TARGET_BUILD_DIR)/app-bundle-cook-bits
chmod 0755 $(TOOLSDIR)/app-bundle-cook-bits
$(TOOLSDIR)/app-bundle-cook-bits $(TARGET_BUILD_DIR) $(TARGET_BUILD_DIR)/app-bundle-cook-bits $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN)
sha256sum $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN) | awk '{print $$1}' > $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN).sha256sum.txt
clean:
rm -rf $(TARGET_BUILD_DIR)

View File

@@ -9,7 +9,7 @@ SIZE_PART_UPDATE := 16384M
PROFILE_ID_IN_SHORT := $(subst -,$e,$(PROFILE_ID))
CHROOT_PKG := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-chroot.tar.bz2
CHROOT_BIN := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-ONIE.bin
CONTAINER_IMAGES_PKG := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-container-images.tar.bz2
APP_BUNDLE_BIN := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-APP-BUNDLE.bin
TARGET_BUILD_DIR := $(BUILDDIR_BASE)/$(PROFILE_ID)
TARGET_INSTALLER_DIR := $(TARGET_BUILD_DIR)/installer
@@ -38,7 +38,7 @@ installer: builddir
sed -i -e "s/%%GRUB_SERIAL_COMMAND%%/$(GRUB_SERIAL_COMMAND)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%SIZE_PART_SYSROOT%%/$(SIZE_PART_SYSROOT)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%SIZE_PART_UPDATE%%/$(SIZE_PART_UPDATE)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%CONTAINER_IMAGES_PKG%%/$(CONTAINER_IMAGES_PKG)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%APP_BUNDLE_BIN%%/$(APP_BUNDLE_BIN)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i '/sapp-pr:/d;/tfe-pr:/d;/mrzcpd:/d' $(PROJECTDIR)/ansible/install_config/group_vars/rpm_version.yml
ifeq ($(ENABLE_ALIYUN_INTERNAL_DOMAIN),1)

View File

@@ -0,0 +1,54 @@
#!/bin/bash
#
# Copyright (C) 2017 Rajendra Dendukuri <rajendra.dendukuri@broadcom.com>
#
# SPDX-License-Identifier: GPL-2.0
#
# Make an ONIE installer using CentOS 7 chroot environment
#
# inputs: cento7 chroot package
# output: ONIE compatible OS installer image
#
# Comments: This script expects that yumbootsstrap is installed on
# on the Linux host where it is executed.
#!/bin/sh
set -e
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
INPUT_DIR=$1
WORK_DIR=$2
TARGET_BINARY=$3
echo -n "Creating $TARGET_BINARY: ."
# Repackage $INSTALLDIR into a self-extracting installer image
sharch="$WORK_DIR/sharch.tar"
tar --exclude=*~ --exclude-backups --owner=root --group=root -C $INPUT_DIR -jcf $sharch installer || {
echo "Error: Problems creating $sharch archive"
exit 1
}
[ -f "$sharch" ] || {
echo "Error: $sharch not found"
exit 1
}
echo -n "."
sha1=$(cat $sharch | sha1sum | awk '{print $1}')
echo -n "."
cp $SCRIPT_DIR/app_bundle_body.sh $TARGET_BINARY || {
echo "Error: Problems copying app_bundle_body.sh"
exit 1
}
# Replace variables in the sharch template
sed -i -e "s/%%IMAGE_SHA1%%/$sha1/" $TARGET_BINARY
echo -n "."
cat $sharch >> $TARGET_BINARY
echo " Done."

114
tools/app_bundle_body.sh Normal file
View File

@@ -0,0 +1,114 @@
#!/bin/sh
PAYLOAD_SHA1=%%IMAGE_SHA1%%
tmp_dir=
extract=no
args=$(getopt -a -o hx -l extract,help -- "$@")
eval set -- "${args}"
#function define start
function usage()
{
echo 'Usage:'
echo ' -x, --extract Extract files from app-bundle bin to tmp file and exit'
echo ' -h, --help Give this help'
echo ' Using ENV [$APP_BUNDLE_CHARTS_DEST_DIR] to change the helm charts dest directory'
echo ' Using ENV [$APP_BUNDLE_IMAGES_DEST_DIR] to change the container images dest directory'
echo ' Using ENV [$APP_BUNDLE_CLIXON_CONF_PATH] to set the clixon mgnt-srv.conf path'
echo ' Using ENV [$APP_BUNDLE_LOAD_IMAGES_SWITCH] to set the load images switch'
echo 'example: '$0' -x'
echo 'example: '$0' -h'
exit 0
}
#[ $? -ne 0 ] && usage
function read_option()
{
while true
do
case "$1" in
-x|--extract)
extract=yes
shift
;;
-h|--help)
usage
shift
;;
--)
shift
break
;;
*)
usage
shift
;;
esac
done
}
function verify_checksum()
{
echo -n "Verifying app-bundle bin checksum ..."
sha1=$(sed -e '1,/^exit_marker$/d' "$0" | sha1sum | awk '{ print $1 }')
if [ "$sha1" != "$PAYLOAD_SHA1" ] ; then
echo
echo "ERROR: Unable to verify archive checksum"
echo "Expected: $PAYLOAD_SHA1"
echo "Found : $sha1"
exit 1
fi
echo " OK."
}
function clean_up()
{
if [ "$(id -u)" = "0" ] ; then
umount $tmp_dir > /dev/null 2>&1
fi
rm -rf $tmp_dir
exit $1
}
function extract_file()
{
cur_wd=$(pwd)
archive_path=$(realpath "$0")
tmp_dir=$(mktemp -d)
if [ "$(id -u)" = "0" ] ; then
mount -t tmpfs tmpfs-installer $tmp_dir || clean_up 1
fi
cd $tmp_dir
echo -n "Preparing image archive ..."
sed -e '1,/^exit_marker$/d' $archive_path | tar jxf - || clean_up 1
echo " OK."
cd $cur_wd
}
function is_extract_and_exit()
{
if [ "$extract" = "yes" ] ; then
# stop here
echo "Image extracted to: $tmp_dir"
if [ "$(id -u)" = "0" ] ; then
echo "To un-mount the tmpfs when finished type: umount $tmp_dir"
fi
exit 0
fi
}
read_option $@
verify_checksum
extract_file
is_extract_and_exit
$tmp_dir/installer/install.sh $@
rc="$?"
clean_up $rc
exit_marker

View File

@@ -0,0 +1,87 @@
#!/bin/sh -e
CODE_PROJECT_DIR=$1
CODE_CONF_DIR=$2
CODE_TOOTS_DIR=$3
OS_RELEASE_VER=$4
PROFILE_ID=$5
IMAGE_CACHE_DIR=$6
EXPORT_IMAGES_DIR=$7
EXPORT_IMAGES_NAME=$8
IMAGE_REPO_PREFIX="registry.gdnt-cloud.website"
BASE_IMAGE_NAME="${IMAGE_REPO_PREFIX}/tsg-base:${OS_RELEASE_VER}"
##function define start
function load_rockylinux_image()
{
podman load < ${CODE_PROJECT_DIR}/package/rockylinux8.tar
}
function build_image()
{
local component_name=$1
local source_image_name=$2
local target_image_name=$3
local container_name="tsg-${component_name}-install-${OS_RELEASE_VER}"
#create container
buildah from --name ${container_name} ${source_image_name}
#copy /etc/hosts into container
buildah copy ${container_name} ${CODE_CONF_DIR}/yum-RockyLinux-8.conf /tmp/
buildah copy ${container_name} /etc/hosts /tmp/
buildah run ${container_name} -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
#deploy the traffic engine into container
${CODE_TOOTS_DIR}/ansible-HAL-CONTAINER ${PROFILE_ID}-${component_name} ${CODE_PROJECT_DIR} /tmp/empty/container /tmp/yum-RockyLinux-8.conf ${OS_RELEASE_VER} ${container_name}
#clean install fine in container
buildah run ${container_name} -- bash -c "yum clean all -y; yum -c /tmp/yum-RockyLinux-8.conf clean all -y"
buildah run ${container_name} -- bash -c "cp /tmp/ks-script-* /; cp /tmp/hosts.bak /etc/hosts; rm -rf /tmp/*; mv /ks-script-* /tmp"
##
if [ "proxy" == "${component_name}" ]; then
buildah run ${container_name} -- bash -c "cat /etc/sysctl.d/80-tfe.conf" > ${IMAGE_CACHE_DIR}/80-tfe.conf
fi
#commit container
buildah commit ${container_name} ${target_image_name}
#delete container
buildah rm ${container_name}
}
function export_images()
{
podman save -o ${EXPORT_IMAGES_DIR}/${EXPORT_IMAGES_NAME} -m \
${IMAGE_REPO_PREFIX}/tsg-firewall:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-proxy:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-certstore:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-telegraf:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-init:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-sce:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-bfdd:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-shaping:${OS_RELEASE_VER}
}
##function define end
load_rockylinux_image
build_image "base" "rockylinux:8" "${BASE_IMAGE_NAME}"
build_image "firewall" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-firewall:${OS_RELEASE_VER}"
build_image "proxy" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-proxy:${OS_RELEASE_VER}"
build_image "certstore" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-certstore:${OS_RELEASE_VER}"
build_image "telegraf" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-telegraf:${OS_RELEASE_VER}"
build_image "init" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-init:${OS_RELEASE_VER}"
build_image "sce" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-sce:${OS_RELEASE_VER}"
build_image "bfdd" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-bfdd:${OS_RELEASE_VER}"
build_image "shaping" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-shaping:${OS_RELEASE_VER}"
export_images

View File

@@ -0,0 +1,17 @@
#!/bin/sh -e
CODE_PROJECT_DIR=$1
OS_RELEASE_VER=$2
WRITE_HELM_CHART_VER=$3
WRITE_HELM_CHART_DIR=$4
##function define start
function build_helm_charts()
{
mkdir -p /tmp/helm
tar -zxvf ${CODE_PROJECT_DIR}/ansible/roles/traffic-engine/files/helm-linux-amd64.tar.gz -C /tmp/helm
/tmp/helm/linux-amd64/helm package --app-version ${OS_RELEASE_VER} --version ${WRITE_HELM_CHART_VER} -d ${WRITE_HELM_CHART_DIR} ${CODE_PROJECT_DIR}/ansible/roles/traffic-engine/files/helm
rm -rf /tmp/helm
}
##function define end
build_helm_charts

View File

@@ -148,9 +148,7 @@ case $profile_id in
esac
# ansible-playbook -i tsg-9140-scripts/install_config/tsg_9140_host tsg-9140-scripts/tsg_9140_deploy.yml
yum -c "$yum_config" --installroot="$target" -y --setopt=$setopt clean all
mkdir -p /etc/NetworkManager/conf.d
echo "[ifupdown]" > /etc/NetworkManager/conf.d/01-update-ifupdown.conf
echo "managed=true" >> /etc/NetworkManager/conf.d/01-update-ifupdown.conf
rm -rf $target/tmp/*
rm -rf $target/core.*
#rm -rf $target/etc/machine-id

View File

@@ -12,8 +12,8 @@ function upload_kvm_glob_file()
function upload_app_bundle_glob_file()
{
python3 ~/file_upload_tools_to_share_repo.py ${FILE_REPO_PATH} ./images/*.tar.gz.sha256sum.txt
python3 ~/file_upload_tools_to_share_repo.py ${FILE_REPO_PATH} ./images/*.tar.gz
python3 ~/file_upload_tools_to_share_repo.py ${FILE_REPO_PATH} ./images/*-APP-BUNDLE.bin
python3 ~/file_upload_tools_to_share_repo.py ${FILE_REPO_PATH} ./images/*-APP-BUNDLE.bin.sha256sum.txt
}
function upload_onie_glob_file()