Skip to content

Commit c707d56

Browse files
author
Nils Koenig
committed
streamlined disk templating with disk_maps.j2
1 parent 297bcc7 commit c707d56

File tree

2 files changed

+53
-59
lines changed

2 files changed

+53
-59
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{%- set disks_map = [
2+
{
3+
'metadata': { 'name': ( disk_name | replace('_', '-') ) },
4+
'spec' : {
5+
'source' : disk_source,
6+
'storage' : {
7+
'accessModes': disk_access_modes | d('[ReadWriteMany]'),
8+
'resources': {
9+
'requests': {
10+
'storage': disk_size
11+
}
12+
},
13+
'storageClassName': disk_storageclass_name | d('')
14+
}
15+
}
16+
}
17+
] -%}
18+
{{ disks_map }}

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

Lines changed: 35 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -22,56 +22,38 @@
2222

2323
- name: Set fact for download OS Image
2424
ansible.builtin.set_fact:
25-
os_image: |-
26-
{%- set disks_map = [
27-
{
28-
'metadata': { 'name': (__sap_vm_provision_register_vm_name + '-boot' | replace('_', '-')) },
29-
'spec' : {
30-
'source' : {
31-
'registry' : {
32-
'url': __sap_vm_provision_register_vm_config.os_image.url,
33-
'pullMethod': 'node'
34-
},
25+
os_image: |
26+
{{ lookup('template', 'disks_map.j2',
27+
template_vars={
28+
'disk_name': __sap_vm_provision_register_vm_name + '-boot',
29+
'disk_access_mode': __sap_vm_provision_register_vm_config.os_image.access_modes,
30+
'disk_source': {
31+
'registry' : {
32+
'url': __sap_vm_provision_register_vm_config.os_image.url,
33+
'pullMethod': 'node'
3534
},
36-
'storage' : {
37-
'accessModes': __sap_vm_provision_register_vm_config.os_image.access_modes,
38-
'resources': {
39-
'requests': {
40-
'storage': __sap_vm_provision_register_vm_config.os_image.size
41-
}
42-
}
43-
}
44-
}
35+
},
36+
'disk_size': __sap_vm_provision_register_vm_config.os_image.size,
4537
}
46-
] -%}
47-
{{ disks_map }}
38+
), }}
4839
when: __sap_vm_provision_register_vm_config.os_image.url is defined
4940

5041
- name: Set fact for existing OS Image
5142
ansible.builtin.set_fact:
5243
os_image: |
53-
{%- set disks_map = [
54-
{
55-
'metadata': { 'name': (__sap_vm_provision_register_vm_name + '-boot' | replace('_', '-')) },
56-
'spec' : {
57-
'source' : {
58-
'pvc' : {
59-
'name': __sap_vm_provision_register_vm_config.os_image.source_pvc_name,
60-
'namespace': __sap_vm_provision_register_vm_config.os_image.namespace
61-
},
44+
{{ lookup('template', 'disks_map.j2',
45+
template_vars={
46+
'disk_name': __sap_vm_provision_register_vm_name + '-boot',
47+
'disk_access_mode': __sap_vm_provision_register_vm_config.os_image.access_modes,
48+
'disk_source': {
49+
'pvc' : {
50+
'name': __sap_vm_provision_register_vm_config.os_image.source_pvc_name,
51+
'namespace': __sap_vm_provision_register_vm_config.os_image.namespace
6252
},
63-
'storage' : {
64-
'accessModes': __sap_vm_provision_register_vm_config.os_image.access_modes,
65-
'resources': {
66-
'requests': {
67-
'storage': __sap_vm_provision_register_vm_config.os_image.size
68-
}
69-
}
70-
}
71-
}
53+
},
54+
'disk_size': __sap_vm_provision_register_vm_config.os_image.size,
7255
}
73-
] -%}
74-
{{ disks_map }}
56+
), }}
7557
when:
7658
- __sap_vm_provision_register_vm_config.os_image.source_pvc_name is defined
7759
- __sap_vm_provision_register_vm_config.os_image.namespace is defined
@@ -81,24 +63,18 @@
8163
storage_disks_map: |-
8264
{% set disks_map = [] -%}
8365
{% for storage_item in __sap_vm_provision_register_vm_config.storage_definition -%}
84-
{% set vol = disks_map.extend([
85-
{
86-
'metadata': { 'name': (__sap_vm_provision_register_vm_name + '-' + storage_item.name | replace('_', '-')) },
87-
'spec' : {
88-
'source' : {
89-
'blank' : {}
90-
},
91-
'storage' : {
92-
'accessModes': storage_item.access_modes,
93-
'resources': {
94-
'requests': {
95-
'storage': ((storage_item.disk_size | default(0)) | string) + 'Gi'
96-
}
97-
},
98-
'storageClassName': storage_item.disk_type | default('')
99-
}
100-
}
101-
}]) %}
66+
{% set vol = disks_map.extend([
67+
lookup('template', 'disks_map.j2',
68+
template_vars={
69+
'disk_name': __sap_vm_provision_register_vm_name + '-' + storage_item.name,
70+
'disk_access_mode': storage_item.access_modes,
71+
'disk_source': {
72+
'blank' : {}
73+
},
74+
'disk_size': ((storage_item.disk_size | default(0)) | string) + 'Gi'
75+
'disk_storageclass_name': storage_item.disk_type
76+
}),
77+
}]) %}
10278
{%- endfor %}
10379
{{ disks_map }}
10480

0 commit comments

Comments
 (0)