feature: add tsg-os target to archive tsg-os images.

This commit is contained in:
fumingwei
2024-10-24 14:54:09 +08:00
parent 85c791efde
commit d482ecde9b
5 changed files with 51 additions and 34 deletions

View File

@@ -1,5 +1,7 @@
requisites_images_name := firewall proxy proxy-certstore sce sce-bfdd shaping
rule_target := traffic-engine
requisites_images_name := firewall proxy proxy-certstore sce sce-bfdd shaping \
packet-io-engine inject-adapter trex nic-uio-binder \
log-collector dp-trace-telemetry
rule_target := tsg-os
rule_prerequisites := $(foreach name,$(requisites_images_name),$(BUILD_DIR)/$(name)/$(BUILD_DONE_FILE))
rule_recipes := rm -rf $(IMAGE_TAR_DIR)/$(rule_target)-$(IMAGE_TAG)-$(IMAGE_ARCH)-docker.tar;\
podman save \

View File

@@ -0,0 +1,4 @@
rule_target := tsg-os
rule_prerequisites := traffic-engine packet-io-engine inject-adapter trex \
nic-uio-binder log-collector dp-trace-telemetry
rule_recipes :=

View File

@@ -1,16 +1,15 @@
#!/bin/sh
CONTAINER_IMAGES_TAR="%%CONTAINER_IMAGES_TAR%%"
TRAFFIC_ENGINE_HELM_CHART_TAR="%%TRAFFIC_ENGINE_HELM_CHART_TAR%%"
INJECT_HELM_CHART_TAR="%%INJECT_HELM_CHART_TAR%%"
MRZCPD_HELM_CHART_TAR="%%MRZCPD_HELM_CHART_TAR%%"
TREX_HELM_CHART_TAR="%%TREX_HELM_CHART_TAR%%"
DP_TRACE_HELM_CHART_TAR="%%DP_TRACE_HELM_CHART_TAR%%"
TSG_CM_HELM_CHART_TAR="%%TSG_CM_HELM_CHART_TAR%%"
TSG_CM_CONTAINER_IMAGE_TAR="%%TSG_CM_CONTAINER_IMAGE_TAR%%"
charts_dest_dir="/var/lib/rancher/k3s/server/static/charts"
images_dest_dir="/var/lib/rancher/k3s/agent/images"
manifests_dest_dir="/var/lib/rancher/k3s/server/manifests"
clixon_conf_path="/opt/tsg/clixon/etc/mgnt-srv.conf"
load_images_switch="on"
@@ -31,6 +30,13 @@ function read_images_dest_dir_from_env()
fi
}
function read_manifests_dest_dir_from_env()
{
if [ ! -z "${APP_BUNDLE_MANIFESTS_DEST_DIR}" ]; then
manifests_dest_dir="${APP_BUNDLE_MANIFESTS_DEST_DIR}"
fi
}
function read_clixon_conf_path_from_env()
{
if [ ! -z "${APP_BUNDLE_CLIXON_CONF_PATH}" ]; then
@@ -45,29 +51,31 @@ function read_load_images_switch_from_env()
fi
}
function copy_charts_to_dest()
function install_helmcharts()
{
if [ -d "${charts_dest_dir}" ]; then
mkdir -p "${charts_dest_dir}"
fi
cp -r ${src_dir}/${TRAFFIC_ENGINE_HELM_CHART_TAR} ${charts_dest_dir}
cp -r ${src_dir}/${INJECT_HELM_CHART_TAR} ${charts_dest_dir}
cp -r ${src_dir}/${MRZCPD_HELM_CHART_TAR} ${charts_dest_dir}
cp -r ${src_dir}/${TREX_HELM_CHART_TAR} ${charts_dest_dir}
cp -r ${src_dir}/${DP_TRACE_HELM_CHART_TAR} ${charts_dest_dir}
cp -r ${src_dir}/helmcharts/* ${charts_dest_dir}
}
function copy_images_to_dest()
function install_images()
{
if [ -d "${images_dest_dir}" ]; then
mkdir -p "${images_dest_dir}"
fi
cp -r ${src_dir}/${CONTAINER_IMAGES_TAR} ${images_dest_dir}
cp -r ${src_dir}/images/* ${images_dest_dir}
}
function install_mainfests()
{
if [ -d "${manifests_dest_dir}" ]; then
mkdir -p "${manifests_dest_dir}"
fi
cp -arf ${src_dir}/manifests/* ${manifests_dest_dir}
}
function replace_clixon_chart_name()
{
@@ -81,32 +89,28 @@ function replace_clixon_chart_name()
sed -ie "s/^mrzcpd_chart_name=.*/mrzcpd_chart_name=${MRZCPD_HELM_CHART_TAR}/g" ${clixon_conf_path}
sed -ie "s/^trex_chart_name=.*/trex_chart_name=${TREX_HELM_CHART_TAR}/g" ${clixon_conf_path}
sed -ie "s/^datapath_trace_chart_name=.*/datapath_trace_chart_name=${DP_TRACE_HELM_CHART_TAR}/g" ${clixon_conf_path}
sed -ie "s/^tsg_cm_chart_name=.*/tsg_cm_chart_name=${TSG_CM_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}
for image_tar_name in $(ls ${src_dir}/images/*.tar 2>/dev/null | sed 's#.*/##'); do
/usr/bin/k3s ctr image import ${images_dest_dir}/${image_tar_name}
done
fi
}
#function define end
function install_tsg_cm()
{
sed -ie "s/^tsg_cm_chart_name=.*/tsg_cm_chart_name=${TSG_CM_HELM_CHART_TAR}/g" ${clixon_conf_path}
cp -r ${src_dir}/${TSG_CM_HELM_CHART_TAR} ${charts_dest_dir}
cp -r ${src_dir}/${TSG_CM_CONTAINER_IMAGE_TAR} ${images_dest_dir}
}
#function exec start
read_charts_dest_dir_from_env
read_images_dest_dir_from_env
read_manifests_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
install_tsg_cm
install_helmcharts
install_images
install_mainfests
load_images
#function exec end

View File

@@ -368,6 +368,7 @@ if [ -f ${APP_BUNDLE_BIN} ]; then
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_MANIFESTS_DEST_DIR="${distro_mnt}/data/var/lib/rancher/k3s/server/manifests"
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}

View File

@@ -6,15 +6,19 @@
# app bin dir
#./installer
# install.sh
# helmcharts.tgz
# images.tar
# mainfest.yaml
# /helmcharts/*.tgz
# /images/*.tar
# /manifests/*.yaml
PROFILE_ID := x86_64_COTS
PROFILE_ID_IN_SHORT := $(subst -,$e,$(PROFILE_ID))
TARGET_BUILD_DIR := $(BUILDDIR_BASE)/$(PROFILE_ID)/app-bundle
TARGET_INSTALLER_DIR := $(TARGET_BUILD_DIR)/installer
TARGET_MANIFESTS_DIR := $(TARGET_INSTALLER_DIR)/manifests
TARGET_HELMCHARTS_DIR := $(TARGET_INSTALLER_DIR)/helmcharts
TARGET_IMAGES_DIR := $(TARGET_INSTALLER_DIR)/images
COOK_BITS_DIR := $(TARGET_BUILD_DIR)/cook-bits
APP_BUNDLE_BIN := tsg-os-$(OS_RELEASE_VER)-$(PROFILE_ID_IN_SHORT)-APP-BUNDLE.bin
@@ -39,28 +43,30 @@ install-scripts:
cp $(INSTALLERDIR)/app_bundle_install.sh $(TARGET_INSTALLER_DIR)/install.sh
chmod +x $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%CONTAINER_IMAGES_TAR%%/traffic-engine-${OS_RELEASE_VER}-docker.tar/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%TRAFFIC_ENGINE_HELM_CHART_TAR%%/traffic-engine-$(HELM_CHART_VER).tgz/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%INJECT_HELM_CHART_TAR%%/inject-adapter-$(HELM_CHART_VER).tgz/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%MRZCPD_HELM_CHART_TAR%%/mrzcpd-$(HELM_CHART_VER).tgz/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%TREX_HELM_CHART_TAR%%/trex-$(HELM_CHART_VER).tgz/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%DP_TRACE_HELM_CHART_TAR%%/datapath-trace-$(HELM_CHART_VER).tgz/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%TSG_CM_HELM_CHART_TAR%%/tsg-cm-chart-0.1.0.tgz/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%TSG_CM_CONTAINER_IMAGE_TAR%%/tsg-cm-docker.tar/" $(TARGET_INSTALLER_DIR)/install.sh
build-container-images:
mkdir -p $(TARGET_IMAGES_DIR)
$(MAKE) -j -C $(PROJECTDIR)/containers \
IMAGE_TAG=$(OS_RELEASE_VER) \
YUM_REPO_FILE=$(CONFDIR)/yum-RockyLinux-8.conf \
traffic-engine tsg-cm
cp -af $(PROJECTDIR)/containers/build/images/*.tar $(TARGET_INSTALLER_DIR)
tsg-os tsg-cm
cp -af $(PROJECTDIR)/containers/build/images/*.tar $(TARGET_IMAGES_DIR)
build-helmcharts:
mkdir -p $(TARGET_HELMCHARTS_DIR)
mkdir -p $(TARGET_MANIFESTS_DIR)
$(MAKE) -j -C $(PROJECTDIR)/helmcharts \
VERSION=$(HELM_CHART_VER) \
APP_VERSION=$(OS_RELEASE_VER) \
traffic-engine tsg-cm
cp -af $(PROJECTDIR)/helmcharts/build/helmcharts/*.tgz $(TARGET_INSTALLER_DIR)
tsg-os tsg-cm
cp -af $(PROJECTDIR)/helmcharts/build/helmcharts/*.tgz $(TARGET_HELMCHARTS_DIR)
cp -af $(PROJECTDIR)/helmcharts/build/manifests/*.yaml $(TARGET_MANIFESTS_DIR)
clean:
rm -rf $(TARGET_BUILD_DIR)