Bug 553696

Summary: Several issues wrt cdrom image transfer (vm universe)
Product: Red Hat Enterprise MRG Reporter: Luigi Toscano <ltoscano>
Component: condorAssignee: Timothy St. Clair <tstclair>
Status: CLOSED ERRATA QA Contact: Luigi Toscano <ltoscano>
Severity: low Docs Contact:
Priority: low    
Version: 1.2CC: iboverma, matt
Target Milestone: 2.0   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: condor-7.6.0-0.2 Doc Type: Bug Fix
Doc Text:
C: Failure to transfer cdrom files from 7.4 C: cdrom files would not transfer F: Treat cdrom images as other disk images and pass it via vm_disk R: Images transfer and mount as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-23 15:42:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 693778    

Description Luigi Toscano 2010-01-08 17:19:35 UTC
== Description of problem:
It is possible to pass some parameters to virtual machines used by vm universe jobs though vm_cdrom_files and xen_cdrom_device/kvm_cdrom_device.

This feature does not work in most cases.

Version-Release number of selected component (if applicable):
Tested on:
Xen: RHEL 5.4/x86_64, condor 7.4.1-0.7.1
KVM: Fedora 12/x86_64, condor 7.4.1-1

== How reproducible:
A simple vm job (xen) which transfer some files to the vm image is:
-----------------------------------
Universe=vm
Executable=testvm
Log=$(cluster).vm.log
VM_TYPE=xen
VM_MEMORY=768
XEN_DISK=/var/lib/xen/images/vmimage.img:xvda:w
XEN_KERNEL = included
vm_cdrom_files = foo.txt,bar.txt,baz.txt
vm_should_transfer_cdrom_files = YES
xen_cdrom_device = hdc

Queue
-----------------------------------

= 1. LIBVIRT_XML_SCRIPT defined (default value)
The generated XML configuration does not contain any reference to the generated ISO image (both Xen and KVM). VMGahpLog (xen) says:

01/08 07:05:07 VMGAHP[32558]: In XenType::checkXenParams()
01/08 07:05:07 VMGAHP[32558]: Constructed VMGahp
01/08 07:05:07 VMGAHP[32558]: Command: COMMANDS
01/08 07:05:08 VMGAHP[32558]: Command: SUPPORT_VMS
01/08 07:05:08 VMGAHP[32558]: Execute commands: S xen kvm vmware
01/08 07:05:09 VMGAHP[32558]: Command: ASYNC_MODE_ON
01/08 07:05:10 VMGAHP[32558]: Command: CLASSAD
01/08 07:05:13 VMGAHP[32558]: Command: CONDOR_VM_START
01/08 07:05:13 VMGAHP[32558]: Constructed VM_Type.
01/08 07:05:13 VMGAHP[32558]: In XenType::CreateConfigFile()
01/08 07:05:13 VMGAHP[32558]: Memory: 768
01/08 07:05:13 VMGAHP[32558]: Looking up number of vcpus.
01/08 07:05:13 VMGAHP[32558]: Setting up 1 CPUS
01/08 07:05:13 VMGAHP[32558]: VMGahp will use xen bootloader
01/08 07:05:13 VMGAHP[32558]: Inside VirshType::createISO
01/08 07:05:13 VMGAHP[32558]: CreateXenVMConfigFile
01/08 07:05:13 VMGAHP[32558]: In VirshType::CreateVirshConfigFile
01/08 07:05:13 VMGAHP[32558]: Inside VirshType::Start
01/08 07:05:13 VMGAHP[32558]: Trying XML: <domain type='xen'><name>condor_ibm-hs22-02.lab.bos.redhat.com_4_0</name><memory>786432</memory><vcpu>1</vcpu><os><type>linux</type></os><bootloader>/usr/bin/pygrub</bootloader><devices><disk type='file'><source file='/var/lib/xen/images/zaku'/><target dev='xvda'/></disk></devices></domain>
01/08 07:05:14 VMGAHP[32558]: executeStart success!
01/08 07:05:14 DaemonCore: No more children processes to reap.
01/08 07:05:15 VMGAHP[32558]: Command: RESULTS
01/08 07:05:46 VMGAHP[32558]: Command: CONDOR_VM_GETPID
01/08 07:05:48 VMGAHP[32558]: Command: RESULTS
01/08 07:05:49 VMGAHP[32558]: Command: RESULTS
01/08 07:06:49 VMGAHP[32558]: Command: CONDOR_VM_STATUS

------------------------------------------------------------

= 2. LIBVIRT_XML_SCRIPT not defined
The generated XML contains a section that configures a cdrom device. From VMGahpLog (Xen):

01/08 10:17:10 VMGAHP[2458]: In XenType::checkXenParams()
01/08 10:17:10 VMGAHP[2458]: Constructed VMGahp
01/08 10:17:10 VMGAHP[2458]: Command: COMMANDS
01/08 10:17:11 VMGAHP[2458]: Command: SUPPORT_VMS
01/08 10:17:11 VMGAHP[2458]: Execute commands: S xen kvm vmware
01/08 10:17:12 VMGAHP[2458]: Command: ASYNC_MODE_ON
01/08 10:17:13 VMGAHP[2458]: Command: CLASSAD
01/08 10:17:16 VMGAHP[2458]: Command: CONDOR_VM_START
01/08 10:17:16 VMGAHP[2458]: Constructed VM_Type.
01/08 10:17:16 VMGAHP[2458]: In XenType::CreateConfigFile()
01/08 10:17:16 VMGAHP[2458]: Memory: 768
01/08 10:17:16 VMGAHP[2458]: Looking up number of vcpus.
01/08 10:17:16 VMGAHP[2458]: Setting up 1 CPUS
01/08 10:17:16 VMGAHP[2458]: VMGahp will use xen bootloader
01/08 10:17:16 VMGAHP[2458]: Inside VirshType::createISO
01/08 10:17:17 VMGAHP[2458]: CreateXenVMConfigFile
01/08 10:17:17 VMGAHP[2458]: In VirshType::CreateVirshConfigFile
01/08 10:17:17 VMGAHP[2458]: LIBVIRT_XML_SCRIPT not defined
01/08 10:17:17 VMGAHP[2458]: XenType::CreateVirshConfigFile no XML found, generating defaults
01/08 10:17:17 VMGAHP[2458]: XEN_BRIDGE_SCRIPT is not defined in the vmgahp config file
01/08 10:17:17 VMGAHP[2458]: Inside VirshType::Start
01/08 10:17:17 VMGAHP[2458]: Trying XML: <domain type='xen'><name>condor_ibm-hs22-02.lab.bos.redhat.com_8_0</name><memory>786432</memory><vcpu>1</vcpu><os><type>linux</type></os
><bootloader>/usr/bin/pygrub</bootloader><devices><disk type='file'><source file='/var/lib/xen/images/zaku'/><target dev='xvda'/></disk><disk type='file' device='cdrom'><source
file='/var/lib/condor/execute/dir_2456/isonI8RMn.iso'/><target dev='hdc'/><readonly/></disk></devices></domain>
01/08 10:17:17 VMGAHP[2458]: Failed to create libvirt domain: POST operation failed: xend_post: error from xen daemon: (xend.err "Error creating domain: Boot loader didn't return any data!")
01/08 10:17:17 VMGAHP[2458]: Inside VirshType::Shutdown
01/08 10:17:17 VMGAHP[2458]: executeStart fail!
01/08 10:17:17 DaemonCore: No more children processes to reap.
01/08 10:17:18 VMGAHP[2458]: Command: RESULTS
01/08 10:17:20 VMGAHP[2458]: Command: QUIT

-------------
But this works only with KVM; to make it working for Xen VM, the generated XML 
should have:
<target dev="hdc" bus="xen"/>
instead of
<target dev="hdc"/>

Comment 1 Timothy St. Clair 2011-03-11 15:08:36 UTC
resolution is to treat cdroms like any other drive and not gen iso's on the target machine.  

VM_DISK=drive.img:vda:w:qcow,cd_iso.iso:hdc:r

Comment 2 Luigi Toscano 2011-04-19 13:57:33 UTC
vm_cdrom_files and vm_should_transfer_cdrom_file have been removed; condor does not try anymore to create an ISO image containing the specified files, the user must prepare it instead and pass it to condor like any other disk.

Verified (through source code inspection) on condor-7.6.1-0.1.

Comment 3 Timothy St. Clair 2011-05-04 16:12:23 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
C: Failure to transfer cdrom files from 7.4
C: cdrom files would not transfer
F: Treat cdrom images as other disk images and pass it via vm_disk
R: Images transfer and mount as expected.

Comment 4 errata-xmlrpc 2011-06-23 15:42:03 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2011-0889.html