--- - name: Helm | Add Longhorn chart repository ansible.builtin.command: helm repo add longhorn https://charts.longhorn.io environment: KUBECONFIG: "{{ longhorn_kubeconfig }}" PATH: "/usr/local/bin:/usr/bin:/bin" register: _helm_repo_add changed_when: "'already exists' not in _helm_repo_add.stdout" failed_when: _helm_repo_add.rc != 0 and 'already exists' not in _helm_repo_add.stdout - name: Helm | Update chart repositories ansible.builtin.command: helm repo update environment: KUBECONFIG: "{{ longhorn_kubeconfig }}" PATH: "/usr/local/bin:/usr/bin:/bin" changed_when: false - name: Helm | Install or upgrade Longhorn ansible.builtin.command: > helm upgrade --install longhorn longhorn/longhorn --namespace {{ longhorn_namespace }} --create-namespace --version {{ longhorn_chart_version }} --set defaultSettings.defaultReplicaCount={{ longhorn_default_replica_count }} --set defaultSettings.replicaNodeLevelSoftAntiAffinity={{ longhorn_replica_node_soft_anti_affinity }} --set defaultSettings.minimalAvailableStoragePercentage={{ longhorn_minimal_available_storage_percentage }} --set defaultSettings.storageOverProvisioningPercentage={{ longhorn_storage_over_provisioning_percentage }} --set defaultSettings.createDefaultDiskLabeledNodes=true --set persistence.defaultClassReplicaCount={{ longhorn_default_replica_count }} --set persistence.defaultFsType=xfs --set persistence.defaultClass=true --set service.ui.type=ClusterIP environment: KUBECONFIG: "{{ longhorn_kubeconfig }}" PATH: "/usr/local/bin:/usr/bin:/bin" register: _helm_install changed_when: "'STATUS: deployed' in _helm_install.stdout or 'has been upgraded' in _helm_install.stdout"