HTCondor Project List Archives



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-devel] Condor 7.4.2 bug: mkisofs.bat vs. mkisofs.exe in condor_vm_vmware.pl ?!?!



On 2 Aug 2010 17:28:35 Jaime Frey wrote:
>
> On Aug 2, 2010, at 3:08 AM, Rob wrote:
> 
>> I'm the poster of the original message and I like to add some more
>> info here.
>> 
>> 
>> This is really causing me a big headache after upgrading condor to
>> most recent stable version 7.4.2 on 300+  Windows XP pool PCs !!
>> 
>> I've been digging slightly deeper into what is going on here.
>> 
>> Between versions 7.2.5 and 7.4.2 a new procedure is used to create
>> 'on-the-fly' CDrom iso images on Windows pool PCs.
>> 
>> 
>> 7.2.5 : uses  mkisofs.exe  directly
>> 
>> 7.4.2 : uses  mkisofs.bat  script, which calls  cdmake.exe
>> 
>> 
>> With 7.2.5 the iso image is created fine on a Windows pool PC.
>> 
>> With 7.4.2 the procedure fails and no iso image is created.
>> While the execution was running on the Windows PC, I have checked
>> the folder
>> 
>>  C:\condor\execute\dir_1234
>> 
>> in which the VMware configuration "vmnvFAAn_condor.vmx" contains
>> the lines:
>> 
>> ide1:0.present = "TRUE"
>> ide1:0.fileName = "isoXYEAAc.iso"
>> ide1:0.deviceType = "cdrom-image"
>> ide1:0.autodetect = "TRUE"
>> 
>> 
>> but the actual iso file itself  "isoXYEAAc.iso"  is missing and hence has
>> not been created.
>> 
>> 
>> So far I've been unable to intercept the process of iso-image making,
>> so I don't know exactly where it is going wrong. I suspect the call
>> in  mkisofs.bat  to be wrong:
>> 
>> cdmake -q -j %9 %6 %1
>> 
>> 
>> I hope somebody can help figure out what is going wrong here.
>> If this is a bug in a stable release, it is a very nasty one!
> 
> 
> The arguments given to cdmake look incorrect.
> I'm working on a change that simplifies the scripts involved.
> I'll send you a copy to try when it's done.

Not it's not that, but I have a fix already:
1. in condor_vm_vmware_old.pl the $mkisofs variable must be
   set to mkisofs.bat and not mkisofs.exe
2. in mkisofs.bat the full path to cdmake.exe is required, because
   C:\condor\bin is not necessarily in the PATH.

A patch (diff -u) against release 7.4.2 must be something like this:


--- condor_vm_vmware_old.pl     2010-08-03 10:58:07.331979836 +0900
+++ condor_vm_vmware_new.pl     2010-08-03 11:03:06.649843186 +0900
@@ -54,7 +54,7 @@
 my $mkisofs;
 if (lc($^O) eq "mswin32") {
       # For MS Windows
-       $mkisofs = 'C:\condor\bin\mkisofs.exe';
+       $mkisofs = 'C:\condor\bin\mkisofs.bat';
 }else {
       # For Linux
       $mkisofs = 'mkisofs';


--- mkisofs_old.bat     2010-08-03 10:58:21.971979833 +0900
+++ mkisofs_new.bat     2010-08-03 11:13:44.583855556 +0900
@@ -3,9 +3,9 @@
 IF "%1" == "--version" GOTO VERSION
 shift
 shift
-cdmake -q -j %9 %6 %1
+C:\condor\bin\cdmake -q -j -m %9 %6 %1
 GOTO END


(I have added the "-m" flag to cdmake, which adds more flexibility to filenames.
It allows spaces etc. in filenames; see manual of cdmake. Without the "-m",
filenames with spaces cause the iso-file creation to die silently.)


This is a serious bug in the 7.4.2 release for people who have upgraded to
this release and use VMware with the 'on-the-fly' creation of the CDrom image.

Obviously this only affects Windows systems used as pool PCs.

I also have communicated all this also with Ziliang Guo, on which behalf the
erroneous modifications in 7.4.2 have been applied.

Regards,
Rob.