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 }}"