refactor:mrzcpd-exporter使用固定镜像,不再使用tsg-init镜像,TSG-13281:重新构造traffic-engine升级包
This commit is contained in:
@@ -261,7 +261,7 @@
|
|||||||
roles:
|
roles:
|
||||||
- {role: rpm_download, tags: rpm_download}
|
- {role: rpm_download, tags: rpm_download}
|
||||||
|
|
||||||
- hosts: TSG-X-NXR620G40-R01-P0906-tools
|
- hosts: TSG-X-NXR620G40-R01-P0906-base
|
||||||
remote_user: root
|
remote_user: root
|
||||||
vars_files:
|
vars_files:
|
||||||
- install_config/group_vars/HAL_TSGXNXR620G40R01P0906.yml
|
- install_config/group_vars/HAL_TSGXNXR620G40R01P0906.yml
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ metadata:
|
|||||||
name: exporter-mrzcpd
|
name: exporter-mrzcpd
|
||||||
namespace: kube-system
|
namespace: kube-system
|
||||||
spec:
|
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
|
targetNamespace: tsg-os-system
|
||||||
valuesContent: |-
|
valuesContent: |-
|
||||||
service:
|
service:
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
mrzcpdExporter:
|
mrzcpdExporter:
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: registry.gdnt-cloud.website/tsg-init
|
repository: registry.gdnt-cloud.website/mrzcpd-exporter
|
||||||
pullPolicy: Never
|
pullPolicy: Never
|
||||||
# tag: ""
|
tag: "1.0.1"
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
mergeExporter:
|
mergeExporter:
|
||||||
|
|||||||
@@ -49,13 +49,22 @@
|
|||||||
src: "{{ role_path }}/files/mrzcpd/helm"
|
src: "{{ role_path }}/files/mrzcpd/helm"
|
||||||
dest: /tmp/exporter-mrzcpd/
|
dest: /tmp/exporter-mrzcpd/
|
||||||
|
|
||||||
|
#### mrzcpd exporter start
|
||||||
- name: "create charts packages"
|
- 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"
|
# The image build by the the follow command
|
||||||
template:
|
# Command 1: docker pull rockylinux:8
|
||||||
src: "{{ role_path }}/templates/exporter-mrzcpd-crd.yaml.j2"
|
# Command 2: docker run --name build-mrzcpd-exporter -it rockylinux:8 bash
|
||||||
dest: /var/lib/rancher/k3s/server/manifests/exporter-mrzcpd-crd.yaml
|
# 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"
|
- name: "get merge-exporter images to dest"
|
||||||
get_url:
|
get_url:
|
||||||
@@ -63,3 +72,10 @@
|
|||||||
dest: /var/lib/rancher/k3s/agent/images/exporter-merger.tar
|
dest: /var/lib/rancher/k3s/agent/images/exporter-merger.tar
|
||||||
url_username: "{{ lookup('env', 'PULP_REPO_USERNAME') }}"
|
url_username: "{{ lookup('env', 'PULP_REPO_USERNAME') }}"
|
||||||
url_password: "{{ lookup('env', 'PULP_REPO_PASSWORD') }}"
|
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
|
||||||
@@ -4,16 +4,12 @@
|
|||||||
path: /var/lib/rancher/k3s/server/static/charts/
|
path: /var/lib/rancher/k3s/server/static/charts/
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
|
#install helm binary start
|
||||||
- name: "create unarchive directory"
|
- name: "create unarchive directory"
|
||||||
file:
|
file:
|
||||||
path: "/tmp/helm/"
|
path: "/tmp/helm/"
|
||||||
state: directory
|
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"
|
- name: "install helm: unarchive helm tar package"
|
||||||
unarchive:
|
unarchive:
|
||||||
src: "{{ role_path }}/files/helm-linux-amd64.tar.gz"
|
src: "{{ role_path }}/files/helm-linux-amd64.tar.gz"
|
||||||
@@ -25,9 +21,7 @@
|
|||||||
dest: /usr/bin/helm
|
dest: /usr/bin/helm
|
||||||
mode: 0755
|
mode: 0755
|
||||||
remote_src: yes
|
remote_src: yes
|
||||||
|
#install helm binary end
|
||||||
- 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
|
|
||||||
|
|
||||||
- name: "copy kubeconfig.sh to destination"
|
- name: "copy kubeconfig.sh to destination"
|
||||||
copy:
|
copy:
|
||||||
@@ -45,27 +39,6 @@
|
|||||||
src: "{{ role_path }}/files/sudoers.d/00-kubconfig"
|
src: "{{ role_path }}/files/sudoers.d/00-kubconfig"
|
||||||
dest: /etc/sudoers.d/
|
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"
|
- name: "copy clusterrole file to dest"
|
||||||
copy:
|
copy:
|
||||||
src: "{{ role_path }}/files/service-read-role.yaml"
|
src: "{{ role_path }}/files/service-read-role.yaml"
|
||||||
|
|||||||
90
installer/app_bundle_install.sh
Normal file
90
installer/app_bundle_install.sh
Normal 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
|
||||||
@@ -31,7 +31,9 @@ grub_serial_command="%%GRUB_SERIAL_COMMAND%%"
|
|||||||
DISTR0_VER="%%DISTR0_VER%%"
|
DISTR0_VER="%%DISTR0_VER%%"
|
||||||
MACHINE_ID="%%MACHINE_ID%%"
|
MACHINE_ID="%%MACHINE_ID%%"
|
||||||
CHROOT_PKG="%%CHROOT_PKG%%"
|
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_update="%%SIZE_PART_UPDATE%%"
|
||||||
size_part_tsg_os_sysroot="%%SIZE_PART_SYSROOT%%"
|
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
|
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
|
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
|
mkdir -p ${distro_mnt}/data/var/lib/rancher/k3s/server/static/charts
|
||||||
tar -xf ${CONTAINER_IMAGES_PKG} -C ${distro_mnt}/data/var/lib/rancher/k3s/agent/images
|
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
|
fi
|
||||||
|
|
||||||
umount ${distro_mnt}/proc
|
umount ${distro_mnt}/proc
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|
||||||
TARGET_SYSROOT_DIR := $(TARGET_BUILD_DIR)/sysroot
|
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_CONTAINER_IMAGE_TAR_DIR := $(TARGET_BUILD_DIR)/container_images/tar
|
CONTAINER_IMAGES_TAR_GLOB := traffic-engine-*-docker.tar
|
||||||
TOOLS_INSTALL_IMAGE_NAME_TAG := 8-base-tools-installed-${OS_RELEASE_VER}
|
HELM_CHART_TAR_GLOB := traffic-engine-*.tgz
|
||||||
TOOLS_INSTALL_CONTAINER_NAME := rockylinux-8-base-tools-install-${OS_RELEASE_VER}
|
|
||||||
TOOLS_COMPONENT_NAME := tools
|
|
||||||
|
|
||||||
FIREWALL_COMPONENT_NAME := firewall
|
TARGET_BUILD_DIR := $(BUILDDIR_BASE)/$(PROFILE_ID)/containers
|
||||||
FIREWALL_INSTALL_CONTAINER_NAME := tsg-$(FIREWALL_COMPONENT_NAME)-install-${OS_RELEASE_VER}
|
TARGET_INSTALLER_DIR := $(TARGET_BUILD_DIR)/installer
|
||||||
|
|
||||||
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}
|
|
||||||
|
|
||||||
|
|
||||||
SHAPING_COMPONENT_NAME := shaping
|
.PHONY: all build_dir installer clean_installer_dir prebuild_container_images build_container_images build_helm_charts build_app_bundle_bin
|
||||||
SHAPING_INSTALL_CONTAINER_NAME := tsg-$(SHAPING_COMPONENT_NAME)-install-${OS_RELEASE_VER}
|
|
||||||
|
|
||||||
|
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:
|
prebuild_container_images:
|
||||||
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
|
|
||||||
ifeq ($(ENABLE_LICENSE_PROTECTED),1)
|
ifeq ($(ENABLE_LICENSE_PROTECTED),1)
|
||||||
sed -i '/sapp:/d;/tfe-pr:/d;/mrzcpd:/d' $(PROJECTDIR)/ansible/install_config/group_vars/rpm_version.yml
|
sed -i '/sapp:/d;/tfe-pr:/d;/mrzcpd:/d' $(PROJECTDIR)/ansible/install_config/group_vars/rpm_version.yml
|
||||||
else
|
else
|
||||||
sed -i '/sapp-pr:/d;/tfe-pr:/d;/mrzcpd:/d' $(PROJECTDIR)/ansible/install_config/group_vars/rpm_version.yml
|
sed -i '/sapp-pr:/d;/tfe-pr:/d;/mrzcpd:/d' $(PROJECTDIR)/ansible/install_config/group_vars/rpm_version.yml
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ENABLE_ALIYUN_INTERNAL_DOMAIN),1)
|
ifeq ($(ENABLE_ALIYUN_INTERNAL_DOMAIN),1)
|
||||||
sed -i -e "s/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/" $(CONFDIR)/yum-RockyLinux-8.conf
|
sed -i -e "s/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/" $(CONFDIR)/yum-RockyLinux-8.conf
|
||||||
endif
|
endif
|
||||||
|
|
||||||
container-images-generate: builddir
|
build_container_images: prebuild_container_images
|
||||||
podman load < $(PROJECTDIR)/package/rockylinux8.tar
|
chmod 0755 $(PROJECTDIR)/tools/build_container_images.sh
|
||||||
buildah from --name $(TOOLS_INSTALL_CONTAINER_NAME) rockylinux:8
|
$(PROJECTDIR)/tools/build_container_images.sh $(PROJECTDIR) $(CONFDIR) $(TOOLSDIR) $(OS_RELEASE_VER) $(PROFILE_ID) $(IMAGEDIR_BASE) $(TARGET_INSTALLER_DIR) $(CONTAINER_IMAGES_TAR)
|
||||||
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)
|
|
||||||
|
|
||||||
buildah from --name $(FIREWALL_INSTALL_CONTAINER_NAME) rockylinux:$(TOOLS_INSTALL_IMAGE_NAME_TAG)
|
build_helm_charts: build_dir
|
||||||
buildah copy $(FIREWALL_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
|
chmod 0755 $(PROJECTDIR)/tools/build_helm_charts.sh
|
||||||
buildah copy $(FIREWALL_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
|
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR)
|
||||||
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)
|
build_app_bundle_bin: clean_installer_dir installer build_helm_charts build_container_images
|
||||||
buildah copy $(PROXY_INSTALL_CONTAINER_NAME) $(CONFDIR)/yum-RockyLinux-8.conf /tmp/
|
mkdir -p $(TARGET_BUILD_DIR)/app-bundle-cook-bits
|
||||||
buildah copy $(PROXY_INSTALL_CONTAINER_NAME) /etc/hosts /tmp/
|
chmod 0755 $(TOOLSDIR)/app-bundle-cook-bits
|
||||||
buildah run $(PROXY_INSTALL_CONTAINER_NAME) -- bash -c "cp /etc/hosts /tmp/hosts.bak;cp /tmp/hosts /etc/hosts"
|
$(TOOLSDIR)/app-bundle-cook-bits $(TARGET_BUILD_DIR) $(TARGET_BUILD_DIR)/app-bundle-cook-bits $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN)
|
||||||
$(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)
|
sha256sum $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN) | awk '{print $$1}' > $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN).sha256sum.txt
|
||||||
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)
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(TARGET_BUILD_DIR)
|
rm -rf $(TARGET_BUILD_DIR)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ SIZE_PART_UPDATE := 16384M
|
|||||||
PROFILE_ID_IN_SHORT := $(subst -,$e,$(PROFILE_ID))
|
PROFILE_ID_IN_SHORT := $(subst -,$e,$(PROFILE_ID))
|
||||||
CHROOT_PKG := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-chroot.tar.bz2
|
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
|
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_BUILD_DIR := $(BUILDDIR_BASE)/$(PROFILE_ID)
|
||||||
TARGET_INSTALLER_DIR := $(TARGET_BUILD_DIR)/installer
|
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/%%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_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/%%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
|
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)
|
ifeq ($(ENABLE_ALIYUN_INTERNAL_DOMAIN),1)
|
||||||
|
|||||||
54
tools/app-bundle-cook-bits
Normal file
54
tools/app-bundle-cook-bits
Normal 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
114
tools/app_bundle_body.sh
Normal 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
|
||||||
87
tools/build_container_images.sh
Normal file
87
tools/build_container_images.sh
Normal 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
|
||||||
|
|
||||||
17
tools/build_helm_charts.sh
Normal file
17
tools/build_helm_charts.sh
Normal 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
|
||||||
@@ -148,9 +148,7 @@ case $profile_id in
|
|||||||
esac
|
esac
|
||||||
# ansible-playbook -i tsg-9140-scripts/install_config/tsg_9140_host tsg-9140-scripts/tsg_9140_deploy.yml
|
# 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
|
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/tmp/*
|
||||||
rm -rf $target/core.*
|
rm -rf $target/core.*
|
||||||
#rm -rf $target/etc/machine-id
|
#rm -rf $target/etc/machine-id
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ function upload_kvm_glob_file()
|
|||||||
|
|
||||||
function upload_app_bundle_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/*-APP-BUNDLE.bin
|
||||||
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.sha256sum.txt
|
||||||
}
|
}
|
||||||
|
|
||||||
function upload_onie_glob_file()
|
function upload_onie_glob_file()
|
||||||
|
|||||||
Reference in New Issue
Block a user