diff --git a/gpu-validation/defaults/main.yaml b/gpu-validation/defaults/main.yaml index 529ad5e..325acc8 100644 --- a/gpu-validation/defaults/main.yaml +++ b/gpu-validation/defaults/main.yaml @@ -35,7 +35,7 @@ gpu_validation_extra_specs: # [string] Hugepage size for VM memory backing # When set, adds hw:mem_page_size to the flavor extra_specs -gpu_validation_mem_page_size: +gpu_validation_mem_page_size: '' # [string] NVIDIA management library version gpu_validation_libnvidia_ml_version: libnvidia-ml @@ -53,7 +53,7 @@ gpu_validation_private_key_file: ~/test_keypair.key # [string] SSH ProxyCommand for accessing VMs through a bastion/hypervisor # Example: '-o ProxyCommand="ssh -W %h:%p -o StrictHostKeyChecking=no -i /path/to/key user@bastion-host"' -gpu_validation_ssh_proxy_command: +gpu_validation_ssh_proxy_command: '' # [string] HTTP proxy for outbound connections (dnf, container pulls, model downloads) # Do not embed credentials in the URL — proxy values are written to systemd unit files # Example: 'http://proxy.example.com:3128' diff --git a/gpu-validation/tasks/proxy.yaml b/gpu-validation/tasks/proxy.yaml index 19cf0cf..c5b18d8 100644 --- a/gpu-validation/tasks/proxy.yaml +++ b/gpu-validation/tasks/proxy.yaml @@ -5,9 +5,9 @@ create: true mode: "0644" block: | - HTTP_PROXY={{ gpu_validation_http_proxy }} + HTTP_PROXY={{ gpu_validation_http_proxy | default(gpu_validation_https_proxy, true) }} HTTPS_PROXY={{ gpu_validation_https_proxy | default(gpu_validation_http_proxy, true) }} - http_proxy={{ gpu_validation_http_proxy }} + http_proxy={{ gpu_validation_http_proxy | default(gpu_validation_https_proxy, true) }} https_proxy={{ gpu_validation_https_proxy | default(gpu_validation_http_proxy, true) }} NO_PROXY={{ gpu_validation_no_proxy }} no_proxy={{ gpu_validation_no_proxy }} @@ -16,7 +16,7 @@ ansible.builtin.lineinfile: path: /etc/dnf/dnf.conf regexp: '^proxy=' - line: "proxy={{ gpu_validation_http_proxy }}" + line: "proxy={{ gpu_validation_http_proxy | default(gpu_validation_https_proxy, true) }}" - name: Configure container engine proxy ansible.builtin.file: @@ -30,7 +30,7 @@ mode: "0644" content: | [Service] - Environment="HTTP_PROXY={{ gpu_validation_http_proxy }}" + Environment="HTTP_PROXY={{ gpu_validation_http_proxy | default(gpu_validation_https_proxy, true) }}" Environment="HTTPS_PROXY={{ gpu_validation_https_proxy | default(gpu_validation_http_proxy, true) }}" Environment="NO_PROXY={{ gpu_validation_no_proxy }}" register: _proxy_dropin diff --git a/gpu-validation/tasks/setup.yaml b/gpu-validation/tasks/setup.yaml index c9b0edc..db5a3e5 100644 --- a/gpu-validation/tasks/setup.yaml +++ b/gpu-validation/tasks/setup.yaml @@ -8,7 +8,7 @@ - name: Configure proxy settings ansible.builtin.include_tasks: proxy.yaml - when: gpu_validation_http_proxy | length > 0 + when: gpu_validation_http_proxy or gpu_validation_https_proxy - name: Install needed driver dependency packages for RHEL when: diff --git a/gpu-validation/tasks/vm_deploy.yaml b/gpu-validation/tasks/vm_deploy.yaml index da136f8..9697bd0 100644 --- a/gpu-validation/tasks/vm_deploy.yaml +++ b/gpu-validation/tasks/vm_deploy.yaml @@ -18,7 +18,7 @@ - name: Poll for SSH to be available on {{ gpu_validation_vm_name }} ansible.builtin.command: | ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ - {{ gpu_validation_ssh_proxy_command | default('') }} \ + {{ gpu_validation_ssh_proxy_command }} \ -i {{ gpu_validation_private_key_file }} cloud-user@{{ gpu_validation_floating_ip }} retries: 60 # 60 * 10 = 10 mins delay: 10 diff --git a/gpu-validation/tasks/vm_image.yaml b/gpu-validation/tasks/vm_image.yaml index 20a807c..2ff195b 100644 --- a/gpu-validation/tasks/vm_image.yaml +++ b/gpu-validation/tasks/vm_image.yaml @@ -31,7 +31,7 @@ gpu_validation_extra_specs: "{{ gpu_validation_extra_specs | combine({'hw:mem_page_size': gpu_validation_mem_page_size}) }}" when: - gpu_validation_mode != "mig" - - gpu_validation_mem_page_size | default('') | length > 0 + - gpu_validation_mem_page_size - name: Reset extra_specs based GPU mode ansible.builtin.set_fact: diff --git a/gpu-validation/templates/vllm-serve.service.j2 b/gpu-validation/templates/vllm-serve.service.j2 index a57a349..2b57924 100644 --- a/gpu-validation/templates/vllm-serve.service.j2 +++ b/gpu-validation/templates/vllm-serve.service.j2 @@ -5,8 +5,8 @@ Description=vllm model serve service WantedBy=multi-user.target default.target [Service] -{% if gpu_validation_http_proxy | length > 0 %} -Environment="HTTP_PROXY={{ gpu_validation_http_proxy }}" +{% if gpu_validation_http_proxy or gpu_validation_https_proxy %} +Environment="HTTP_PROXY={{ gpu_validation_http_proxy | default(gpu_validation_https_proxy, true) }}" Environment="HTTPS_PROXY={{ gpu_validation_https_proxy | default(gpu_validation_http_proxy, true) }}" Environment="NO_PROXY={{ gpu_validation_no_proxy | default('localhost,127.0.0.1') }}" {% endif %} @@ -20,8 +20,8 @@ ExecStart=podman run \ {% if gpu_validation_model_download_hf_token %} --env "HUGGING_FACE_HUB_TOKEN={{ gpu_validation_model_download_hf_token | quote }}" \ {% endif %} -{% if gpu_validation_http_proxy | length > 0 %} - --env "HTTP_PROXY={{ gpu_validation_http_proxy }}" \ +{% if gpu_validation_http_proxy or gpu_validation_https_proxy %} + --env "HTTP_PROXY={{ gpu_validation_http_proxy | default(gpu_validation_https_proxy, true) }}" \ --env "HTTPS_PROXY={{ gpu_validation_https_proxy | default(gpu_validation_http_proxy, true) }}" \ --env "NO_PROXY={{ gpu_validation_no_proxy | default('localhost,127.0.0.1') }}" \ {% endif %}