@@ -919,13 +919,27 @@ iperf3 -t 0 -c %[1]s -p %[2]d --logfile %[3]s &
919919 NetworkData : networkData ,
920920 },
921921 }
922- return generateVMI (labels , annotations , nodeSelector , networkSource , cloudInitVolumeSource , kubevirt .FedoraContainerDiskImage )
922+ return generateVMI (labels , annotations , nodeSelector , networkSource , cloudInitVolumeSource , kubevirt .FedoraWithTestToolingContainerDiskImage )
923923 }
924924
925925 fedoraWithTestToolingVM = func (labels map [string ]string , annotations map [string ]string , nodeSelector map [string ]string , networkSource kubevirtv1.NetworkSource , userData , networkData string ) * kubevirtv1.VirtualMachine {
926926 return generateVM (fedoraWithTestToolingVMI (labels , annotations , nodeSelector , networkSource , userData , networkData ))
927927 }
928928
929+ fedoraVMI = func (labels map [string ]string , annotations map [string ]string , nodeSelector map [string ]string , networkSource kubevirtv1.NetworkSource , userData , networkData string ) * kubevirtv1.VirtualMachineInstance {
930+ cloudInitVolumeSource := kubevirtv1.VolumeSource {
931+ CloudInitNoCloud : & kubevirtv1.CloudInitNoCloudSource {
932+ UserData : userData ,
933+ NetworkData : networkData ,
934+ },
935+ }
936+ return generateVMI (labels , annotations , nodeSelector , networkSource , cloudInitVolumeSource , kubevirt .FedoraContainerDiskImage )
937+ }
938+
939+ fedoraVM = func (labels map [string ]string , annotations map [string ]string , nodeSelector map [string ]string , networkSource kubevirtv1.NetworkSource , userData , networkData string ) * kubevirtv1.VirtualMachine {
940+ return generateVM (fedoraVMI (labels , annotations , nodeSelector , networkSource , userData , networkData ))
941+ }
942+
929943 composeDefaultNetworkLiveMigratableVM = func (labels map [string ]string , butane string ) (* kubevirtv1.VirtualMachine , error ) {
930944 annotations := map [string ]string {
931945 "kubevirt.io/allow-pod-bridge-network-live-migration" : "" ,
@@ -1453,16 +1467,23 @@ ethernets:
14531467 dhcp4: true
14541468 dhcp6: true
14551469 ipv6-address-generation: eui64`
1456- userData = fmt .Sprintf (`#cloud-config
1470+ userData = `
1471+ #cloud-config
14571472password: fedora
14581473chpasswd: { expire: False }
1474+ `
1475+
1476+ userDataWithIperfServer = userData + fmt .Sprintf (`
1477+ packages:
1478+ - iperf3
14591479write_files:
14601480 - path: /tmp/iperf-server.sh
14611481 encoding: b64
14621482 content: %s
14631483 permissions: '0755'
14641484runcmd:
14651485- /tmp/iperf-server.sh` , base64 .StdEncoding .EncodeToString ([]byte (iperfServerScript )))
1486+
14661487 virtualMachine = resourceCommand {
14671488 description : "VirtualMachine" ,
14681489 cmd : func () string {
@@ -1479,10 +1500,10 @@ runcmd:
14791500 virtualMachineWithUDN = resourceCommand {
14801501 description : "VirtualMachine with interface binding for UDN" ,
14811502 cmd : func () string {
1482- vm = fedoraWithTestToolingVM (nil /*labels*/ , nil /*annotations*/ , nil , /*nodeSelector*/
1503+ vm = fedoraVM (nil /*labels*/ , nil /*annotations*/ , nil , /*nodeSelector*/
14831504 kubevirtv1.NetworkSource {
14841505 Pod : & kubevirtv1.PodNetwork {},
1485- }, userData , networkData )
1506+ }, userDataWithIperfServer , networkData )
14861507 vm .Spec .Template .Spec .Domain .Devices .Interfaces [0 ].Bridge = nil
14871508 vm .Spec .Template .Spec .Domain .Devices .Interfaces [0 ].Binding = & kubevirtv1.PluginBinding {Name : "l2bridge" }
14881509 createVirtualMachine (vm )
@@ -1506,10 +1527,10 @@ runcmd:
15061527 virtualMachineInstanceWithUDN = resourceCommand {
15071528 description : "VirtualMachineInstance with interface binding for UDN" ,
15081529 cmd : func () string {
1509- vmi = fedoraWithTestToolingVMI (nil /*labels*/ , nil /*annotations*/ , nil , /*nodeSelector*/
1530+ vmi = fedoraVMI (nil /*labels*/ , nil /*annotations*/ , nil , /*nodeSelector*/
15101531 kubevirtv1.NetworkSource {
15111532 Pod : & kubevirtv1.PodNetwork {},
1512- }, userData , networkData )
1533+ }, userDataWithIperfServer , networkData )
15131534 vmi .Spec .Domain .Devices .Interfaces [0 ].Bridge = nil
15141535 vmi .Spec .Domain .Devices .Interfaces [0 ].Binding = & kubevirtv1.PluginBinding {Name : "l2bridge" }
15151536 createVirtualMachineInstance (vmi )
0 commit comments