@@ -576,6 +576,27 @@ func TestAccXenorchestraVm_createWithDisklessTemplateAndISO(t *testing.T) {
576
576
})
577
577
}
578
578
579
+ func TestAccXenorchestraVm_createWithoutDisks (t * testing.T ) {
580
+ resourceName := "xenorchestra_vm.bar"
581
+ vmName := fmt .Sprintf ("%s - %s" , accTestPrefix , t .Name ())
582
+ resource .ParallelTest (t , resource.TestCase {
583
+ PreCheck : func () { testAccPreCheck (t ) },
584
+ Providers : testAccProviders ,
585
+ CheckDestroy : testAccCheckXenorchestraVmDestroy ,
586
+ Steps : []resource.TestStep {
587
+ {
588
+ Config : testAccVmConfigWithoutDisks (vmName ),
589
+ Check : resource .ComposeAggregateTestCheckFunc (
590
+ testAccVmExists (resourceName ),
591
+ resource .TestCheckResourceAttrSet (resourceName , "id" ),
592
+ resource .TestCheckResourceAttr (resourceName , "cdrom.#" , "1" ),
593
+ internal .TestCheckTypeSetElemAttrPair (resourceName , "cdrom.0.*" , "data.xenorchestra_vdi.iso" , "id" ),
594
+ ),
595
+ },
596
+ },
597
+ })
598
+ }
599
+
579
600
func TestAccXenorchestraVm_insertAndEjectCd (t * testing.T ) {
580
601
resourceName := "xenorchestra_vm.bar"
581
602
vmName := fmt .Sprintf ("%s - %s" , accTestPrefix , t .Name ())
@@ -1542,6 +1563,36 @@ resource "xenorchestra_vm" "bar" {
1542
1563
` , testIsoName , accTestPool .Id , accDefaultNetwork .NameLabel , accTestPool .Id , vmName , accDefaultSr .Id )
1543
1564
}
1544
1565
1566
+ func testAccVmConfigWithoutDisks (vmName string ) string {
1567
+ return testAccCloudConfigConfig (fmt .Sprintf ("vm-template-%s" , vmName ), "template" ) + testAccNonDefaultTemplateConfig (disklessTestTemplate .NameLabel ) + fmt .Sprintf (`
1568
+ data "xenorchestra_vdi" "iso" {
1569
+ name_label = "%s"
1570
+ pool_id = "%s"
1571
+ }
1572
+
1573
+ data "xenorchestra_network" "network" {
1574
+ name_label = "%s"
1575
+ pool_id = "%s"
1576
+ }
1577
+
1578
+ resource "xenorchestra_vm" "bar" {
1579
+ memory_max = 4295000000
1580
+ cpus = 1
1581
+ cloud_config = "${xenorchestra_cloud_config.bar.template}"
1582
+ name_label = "%s"
1583
+ name_description = "description"
1584
+ template = "${data.xenorchestra_template.template.id}"
1585
+ network {
1586
+ network_id = "${data.xenorchestra_network.network.id}"
1587
+ }
1588
+
1589
+ cdrom {
1590
+ id = data.xenorchestra_vdi.iso.id
1591
+ }
1592
+ }
1593
+ ` , testIsoName , accTestPool .Id , accDefaultNetwork .NameLabel , accTestPool .Id , vmName , accDefaultSr .Id )
1594
+ }
1595
+
1545
1596
func testAccVmConfigWithoutISO (vmName string ) string {
1546
1597
return testAccCloudConfigConfig (fmt .Sprintf ("vm-template-%s" , vmName ), "template" ) + testAccNonDefaultTemplateConfig (disklessTestTemplate .NameLabel ) + fmt .Sprintf (`
1547
1598
0 commit comments