summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlinxin <[email protected]>2024-06-12 18:47:22 +0800
committer林鑫 <[email protected]>2024-06-28 07:32:49 +0000
commite27c8aa425f8ddf14526d21124edc2473eb4355a (patch)
treefb6ec2150942e91f5b4e99ec025df6e298f9c27f
parent2ce2d9847ddaac8ee4254cb08a730b6131ca2e5e (diff)
✨ feat:add trex component (helmchart, image, nic-uio-binder and so on)to os
-rw-r--r--ansible/HAL_deploy.yml15
-rw-r--r--ansible/install_config/group_vars/rpm_version.yml4
-rw-r--r--ansible/roles/k3s-install/files/nic-uio-binder.yaml (renamed from ansible/roles/k3s-install/files/packet-io-uio-binder.yaml)20
-rw-r--r--ansible/roles/k3s-install/tasks/main.yml4
-rw-r--r--ansible/roles/mrzcpd/files/helm/templates/deployment-mrzcpd.yaml4
-rw-r--r--ansible/roles/nic-uio-binder/tasks/main.yml10
-rw-r--r--ansible/roles/packet-io-uio-binder/tasks/main.yml10
-rw-r--r--ansible/roles/trex/files/generate-trex-conf.sh65
-rw-r--r--ansible/roles/trex/files/helm/Chart.yaml6
-rw-r--r--ansible/roles/trex/files/helm/templates/deployment.yaml72
-rw-r--r--ansible/roles/trex/files/helm/values.yaml103
-rw-r--r--ansible/roles/trex/files/v3.02.tar.gzbin0 -> 230364183 bytes
-rw-r--r--ansible/roles/trex/tasks/main.yml34
-rw-r--r--installer/app_bundle_install.sh3
-rw-r--r--make/Makefile.x86_64_COTS6
-rw-r--r--make/Makefile.x86_64_COTS_APP_BUNDLE10
-rw-r--r--tools/build_container_images.sh6
17 files changed, 335 insertions, 37 deletions
diff --git a/ansible/HAL_deploy.yml b/ansible/HAL_deploy.yml
index 586f79be..331dbea7 100644
--- a/ansible/HAL_deploy.yml
+++ b/ansible/HAL_deploy.yml
@@ -180,14 +180,14 @@
roles:
- {role: container-tools-install, tags: container-tools-install}
-- hosts: x86_64_COTS-packet-io-uio-binder
+- hosts: x86_64_COTS-nic-uio-binder
remote_user: root
vars_files:
- install_config/group_vars/HAL_x86_64_COTS.yml
- install_config/group_vars/rpm_version.yml
roles:
- {role: framework, tags: framework}
- - {role: packet-io-uio-binder, tags: packet-io-uio-binder}
+ - {role: nic-uio-binder, tags: nic-uio-binder}
- hosts: x86_64_COTS-dp-trace-telemetry
remote_user: root
@@ -196,4 +196,13 @@
- install_config/group_vars/rpm_version.yml
roles:
- {role: framework, tags: framework}
- - {role: dp-trace-telemetry, tags: dp-trace-telemetry} \ No newline at end of file
+ - {role: dp-trace-telemetry, tags: dp-trace-telemetry}
+
+- hosts: x86_64_COTS-trex
+ remote_user: root
+ vars_files:
+ - install_config/group_vars/HAL_x86_64_COTS.yml
+ - install_config/group_vars/rpm_version.yml
+ roles:
+ - {role: framework, tags: framework}
+ - {role: trex, tags: trex} \ No newline at end of file
diff --git a/ansible/install_config/group_vars/rpm_version.yml b/ansible/install_config/group_vars/rpm_version.yml
index fc5ef99e..1e3c55f4 100644
--- a/ansible/install_config/group_vars/rpm_version.yml
+++ b/ansible/install_config/group_vars/rpm_version.yml
@@ -110,8 +110,8 @@ coredump_tools_rpm_version:
packet_adapter_rpm_version:
packet_adapter: packet_adapter-2.0.2.4f48b59
-packet_io_uio_binder_rpm_version:
- packet_io_uio_binder: packet-io-uio-binder-1.0.8-dc29e58
+nic_uio_binder_rpm_version:
+ nic_uio_binder: nic-uio-binder-1.0.9-5408921
dp_trace_rpm_version:
dp_trace: dp_trace_telemetry-0.1.16.e2200bb
diff --git a/ansible/roles/k3s-install/files/packet-io-uio-binder.yaml b/ansible/roles/k3s-install/files/nic-uio-binder.yaml
index 674ba23d..1b3335e9 100644
--- a/ansible/roles/k3s-install/files/packet-io-uio-binder.yaml
+++ b/ansible/roles/k3s-install/files/nic-uio-binder.yaml
@@ -1,27 +1,27 @@
apiVersion: apps/v1
kind: DaemonSet
metadata:
- name: packet-io-uio-binder
+ name: nic-uio-binder
labels:
- app: packet-io-uio-binder
+ app: nic-uio-binder
namespace: tsg-os-system
spec:
selector:
matchLabels:
- app: packet-io-uio-binder
+ app: nic-uio-binder
template:
metadata:
labels:
- app: packet-io-uio-binder
+ app: nic-uio-binder
spec:
containers:
- - name: packet-io-uio-binder
- image: registry.gdnt-cloud.website/tsg-packet-io-uio-binder:%%MRZCPD_DEVICE_PLUGIN_IMAGE_TAG%%
+ - name: nic-uio-binder
+ image: registry.gdnt-cloud.website/tsg-nic-uio-binder:%%MRZCPD_DEVICE_PLUGIN_IMAGE_TAG%%
command:
- "bash"
- "-ec"
- |
- /opt/tsg/packet-io-uio-binder/bin/deviceplugin
+ /opt/tsg/nic-uio-binder/bin/deviceplugin
volumeMounts:
- name: hwfile
mountPath: /var/run/mrzcpd
@@ -34,13 +34,13 @@ spec:
securityContext:
privileged: true
initContainers:
- - name: init-packet-io-uio-binder
- image: registry.gdnt-cloud.website/tsg-packet-io-uio-binder:%%MRZCPD_DEVICE_PLUGIN_IMAGE_TAG%%
+ - name: init-nic-uio-binder
+ image: registry.gdnt-cloud.website/tsg-nic-uio-binder:%%MRZCPD_DEVICE_PLUGIN_IMAGE_TAG%%
command:
- "bash"
- "-ec"
- |
- /opt/tsg/packet-io-uio-binder/bin/generateHwfile
+ /opt/tsg/nic-uio-binder/bin/generateHwfile
volumeMounts:
- name: hwfile
mountPath: /var/run/mrzcpd
diff --git a/ansible/roles/k3s-install/tasks/main.yml b/ansible/roles/k3s-install/tasks/main.yml
index 34663dc5..b254c8dc 100644
--- a/ansible/roles/k3s-install/tasks/main.yml
+++ b/ansible/roles/k3s-install/tasks/main.yml
@@ -117,9 +117,9 @@
name: k3s-orphaned-pods-dir-clean.timer
enabled: yes
-- name: "copy packet-io-uio-binder file to dest"
+- name: "copy nic-uio-binder file to dest"
copy:
- src: "{{ role_path }}/files/packet-io-uio-binder.yaml"
+ src: "{{ role_path }}/files/nic-uio-binder.yaml"
dest: /var/lib/rancher/k3s/server/manifests/
- name: "copy dynamic-hostport yaml file to k3s manifests directory"
diff --git a/ansible/roles/mrzcpd/files/helm/templates/deployment-mrzcpd.yaml b/ansible/roles/mrzcpd/files/helm/templates/deployment-mrzcpd.yaml
index ff029215..6e658fcd 100644
--- a/ansible/roles/mrzcpd/files/helm/templates/deployment-mrzcpd.yaml
+++ b/ansible/roles/mrzcpd/files/helm/templates/deployment-mrzcpd.yaml
@@ -121,10 +121,10 @@ spec:
{{ template "mrzcpd.mount.prestart" . }}
resources:
limits:
- mrzcpd/mrzcpd: 1
+ nic-uio/packet-io-engine: 1
{{- if .Values.mrzcpd.interfaces }}
{{- range $interface := .Values.mrzcpd.interfaces }}
- mrzcpd/{{ $interface.name }}: 1
+ nic-uio/{{ $interface.name }}: 1
{{- end }}
{{- end }}
hugepages-1Gi: {{.Values.mrzcpd.hugepages }}
diff --git a/ansible/roles/nic-uio-binder/tasks/main.yml b/ansible/roles/nic-uio-binder/tasks/main.yml
new file mode 100644
index 00000000..3034a922
--- /dev/null
+++ b/ansible/roles/nic-uio-binder/tasks/main.yml
@@ -0,0 +1,10 @@
+---
+- name: "install nic-uio-binder"
+ yum:
+ name:
+ - "{{ nic_uio_binder_rpm_version.nic_uio_binder }}"
+ conf_file: "{{ rpm_repo_config_path }}"
+ state: present
+
+- name: "Install lspci"
+ shell: yum install -y pciutils \ No newline at end of file
diff --git a/ansible/roles/packet-io-uio-binder/tasks/main.yml b/ansible/roles/packet-io-uio-binder/tasks/main.yml
deleted file mode 100644
index ebdd2a56..00000000
--- a/ansible/roles/packet-io-uio-binder/tasks/main.yml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-- name: "install packet-io-uio-binder"
- yum:
- name:
- - "{{ packet_io_uio_binder_rpm_version.packet_io_uio_binder }}"
- conf_file: "{{ rpm_repo_config_path }}"
- state: present
-
-- name: "Install lspci"
- shell: yum install -y pciutils \ No newline at end of file
diff --git a/ansible/roles/trex/files/generate-trex-conf.sh b/ansible/roles/trex/files/generate-trex-conf.sh
new file mode 100644
index 00000000..d91db5e9
--- /dev/null
+++ b/ansible/roles/trex/files/generate-trex-conf.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+CPU_AFFINITY=(${CPU_AFFINITY//,/ })
+NIC_PCI=$(env | grep '_NIC_PCI' | cut -d'=' -f2 | sed 's/0000://')
+arr=($NIC_PCI)
+NIC_PCI=""
+for interface in "${arr[@]}"; do
+ if [ ! -z "$NIC_PCI" ]; then
+ NIC_PCI+=","
+ fi
+ NIC_PCI+="\"$interface\""
+done
+
+declare -A NUMA
+for cpu in ${CPU_AFFINITY[@]:2}; do
+ numa_node=$(lscpu -p=CPU,NODE | grep "^$cpu," | cut -d',' -f2)
+ NUMA[$numa_node]+="$cpu,"
+done
+
+cat << EOF > /etc/trex_cfg.yaml
+- port_limit: 2
+ version: 2
+ stack: legacy
+ interfaces: [${NIC_PCI}]
+ port_mtu: 2000
+ rx_desc: 4096
+ tx_desc: 4096
+ new_memory : true
+ port_info :
+ - ip : 17.17.0.1
+ default_gw : 17.18.0.1
+ dest_mac : "00:11:22:33:44:55"
+ src_mac : "aa:bb:cc:dd:ee:ff"
+ - ip : 17.18.0.1
+ default_gw : 17.17.0.1
+ dest_mac : "aa:bb:cc:dd:ee:ff"
+ src_mac : "00:11:22:33:44:55"
+ - ip : 17.19.0.1
+ default_gw : 17.20.0.1
+ dest_mac : "00:11:22:33:44:54"
+ src_mac : "aa:bb:cc:dd:ee:fe"
+ - ip : 17.20.0.1
+ default_gw : 17.19.0.1
+ dest_mac : "aa:bb:cc:dd:ee:fe"
+ src_mac : "00:11:22:33:44:54"
+ platform:
+ master_thread_id: ${CPU_AFFINITY[0]}
+ latency_thread_id: ${CPU_AFFINITY[1]}
+ dual_if:
+EOF
+
+socket_id=0
+for numa_node in "${!NUMA[@]}"; do
+ threads=${NUMA[$numa_node]%,}
+ echo " - socket: $socket_id" >> /etc/trex_cfg.yaml
+ echo " threads: [${threads// /,}]" >> /etc/trex_cfg.yaml
+ ((socket_id++))
+done
+
+cat << EOF >> /etc/trex_cfg.yaml
+ tw:
+ buckets: 2048
+ levels: 3
+ bucket_time_usec: 40.0
+EOF
diff --git a/ansible/roles/trex/files/helm/Chart.yaml b/ansible/roles/trex/files/helm/Chart.yaml
new file mode 100644
index 00000000..45ff13be
--- /dev/null
+++ b/ansible/roles/trex/files/helm/Chart.yaml
@@ -0,0 +1,6 @@
+apiVersion: v2
+appVersion: 1.16.0
+description: A Helm chart for Kubernetes
+name: trex
+type: application
+version: 0.1.0
diff --git a/ansible/roles/trex/files/helm/templates/deployment.yaml b/ansible/roles/trex/files/helm/templates/deployment.yaml
new file mode 100644
index 00000000..fc128ad5
--- /dev/null
+++ b/ansible/roles/trex/files/helm/templates/deployment.yaml
@@ -0,0 +1,72 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: trex
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: trex
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ labels:
+ app: trex
+ spec:
+ hostNetwork: true
+ containers:
+ - name: trex
+ image: registry.gdnt-cloud.website/trex::{{ .Chart.AppVersion }}
+ command:
+ - "bash"
+ - "-ec"
+ - |
+ chmod +x /host/root/test.sh
+ /host/root/test.sh
+ while true; do sleep 1024;done
+ securityContext:
+ privileged: true
+ resources:
+ limits:
+ hugepages-1Gi: {{.Values.trex.hugepages }}Gi
+ nic-uio/trex: 1
+{{- if .Values.trex.interfaces }}
+{{- range $interface := .Values.trex.interfaces }}
+ nic-uio/{{ $interface }}: 1
+{{- end }}
+{{- end }}
+ requests:
+ hugepages-1Gi: {{.Values.trex.hugepages }}Gi
+ memory: 100Mi
+ env:
+ - name: CPU_AFFINITY
+ value: {{ range $index, $cpu :=.Values.trex.cpu_affinity -}}{{- if eq $index 0 -}}{{$cpu}}{{- else -}},{{$cpu}}{{- end -}}{{- end }}
+ volumeMounts:
+ - name: host
+ mountPath: /host
+ - name: dev-vfio
+ mountPath: /dev/vfio
+ - name: modules
+ mountPath: /lib/modules
+ - name: mem
+ mountPath: /dev/mem
+ - name: hugepage-1gi
+ mountPath: /var/run/trex/hugepages
+ volumes:
+ - name: mem
+ hostPath:
+ path: /dev/mem
+ - name: modules
+ hostPath:
+ path: /lib/modules
+ - name: dev-vfio
+ hostPath:
+ path: /dev/vfio
+ - name: host
+ hostPath:
+ path: /
+ - name: hugepage-1gi
+ emptyDir:
+ medium: HugePages-1Gi
+
diff --git a/ansible/roles/trex/files/helm/values.yaml b/ansible/roles/trex/files/helm/values.yaml
new file mode 100644
index 00000000..91fb4d9a
--- /dev/null
+++ b/ansible/roles/trex/files/helm/values.yaml
@@ -0,0 +1,103 @@
+# Default values for trex.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+replicaCount: 1
+
+image:
+ repository: nginx
+ pullPolicy: IfNotPresent
+ # Overrides the image tag whose default is the chart appVersion.
+ tag: ""
+
+imagePullSecrets: []
+nameOverride: ""
+fullnameOverride: ""
+
+serviceAccount:
+ # Specifies whether a service account should be created
+ create: true
+ # Automatically mount a ServiceAccount's API credentials?
+ automount: true
+ # Annotations to add to the service account
+ annotations: {}
+ # The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name: ""
+
+podAnnotations: {}
+podLabels: {}
+
+podSecurityContext: {}
+ # fsGroup: 2000
+
+securityContext: {}
+ # capabilities:
+ # drop:
+ # - ALL
+ # readOnlyRootFilesystem: true
+ # runAsNonRoot: true
+ # runAsUser: 1000
+
+service:
+ type: ClusterIP
+ port: 80
+
+ingress:
+ enabled: false
+ className: ""
+ annotations: {}
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+ hosts:
+ - host: chart-example.local
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ tls: []
+ # - secretName: chart-example-tls
+ # hosts:
+ # - chart-example.local
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ # limits:
+ # cpu: 100m
+ # memory: 128Mi
+ # requests:
+ # cpu: 100m
+ # memory: 128Mi
+
+autoscaling:
+ enabled: false
+ minReplicas: 1
+ maxReplicas: 100
+ targetCPUUtilizationPercentage: 80
+ # targetMemoryUtilizationPercentage: 80
+
+# Additional volumes on the output Deployment definition.
+volumes: []
+# - name: foo
+# secret:
+# secretName: mysecret
+# optional: false
+
+# Additional volumeMounts on the output Deployment definition.
+volumeMounts: []
+# - name: foo
+# mountPath: "/etc/foo"
+# readOnly: true
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
+
+trex:
+ hugepages: 32Gi
+ cpu_affinity: []
+ interfaces: []
diff --git a/ansible/roles/trex/files/v3.02.tar.gz b/ansible/roles/trex/files/v3.02.tar.gz
new file mode 100644
index 00000000..d0ceed88
--- /dev/null
+++ b/ansible/roles/trex/files/v3.02.tar.gz
Binary files differ
diff --git a/ansible/roles/trex/tasks/main.yml b/ansible/roles/trex/tasks/main.yml
new file mode 100644
index 00000000..92a3b175
--- /dev/null
+++ b/ansible/roles/trex/tasks/main.yml
@@ -0,0 +1,34 @@
+- name: "Install python3 module and dependent package"
+ shell: yum install -y lshw python3 which pciutils iproute vim kmod libnl3-devel perl-generators iptables-devel numactl-libs
+ when: runtime_env == 'TSG-X-P0906'
+
+- name: "Install mlnx-ofed-user-space rpm package"
+ yum:
+ name: "{{ item.value }}"
+ conf_file: "{{ rpm_repo_config_path }}"
+ state: present
+ with_dict: "{{ mlnx_ofed_user_space_only_rpm_version }}"
+ when: runtime_env == 'TSG-X-P0906'
+
+- name: "Create /opt/tsg/trex directory if it does not exist"
+ file:
+ path: "{{ item }}"
+ state: directory
+ mode: '0755'
+ with_items:
+ - /opt/tsg/trex
+
+- name: "copy trex v3.02 to dest"
+ copy:
+ src: "{{ role_path }}/files/v3.02.tar.gz"
+ dest: /opt/tsg/trex/v3.02.tar.gz
+ when: runtime_env == 'TSG-X-P0906'
+
+- name: "copy generate-trex-conf.sh to dest"
+ copy:
+ src: "{{ role_path }}/files/generate-trex-conf.sh"
+ dest: /opt/tsg/trex/generate-trex-conf.sh
+ when: runtime_env == 'TSG-X-P0906'
+
+- name: "unzip trex.tar"
+ shell: tar -xzvf /opt/tsg/trex/v3.02.tar.gz -C /opt/tsg/trex && rm -f /opt/tsg/trex/v3.02.tar.gz
diff --git a/installer/app_bundle_install.sh b/installer/app_bundle_install.sh
index e62e6d6a..e0be8440 100644
--- a/installer/app_bundle_install.sh
+++ b/installer/app_bundle_install.sh
@@ -4,6 +4,7 @@ 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%%"
charts_dest_dir="/var/lib/rancher/k3s/server/static/charts"
@@ -51,6 +52,7 @@ function copy_charts_to_dest()
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}
}
@@ -75,6 +77,7 @@ function replace_clixon_chart_name()
sed -ie "s/^chart_name=.*/chart_name=${TRAFFIC_ENGINE_HELM_CHART_TAR}/g" ${clixon_conf_path}
sed -ie "s/^inject_adapter_chart_name=.*/inject_adapter_chart_name=${INJECT_HELM_CHART_TAR}/g" ${clixon_conf_path}
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}
}
diff --git a/make/Makefile.x86_64_COTS b/make/Makefile.x86_64_COTS
index 4a94ebb1..ca987c77 100644
--- a/make/Makefile.x86_64_COTS
+++ b/make/Makefile.x86_64_COTS
@@ -14,8 +14,8 @@ APP_BUNDLE_BIN := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-APP-BUNDLE.b
TARGET_BUILD_DIR := $(BUILDDIR_BASE)/$(PROFILE_ID)
TARGET_INSTALLER_DIR := $(TARGET_BUILD_DIR)/installer
-MRZCPD_DEVICE_PLUGIN_FILE_PATH := /ansible/roles/k3s-install/files/packet-io-uio-binder.yaml
-MRZCPD_DEVICE_PLUGIN_IMAGE_TAG := ${OS_RELEASE_VER}
+NIC_UIO_BINDER_FILE_PATH := /ansible/roles/k3s-install/files/nic-uio-binder.yaml
+NIC_UIO_BINDER_IMAGE_TAR := ${OS_RELEASE_VER}
TARGET_SYSROOT_DIR := $(TARGET_BUILD_DIR)/sysroot
.PHONY: all builddir installer sysroot-base sysroot-cleanup sysroot-archive sysroot-binary add-images-into-installer-dir add-patch-into-installer-dir clean
@@ -42,7 +42,7 @@ installer: builddir
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/%%APP_BUNDLE_BIN%%/$(APP_BUNDLE_BIN)/" $(TARGET_INSTALLER_DIR)/install.sh
- sed -i -e "s/%%MRZCPD_DEVICE_PLUGIN_IMAGE_TAG%%/$(MRZCPD_DEVICE_PLUGIN_IMAGE_TAG)/" $(PROJECTDIR)/$(MRZCPD_DEVICE_PLUGIN_FILE_PATH)
+ sed -i -e "s/%%NIC_UIO_BINDER_IMAGE_TAR%%/$(NIC_UIO_BINDER_IMAGE_TAR)/" $(PROJECTDIR)/$(NIC_UIO_BINDER_FILE_PATH)
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)
diff --git a/make/Makefile.x86_64_COTS_APP_BUNDLE b/make/Makefile.x86_64_COTS_APP_BUNDLE
index b341e3c9..4d7224ca 100644
--- a/make/Makefile.x86_64_COTS_APP_BUNDLE
+++ b/make/Makefile.x86_64_COTS_APP_BUNDLE
@@ -5,20 +5,22 @@ PROFILE_ID_IN_SHORT := $(subst -,$e,$(PROFILE_ID))
CONTAINER_IMAGES_TAR := traffic-engine-${OS_RELEASE_VER}-docker.tar
TRAFFIC_ENGINE_HELM_CHART_TAR := traffic-engine-$(HELM_CHART_VER).tgz
MRZCPD_HELM_CHART_TAR := mrzcpd-$(HELM_CHART_VER).tgz
+TREX_HELM_CHART_TAR := TREX-$(HELM_CHART_VER).tgz
DP_TRACE_HELM_CHART_TAR := datapath-trace-$(HELM_CHART_VER).tgz
APP_BUNDLE_BIN := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-APP-BUNDLE.bin
INJECT_HELM_CHART_TAR := inject-adapter-$(HELM_CHART_VER).tgz
CONTAINER_IMAGES_TAR_GLOB := traffic-engine-*-docker.tar
HELM_CHART_TAR_GLOB := traffic-engine-*.tgz
-MRZCPD_DEVICE_PLUGIN_IMAGE_TAG := ${OS_RELEASE_VER}
+NIC_UIO_BINDER_IMAGE_TAR := ${OS_RELEASE_VER}
TARGET_BUILD_DIR := $(BUILDDIR_BASE)/$(PROFILE_ID)/containers
TARGET_INSTALLER_DIR := $(TARGET_BUILD_DIR)/installer
TRAFFIC_ENGINE_HELM_FILE_PATH := /ansible/roles/traffic-engine/files/helm
INJECT_ADAPTER_HELM_FILE_PATH := /ansible/roles/packet_adapter/files/helm
MRZCPD_HELM_FILE_PATH := /ansible/roles/mrzcpd/files/helm
+TREX_HELM_FILE_PATH :=/ansible/roles/trex/files/helm
DP_TRACE_HELM_FILE_PATH := /ansible/roles/dp-trace-telemetry/files/helm
-MRZCPD_DEVICE_PLUGIN_FILE_PATH := /ansible/roles/k3s-install/files/packet-io-uio-binder.yaml
+NIC_UIO_BINDER_FILE_PATH := /ansible/roles/k3s-install/files/nic-uio-binder.yaml
.PHONY: all build_dir installer clean_installer_dir prebuild_container_images build_container_images build_helm_charts build_app_bundle_bin
@@ -40,10 +42,11 @@ installer: build_dir
sed -i -e "s/%%TRAFFIC_ENGINE_HELM_CHART_TAR%%/$(TRAFFIC_ENGINE_HELM_CHART_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%INJECT_HELM_CHART_TAR%%/$(INJECT_HELM_CHART_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%MRZCPD_HELM_CHART_TAR%%/$(MRZCPD_HELM_CHART_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
+ sed -i -e "s/%%TREX_HELM_CHART_TAR%%/$(TREX_HELM_CHART_TAR)/" $(TARGET_INSTALLER_DIR)/install.sh
sed -i -e "s/%%DP_TRACE_HELM_CHART_TAR%%/$(DP_TRACE_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
- sed -i -e "s/%%MRZCPD_DEVICE_PLUGIN_IMAGE_TAG%%/$(MRZCPD_DEVICE_PLUGIN_IMAGE_TAG)/" $(PROJECTDIR)/$(MRZCPD_DEVICE_PLUGIN_FILE_PATH)
+ sed -i -e "s/%%NIC_UIO_BINDER_IMAGE_TAR%%/$(NIC_UIO_BINDER_IMAGE_TAR)/" $(PROJECTDIR)/$(NIC_UIO_BINDER_FILE_PATH)
prebuild_container_images:
ifeq ($(ENABLE_LICENSE_PROTECTED),1)
@@ -64,6 +67,7 @@ build_helm_charts: build_dir
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR) $(TRAFFIC_ENGINE_HELM_FILE_PATH)
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR) $(INJECT_ADAPTER_HELM_FILE_PATH)
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR) $(MRZCPD_HELM_FILE_PATH)
+ $(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR) $(TREX_HELM_FILE_PATH)
$(PROJECTDIR)/tools/build_helm_charts.sh $(PROJECTDIR) $(OS_RELEASE_VER) $(HELM_CHART_VER) $(TARGET_INSTALLER_DIR) $(DP_TRACE_HELM_FILE_PATH)
build_app_bundle_bin: clean_installer_dir installer build_helm_charts build_container_images
diff --git a/tools/build_container_images.sh b/tools/build_container_images.sh
index 283a628f..889dcb1b 100644
--- a/tools/build_container_images.sh
+++ b/tools/build_container_images.sh
@@ -67,8 +67,9 @@ function export_images()
${IMAGE_REPO_PREFIX}/tsg-bfdd:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-inject:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-packet-io-engine:${OS_RELEASE_VER} \
+ ${IMAGE_REPO_PREFIX}/trex:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-shaping:${OS_RELEASE_VER} \
- ${IMAGE_REPO_PREFIX}/tsg-packet-io-uio-binder:${OS_RELEASE_VER} \
+ ${IMAGE_REPO_PREFIX}/tsg-nic-uio-binder:${OS_RELEASE_VER} \
${IMAGE_REPO_PREFIX}/tsg-dp-trace-telemetry:${OS_RELEASE_VER}
}
##function define end
@@ -88,7 +89,8 @@ build_image "bfdd" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-bfdd:${OS
build_image "shaping" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-shaping:${OS_RELEASE_VER}"
build_image "inject" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-inject:${OS_RELEASE_VER}"
build_image "packet-io-engine" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-packet-io-engine:${OS_RELEASE_VER}"
-build_image "packet-io-uio-binder" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-packet-io-uio-binder:${OS_RELEASE_VER}"
+build_image "trex" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/trex:${OS_RELEASE_VER}"
+build_image "nic-uio-binder" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-nic-uio-binder:${OS_RELEASE_VER}"
build_image "dp-trace-telemetry" "${BASE_IMAGE_NAME}" "${IMAGE_REPO_PREFIX}/tsg-dp-trace-telemetry:${OS_RELEASE_VER}"
export_images