diff options
| author | linxin <[email protected]> | 2024-06-12 18:47:22 +0800 |
|---|---|---|
| committer | 林鑫 <[email protected]> | 2024-06-28 07:32:49 +0000 |
| commit | e27c8aa425f8ddf14526d21124edc2473eb4355a (patch) | |
| tree | fb6ec2150942e91f5b4e99ec025df6e298f9c27f | |
| parent | 2ce2d9847ddaac8ee4254cb08a730b6131ca2e5e (diff) | |
✨ feat:add trex component (helmchart, image, nic-uio-binder and so on)to os
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 Binary files differnew file mode 100644 index 00000000..d0ceed88 --- /dev/null +++ b/ansible/roles/trex/files/v3.02.tar.gz 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 |
