Skip to content

Commit 6bf7b07

Browse files
authored
V23.4 external release (#67)
* v23.4 external release
1 parent c6388bb commit 6bf7b07

File tree

452 files changed

+314706
-2407
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

452 files changed

+314706
-2407
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ if(BACKEND)
123123
include(${BACKEND} OPTIONAL)
124124
endif()
125125
set(IMAGEARCH "linux/amd64")
126+
set(IMAGESUFFIX "")
126127
include(multi-arch OPTIONAL)
127128

128129
foreach(subdir image stack workload dist)

doc/user-guide/preparing-infrastructure/setup-containerd.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,18 @@ EOF
4545
sudo systemctl restart containerd
4646
```
4747

48+
On-Premises workload validation based on RKE2 requires to use a docker registry. If you need to setup any insecure registries with `containerd`, modify the `rke2` configuration as follows, assuming your private registry is `foo.com:5000`:
49+
50+
```shell
51+
cat | sudo tee /etc/rancher/rke2/registries.yaml <<EOF
52+
mirrors:
53+
"foo.com:5000":
54+
endpoint:
55+
- "http://foo.com:5000"
56+
EOF
57+
sudo systemctl restart rke2-server
58+
```
59+
4860
## Setup Data Storage
4961

5062
Optionally, if you need to move the containerd storage location to, for example, `/mnt/storage/containerd`:
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
# DLB Setup
3+
4+
DLB is supported in certain SPR SKUs. Please make sure your CPU sku (QDF) supports DLB.
5+
6+
And DLB is broken with latest BKC kernel `5.15.0-spr.bkc.pc.2.10.0.x86_64`.
7+
Before running the workload, please make sure your SPR has DLB device by running the following command:
8+
9+
```shell
10+
lspci | grep 2710
11+
```
12+
13+
If there are devices listed, then please download the DLB driver from this link: https://www.intel.com/content/www/us/en/download/686372/intel-dynamic-load-balancer.html
14+
15+
Execute the following commands:
16+
17+
```shell
18+
tar -xf dlb_linux_src_release_<dlb_driver_version>.txz
19+
cd dlb/driver/dlb2/
20+
make
21+
sudo insmod dlb2.ko
22+
```
23+
24+
Then you can run the workload on this machine.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Nginx Cache Server Setup
2+
3+
This document is a guide for setting up Nginx-DLB benchmark environment, including Hardware platform and Software configuration on storage.
4+
5+
## HW Prerequisites
6+
7+
- Setup 3 servers: one node (client) for client deployment; 2 node for cache server (worker-0) and content server (worker-1) deployment.
8+
- Cache server (worker-0) requires 5 NVMe disks.
9+
10+
## K8S Labels configuaration
11+
12+
Please finish the section, [Storage configuration](setup-nginx-cache.md#storage-configuration), then label the corresponding nodes.
13+
14+
Command examples:
15+
16+
- Label:
17+
```shell
18+
kubectl label node <node name> HAS-SETUP-NVMECACHE=yes
19+
```
20+
- Unlabel:
21+
```shell
22+
kubectl label node <node name> HAS-SETUP-NVMECACHE-
23+
```
24+
25+
Nginx cache server worker-0:*
26+
27+
- `HAS-SETUP-NGINX-CACHE=yes`
28+
29+
## Storage configuration
30+
31+
This should be done on worker-0.
32+
33+
- Prepare 5 nvme disk for nginx cache server pod. *nvme?* means multiple nvme disk.
34+
35+
- Check NVMe drives and Partition drives
36+
```shell command
37+
ls /dev/nvme*
38+
```
39+
40+
```output
41+
/dev/nvme1 /dev/nvme2 /dev/nvme3 /dev/nvme4 /dev/nvme5
42+
```
43+
44+
- Format drives as ext4 (or xfs):
45+
```shell command
46+
mkfs.ext4 /dev/nvme1n1
47+
mkfs.ext4 /dev/nvme2n1
48+
mkfs.ext4 /dev/nvme3n1
49+
mkfs.ext4 /dev/nvme4n1
50+
mkfs.ext4 /dev/nvme5n1
51+
```
52+
53+
- Create cache mountpoints and mount to four pairs
54+
```shell command
55+
mkdir /nginx/cache1
56+
mount -o rw,noatime,seclabel,discard /dev/nvme1n1 /nginx/cache1
57+
mkdir /nginx/cache2
58+
mount -o rw,noatime,seclabel,discard /dev/nvme2n1 /nginx/cache2
59+
mkdir /nginx/cache3
60+
mount -o rw,noatime,seclabel,discard /dev/nvme3n1 /nginx/cache3
61+
mkdir /nginx/cache4
62+
mount -o rw,noatime,seclabel,discard /dev/nvme4n1 /nginx/cache4
63+
mkdir /nginx/cache5
64+
mount -o rw,noatime,seclabel,discard /dev/nvme5n1 /nginx/cache5
65+
```

doc/user-guide/preparing-infrastructure/setup-terraform.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,5 +180,4 @@ $ exit
180180
[WSF Cloud Setup]: setup-wsf.md#cloud-development-setup
181181
[WSF On-Premises Setup]: setup-wsf.md#on-premises-development-setup
182182
[terraform-config.static.tf]: ../../../script/terraform/terraform-config.static.tf
183-
[WSF KVM Setup]: setup-wsf.md#kvm-development-setup
184183
[Trace Module]: ../executing-workload/terraform-options.md#trace-module-parameters

doc/user-guide/preparing-infrastructure/setup-wsf.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ flowchart TD;
1919
net <--> sut3;;
2020
```
2121

22-
where the SUT machines can be physical hosts in the On-Premesis case, or virtualized VMs in the Cloud or KVM execution. If Kubernetes is used, it is assumed that the SUT hosts form a Kubernetes cluster, where one of the SUTs be the Kubernetes controller.
22+
where the SUT machines can be physical hosts in the On-Premesis case, or virtualized VMs in the Cloud. If Kubernetes is used, it is assumed that the SUT hosts form a Kubernetes cluster, where one of the SUTs be the Kubernetes controller.
2323

2424
There can be many variations of the above diagram:
2525
- Combine dev and the Kubernetes controller on the same machine.
@@ -167,18 +167,16 @@ Use the following setup steps:
167167

168168
- Use `cmake -DREGISTRY=<registry_url> ..` to set the private registry URL.
169169
- Set `k8s_enable_registry: false` in `script/terraform/terraform-config.static.tf`. This is the default.
170-
- If the host has enough CPU cores and memory, suggest to use the KVM development setup for more flexibility.
171170

172171
---
173172

174173
## Setup Scripts
175-
> Note: All scripts mentioned below, such as setup-dev.sh, setup-sut-kvm.sh, etc, are found inside ```script/setup/``` and must be executed from there.
174+
> Note: All scripts mentioned below, such as setup-dev.sh, etc, are found inside ```script/setup/``` and must be executed from there.
176175
- **[`setup-dev.sh`][setup-dev.sh-self]**: Setup the dev host.
177176
- **[`setup-reg.sh`][setup-reg.sh-self]**: Setup a private docker registry.
178177
- **[`setup-sut-native.sh`][setup-sut-native.sh-self]**: Setup the SUT host for native workload execution.
179178
- **[`setup-sut-docker.sh`][setup-sut-docker.sh-self]**: Setup the SUT host for docker/docker-compose workload execution.
180179
- **[`setup-sut-k8s.sh`][setup-sut-k8s.sh-self]**: Setup the SUT host for Kubernetes workload execution.
181-
- **[`setup-sut-kvm.sh`][setup-sut-kvm.sh-self]**: Setup the KVM host.
182180

183181
### setup-dev.sh
184182

@@ -266,7 +264,6 @@ where `options` are:
266264

267265
[Instructions of Cloud Setup]: #cloud-setup
268266
[Instructions of On-Premises Setup]: #on-premises-setup
269-
[Instructions of KVM Setup]: #kvm-setup
270267
[Manual of Setup Scripts]: #setup-scripts
271268
[Prerequisites]: #prerequisites
272269
[RFC-1178]: http://www.faqs.org/rfcs/rfc1178.html

script/benchmark/ctest.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ if [ -n "$stop" ]; then
121121
if [ "$($cmd | wc -l)" -ne 2 ] && [ "$stop" != "--stop=all" ]; then
122122
echo "None or multiple ctest instances detected:"
123123
echo ""
124-
$cmd --format '{{.Names}}\t\t{{.ID}}\t{{.Status}}'
124+
$cmd --format '{{.Names}}\t{{.Status}}'
125125
echo ""
126126
echo "Please identify the instance with: ./ctest.sh --stop=<prefix> or ./ctest.sh --stop=all"
127127
exit 3
@@ -255,7 +255,7 @@ for var in "$@"; do
255255
--check-docker-image)
256256
export CTESTSH_OPTIONS="$CTESTSH_OPTIONS --check-docker-image"
257257
;;
258-
--push-docker-image=)
258+
--push-docker-image=*)
259259
export CTESTSH_OPTIONS="$CTESTSH_OPTIONS --push-docker-image=${var#--push-docker-image=}"
260260
;;
261261
--push-docker-image)

script/benchmark/kpi-list.awk

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
# SPDX-License-Identifier: Apache-2.0
66
#
77

8+
BEGIN {
9+
status="failed"
10+
}
811
/^#svrinfo[:-] / {
912
if (!svrinfo) next
1013
}
@@ -14,7 +17,10 @@
1417
{
1518
print $0
1619
}
17-
/^[*].*: *([0-9.-][0-9.e+-]*) *#*.*$/ {
20+
/^# status: (passed|failed)/ {
21+
status=$3
22+
}
23+
/^[*].*: *([0-9.-][0-9.e+-]*) *#*.*$/ && status=="passed" {
1824
k=gensub(/^(.*): *[0-9.-][0-9.-]*.*$/,"\\1",1,$0)
1925
v=gensub(/^.*: *([0-9.-][0-9.-]*).*$/,"\\1",1,$0)
2026
n[k]=n[k]+1

script/benchmark/kpi-xls-ai.awk

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ function get_value() {
2626
/\/itr-[0-9]*:$/{
2727
name=gensub(/^.*logs-([^/]*)[/].*$/,"\\1",1)
2828
itr=gensub(/^.*[/]itr-([0-9]+):$/,"\\1",1)
29+
status="failed"
30+
}
31+
32+
/^# status: (passed|failed)/ {
33+
status=$3
2934
}
3035

3136
index($0,var1)==1 || ($1=="#" && index($2,var1)==1) {
@@ -36,14 +41,14 @@ index($0,var2)==1 || ($1=="#" && index($2,var2)==1) {
3641
var2v=gensub(/.*"(.*)".*/,"\\1",1,$NF)
3742
}
3843

39-
index($0,var3)==1 {
44+
index($0,var3)==1 && status=="passed" {
4045
var3v[name][product][var1v][var2v][++var3vct[name][product][var1v][var2v]]=get_value()
4146
n=length(var3v[name][product][var1v][var2v])
4247
if (n>var34n[name][product][var1v][var2v])
4348
var34n[name][product][var1v][var2v]=n
4449
}
4550

46-
index($0,var4)==1 {
51+
index($0,var4)==1 && status=="passed" {
4752
idx=gensub(/ *([0-9]+).*$/,"\\1",1,substr($0,length(var4)+1))
4853
var4v[name][product][var1v][var2v][idx][++var4vct[name][product][var1v][var2v][idx]]=get_value()
4954
n=length(var4v[name][product][var1v][var2v][idx])

script/benchmark/kpi-xls-inst.awk

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,14 @@
1212

1313
/\/itr-[0-9]*:$/ {
1414
name=gensub(/^.*logs-([^/]*)[/].*$/,"\\1",1)
15+
status="failed"
1516
}
1617

17-
/^[^#].*: *[0-9.-][0-9.e+-]* *#?.*$/ {
18+
/^# status: (passed|failed)/ {
19+
status=$3
20+
}
21+
22+
/^[^#].*: *[0-9.-][0-9.e+-]* *#?.*$/ && status=="passed" {
1823
k=gensub(/^(.*): *[0-9.-]+.*$/, "\\1", 1)
1924
v=gensub(/^.*: *([0-9.-]+).*/, "\\1", 1)
2025
kpis[name][product][k][++kpisct[name][product][k]]=v
@@ -90,12 +95,14 @@ END {
9095
print "</Row>"
9196
}
9297

93-
add_svrinfo_ex(ws, psp, ith)
98+
if (length(svrinfo_values[ws])>0)
99+
add_svrinfo_ex(ws, psp, ith)
94100

95101
print "</Table>"
96102
print "</Worksheet>"
97103

98-
add_svrinfo(ws)
104+
if (length(svrinfo_values[ws])>0)
105+
add_svrinfo(ws)
99106
}
100107
print "</Workbook>"
101108
}

0 commit comments

Comments
 (0)