Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update paths for s3 benchmark #60

Merged
merged 4 commits into from
Nov 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -850,7 +850,7 @@ Note that software will only be upgraded if new binaries are placed under the "a
### Wasabi Benchmark Program (s3-benchmark)

Wasabi Benchmark (s3-benchmark) is a performance testing tool that can validate performance of standard S3 operations (PUT, GET, and DELETE) on the MinIO object store.
It is automatically installed by Ansible to `/usr/dss/nkv-minio/s3-benchmark` on each host in the [servers] and [clients] groups.
It is automatically installed by Ansible to `/usr/dss/client-library/s3-benchmark` on each host in the [servers] and [clients] groups.

For complete documentation please see <https://github.com/wasabi-tech/s3-benchmark>.

Expand Down Expand Up @@ -902,7 +902,7 @@ Compaction reduces the dataset footprint on back-end storage and ensures optimal

Command:

[ansible@server-vm01 ~]$ /usr/dss/nkv-minio/s3-benchmark -a minio -s minio123 -b testbucket -u http://192.168.200.1:9000 -t 100 -z 1M -n 100 -o 1
[ansible@server-vm01 ~]$ /usr/dss/client-library/s3-benchmark -a minio -s minio123 -b testbucket -u http://192.168.200.1:9000 -t 100 -z 1M -n 100 -o 1

Output:

Expand All @@ -920,7 +920,7 @@ Command:

Command:

[ansible@server-vm01 ~]$ /usr/dss/nkv-minio/s3-benchmark -a minio -s minio123 -b testbucket -u http://192.168.200.1:9000 -t 100 -z 1M -n 100 -o 2
[ansible@server-vm01 ~]$ /usr/dss/client-library/s3-benchmark -a minio -s minio123 -b testbucket -u http://192.168.200.1:9000 -t 100 -z 1M -n 100 -o 2

Output:

Expand All @@ -932,7 +932,7 @@ Output:

Command:

[ansible@server-vm01 ~]$ /usr/dss/nkv-minio/s3-benchmark -a minio -s minio123 -b testbucket -u http://192.168.200.1:9000 -t 100 -z 1M -n 100 -o 3
[ansible@server-vm01 ~]$ /usr/dss/client-library/s3-benchmark -a minio -s minio123 -b testbucket -u http://192.168.200.1:9000 -t 100 -z 1M -n 100 -o 3

Output:

Expand Down
2 changes: 1 addition & 1 deletion roles/test_s3_benchmark/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
### Path defaults
artifacts_dir: "{{ inventory_dir }}/artifacts"
dss_dir: /usr/dss
minio_dir: "{{ dss_dir }}/nkv-minio"
client_library_dir: "{{ dss_dir }}/client-library"

### s3_benchmark defaults
s3_benchmark_bucket_prefix: s3-bucket-
Expand Down
8 changes: 4 additions & 4 deletions roles/test_s3_benchmark/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@
name: numactl
become: true

- name: Stat DSS Minio path
- name: Stat DSS Client path
stat:
path: "{{ minio_dir }}"
register: dss_minio_path
path: "{{ client_library_dir }}"
register: dss_client_path
when: inventory_hostname in host_hostnames

- name: Assert DSS Minio path exists
assert:
that: dss_minio_path.stat.exists
that: dss_client_path.stat.exists
fail_msg: DSS Minio is not installed. Execute 'deploy_dss_software.yml' playbook first.
when: inventory_hostname in host_hostnames

Expand Down
18 changes: 9 additions & 9 deletions roles/test_s3_benchmark/tasks/s3_benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@
---

- name: Assert operation is valid
assert:
ansible.builtin.assert:
that: operation in ['PUT', 'GET', 'DEL']
run_once: true

- name: Set operation_num var
set_fact:
ansible.builtin.set_fact:
operation_num: >-
{%- if operation == 'PUT' -%}
{{ s3_bench_put }}
Expand All @@ -47,7 +47,7 @@
run_once: true

- name: "Execute s3-benchmark {{ operation }}"
command: "{{ s3_bench_command }}"
ansible.builtin.command: "{{ s3_bench_command }}"
loop: "{{ assigned_endpoints }}"
loop_control:
loop_var: endpoint
Expand All @@ -60,7 +60,7 @@
{% if num_numa | int > 1 -%}
numactl -N {{ numa }} -m {{ adjacent_numa }}
{% endif -%}
{{ minio_dir }}/s3-benchmark
{{ client_library_dir }}/s3-benchmark
-a {{ minio_access_key }}
-s {{ minio_secret_key }}
-b {{ s3_benchmark_bucket_prefix }}{{ cluster_id }}
Expand All @@ -83,7 +83,7 @@
poll: 0

- name: "Check async s3-benchmark {{ operation }} command"
async_status:
ansible.builtin.async_status:
jid: "{{ async_task.ansible_job_id }}"
register: async_results
until: async_results.finished
Expand All @@ -95,7 +95,7 @@
label: "{{ async_task.endpoint.endpoint }}"

- name: "Assert async s3-benchmark {{ operation }} completion"
assert:
ansible.builtin.assert:
that: async_result.finished != 0
fail_msg: "nkv_test_cli did not complete in time"
quiet: true
Expand All @@ -105,7 +105,7 @@
label: "{{ async_result.cmd | join(' ') }}"

- name: "Assert s3-benchmark {{ operation }} results valid"
assert:
ansible.builtin.assert:
that: async_result.stdout is regex(objects_re)
fail_msg: "Did not get valid s3-benchmark result"
quiet: true
Expand All @@ -118,7 +118,7 @@
when: operation != 'DEL'

- name: Set test_seconds var
set_fact:
ansible.builtin.set_fact:
test_seconds: >-
{%- set elapsed_time = {'start': '', 'end': ''} -%}
{%- for client in groups['clients'] -%}
Expand All @@ -140,7 +140,7 @@
when: operation != 'DEL'

- name: set s3_speed var
set_fact:
ansible.builtin.set_fact:
s3_speed: >-
{%- set total_objects = {'value': 0} -%}
{%- set objects_re = 'objects = ([\d]+),' -%}
Expand Down