Support cdrom media change.
This commit is contained in:
parent
ae2e6cde7f
commit
e8b10b32b0
12 changed files with 278 additions and 37 deletions
|
|
@ -136,15 +136,28 @@ data:
|
|||
drives:
|
||||
<#assign drvCounter = 0/>
|
||||
<#list cr.spec.vm.disks.asList() as disk>
|
||||
<#if disk.volumeClaimTemplate.metadata??
|
||||
<#if disk.volumeClaimTemplate??
|
||||
&& disk.volumeClaimTemplate.metadata??
|
||||
&& disk.volumeClaimTemplate.metadata.name??>
|
||||
<#assign name = disk.volumeClaimTemplate.metadata.name.asString>
|
||||
<#else>
|
||||
<#assign name = "" + drvCounter>
|
||||
</#if>
|
||||
<#if disk.volumeClaimTemplate??>
|
||||
- type: raw
|
||||
resource: /dev/disk-${ name }
|
||||
<#assign drvCounter = drvCounter + 1/>
|
||||
<#if disk.bootindex??>
|
||||
bootindex: ${ disk.bootindex.asInt?c }
|
||||
</#if>
|
||||
<#assign drvCounter = drvCounter + 1/>
|
||||
</#if>
|
||||
<#if disk.cdromImage??>
|
||||
- type: ide-cd
|
||||
file: "${ disk.cdromImage.path.asString }"
|
||||
<#if disk.bootindex??>
|
||||
bootindex: ${ disk.bootindex.asInt?c }
|
||||
</#if>
|
||||
</#if>
|
||||
</#list>
|
||||
|
||||
display:
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ spec:
|
|||
volumeDevices:
|
||||
<#assign diskCounter = 0/>
|
||||
<#list cr.spec.vm.disks.asList() as disk>
|
||||
<#if disk.volumeClaimTemplate??>
|
||||
<#if disk.volumeClaimTemplate.metadata??
|
||||
&& disk.volumeClaimTemplate.metadata.name??>
|
||||
<#assign diskName = "disk-" + disk.volumeClaimTemplate.metadata.name.asString>
|
||||
|
|
@ -45,6 +46,7 @@ spec:
|
|||
- name: ${ diskName }
|
||||
devicePath: /dev/${ diskName }
|
||||
<#assign diskCounter = diskCounter + 1/>
|
||||
</#if>
|
||||
</#list>
|
||||
securityContext:
|
||||
privileged: true
|
||||
|
|
@ -72,6 +74,7 @@ spec:
|
|||
claimName: vmop-image-repository
|
||||
<#assign diskCounter = 0/>
|
||||
<#list cr.spec.vm.disks.asList() as disk>
|
||||
<#if disk.volumeClaimTemplate??>
|
||||
<#if disk.volumeClaimTemplate.metadata??
|
||||
&& disk.volumeClaimTemplate.metadata.name??>
|
||||
<#assign claimName = disk.volumeClaimTemplate.metadata.name.asString>
|
||||
|
|
@ -84,6 +87,7 @@ spec:
|
|||
persistentVolumeClaim:
|
||||
claimName: ${ claimName }
|
||||
<#assign diskCounter = diskCounter + 1/>
|
||||
</#if>
|
||||
</#list>
|
||||
hostNetwork: true
|
||||
terminationGracePeriodSeconds: ${ (cr.spec.vm.powerdownTimeout.asInt + 5)?c }
|
||||
|
|
|
|||
|
|
@ -58,6 +58,9 @@ import static org.jdrupes.vmoperator.manager.Constants.VM_OP_NAME;
|
|||
private void reconcileDisk(DynamicKubernetesObject vmDefinition,
|
||||
int index, JsonObject diskDef, WatchChannel channel)
|
||||
throws ApiException {
|
||||
if (!diskDef.has("volumeClaimTemplate")) {
|
||||
return;
|
||||
}
|
||||
var pvcObject = new DynamicKubernetesObject();
|
||||
var pvcRaw = GsonPtr.to(pvcObject.getRaw());
|
||||
var vmRaw = GsonPtr.to(vmDefinition.getRaw());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue