feature: add tsg-os target to archive tsg-os images.
This commit is contained in:
@@ -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 \
|
||||
4
helmcharts/tsg-os/build.mk
Normal file
4
helmcharts/tsg-os/build.mk
Normal 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 :=
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user