Skip to content

Commit b6a0719

Browse files
authored
Merge pull request #166 from aisa-b/fix-eviction-strategy
sap_vm_provision/kubevirt_vm: Make evictionStrategy configurable
2 parents 3f4292a + cb4e090 commit b6a0719

3 files changed

Lines changed: 17 additions & 1 deletion

File tree

roles/sap_vm_provision/defaults/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -822,6 +822,10 @@ sap_vm_provision_kubevirt_vm_os_user_password: ""
822822
# RAM Overhead [GiB] for virt-launcher container, this can be small for VMs < 1 TB and without SRIOV but should be increased to 16 or more for VMs > 1TB
823823
sap_vm_provision_kubevirt_vm_container_memory_overhead: 1
824824

825+
# Eviction strategy for KubeVirt VMs (String).
826+
# Set to 'None' for local storage (ReadWriteOnce PVCs) or 'LiveMigrate' for shared storage (ReadWriteMany).
827+
sap_vm_provision_kubevirt_vm_eviction_strategy: "None"
828+
825829
# CPU performance settings which are applied to VM
826830
# Note: Using dedicatedCpuPlacement=true together with numa.guestMappingPassthrough requires also usage of huge pages
827831
sap_vm_provision_kubevirt_vm_performance_cpu_settings:

roles/sap_vm_provision/tasks/platform_ansible/kubevirt_vm/execute_provision.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,11 +228,11 @@
228228
__sap_vm_provision_fact_vm_deploy_config:
229229
volumes: "{{ __sap_vm_provision_fact_storage_disk_name_list + __sap_vm_provision_fact_cloud_init_volume }}"
230230
networks: "{{ __sap_vm_provision_fact_networks_definition }}"
231+
evictionStrategy: "{{ sap_vm_provision_kubevirt_vm_eviction_strategy }}"
231232
domain:
232233
# shared | auto, auto prevents live migration
233234
ioThreadsPolicy: shared
234235
hostname: "{{ __sap_vm_provision_fact_vm_name }}"
235-
evictionStrategy: LiveMigrate
236236
terminationGracePeriodSeconds: 1800 # 30 minutes after stop request before VM is force terminated
237237
resources:
238238
requests:
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
---
3+
4+
- name: Assert that the variable 'sap_vm_provision_kubevirt_vm_eviction_strategy' is defined as valid string
5+
ansible.builtin.assert:
6+
that:
7+
- sap_vm_provision_kubevirt_vm_eviction_strategy is defined
8+
- sap_vm_provision_kubevirt_vm_eviction_strategy is string
9+
- sap_vm_provision_kubevirt_vm_eviction_strategy in ['None', 'LiveMigrate']
10+
fail_msg: |
11+
The variable 'sap_vm_provision_kubevirt_vm_eviction_strategy' is undefined or invalid.
12+
It should be one of: 'None' for local storage (ReadWriteOnce PVCs) or 'LiveMigrate' for shared storage (ReadWriteMany).

0 commit comments

Comments
 (0)