github.com/NVIDIA/aistore@v1.3.23-0.20240517131212-7df6609be51d/bench/tools/aisloader-composer/playbooks/benchmark.yaml (about) 1 - name: Run aisloader "{{ bench_type }}" on bucket {{ bucket }} 2 hosts: aisloader_hosts 3 gather_facts: no 4 vars_files: 5 - "vars/bench.yaml" 6 7 tasks: 8 - name: Set ansible fact for ips of target hosts 9 set_fact: 10 target_host_ips: "{{ groups['target_hosts'] | map('extract', hostvars, ['ansible_host']) | join(',') }}" 11 12 - name: Copy object list if provided 13 ansible.builtin.copy: 14 src: "{{ filelist }}" 15 dest: "{{ filelist | basename }}" 16 when: filelist is defined and filelist | length > 0 17 18 - name: Start aisloader direct GET 19 ansible.builtin.script: scripts/aisloader_script.sh --bench_type={{ bench_type }} --s3_endpoint={{ s3_endpoint }} --bucket={{ bucket }} --duration={{ duration }} --epochs={{ epochs }} --grafana_host={{ hostvars[grafana_host].ansible_host }} --workers={{ get_workers.value }} --filelist={{ filelist | basename }} 20 when: bench_type == "direct_get" 21 22 - name: Start aisloader direct PUT 23 ansible.builtin.script: scripts/aisloader_script.sh --bench_type={{ bench_type }} --s3_endpoint={{ s3_endpoint }} --bucket={{ bucket }} --each_size={{ bench_size }} --total_size={{ total_size }} --grafana_host={{ hostvars[grafana_host].ansible_host }} --workers={{ put_workers.value }} 24 when: bench_type == "direct_put" 25 26 - name: Start aisloader GET 27 ansible.builtin.script: scripts/aisloader_script.sh --bench_type={{ bench_type }} --bucket={{ bucket }} --ais_proxies={{ target_host_ips }} --ais_port={{ ais_port.value }} --duration={{ duration }} --epochs={{ epochs }} --grafana_host={{ hostvars[grafana_host].ansible_host }} --workers={{ get_workers.value }} --filelist={{ filelist | basename }} 28 when: bench_type == "get" 29 30 - name: Start aisloader PUT 31 ansible.builtin.script: scripts/aisloader_script.sh --bench_type={{ bench_type }} --bucket={{ bucket }} --ais_proxies={{ target_host_ips }} --ais_port={{ ais_port.value }} --each_size={{ bench_size }} --total_size={{ total_size }} --grafana_host={{ hostvars[grafana_host].ansible_host }} --workers={{ put_workers.value }} 32 when: bench_type == "put" 33 34 - name: Set bucket_name variable 35 set_fact: 36 bucket_name: "{{ bucket if '//' not in bucket else bucket.split('//')[1] }}" 37 38 - name: Find the output files 39 find: 40 paths: /tmp/aisloader/ 41 patterns: "{{ bucket_name }}-{{ bench_type }}*" 42 use_regex: False 43 register: outfiles 44 45 - name: Fetch the output files from remote 46 fetch: 47 src: "{{ item.path }}" 48 dest: ../output/{{ bench_type }}/{{ bucket_name }}/ 49 flat: yes 50 with_items: "{{ outfiles.files }}"