--- - name: Label | Check kubeconfig exists ansible.builtin.stat: path: "{{ gpu_kubeconfig }}" register: _kubeconfig_gpu - name: Label | Apply node_labels to each GPU worker ansible.builtin.command: argv: "{{ ['kubectl', 'label', 'node', item, '--overwrite'] + (hostvars[item].node_labels.items() | map('join', '=') | list) }}" environment: KUBECONFIG: "{{ gpu_kubeconfig }}" PATH: "/usr/local/bin:/usr/bin:/bin" loop: "{{ groups['gpu_workers'] | default([]) }}" when: - _kubeconfig_gpu.stat.exists - hostvars[item].node_labels | default({}) | length > 0 register: _label changed_when: "'labeled' in _label.stdout" failed_when: _label.rc != 0