Dewayne Richardson created TC-291:
-------------------------------------
Summary: GenIso can't handle concurrent requests
Key: TC-291
URL: https://issues.apache.org/jira/browse/TC-291
Project: Traffic Control
Issue Type: Bug
Components: Traffic Ops
Affects Versions: 2.0.0
Reporter: Dewayne Richardson
Because GenIso always changes the same files (no temporary directories
created), it can't handle concurrent requests. We sometimes send commands to
create 10 Edge Caches at the same time and we found out that the wrong IP
address shows up on servers.
I've got the code to fix it up (but need to sign our paperwork). But our
GenIso.pm now deviates from what's in Traffic Ops because we wanted to keep the
1.0.0 functionality (don't use the install_cfg directory, keep using the simple
network line).
Suggestion: We should have a parameter to call different ISO generator scripts.
Seems like this is implementation specific and not really a core function of
Traffic Ops.
Basic changes :
use File::Temp;
use File::Copy::Recursive;
my $tmpdir = File::Temp::tempdir(CLEANUP => 1);
...
GenIso.pm: my $tmp = File::Copy::Recursive::dircopy($dir,$tmpdir);
GenIso.pm: my $cfg_dir = "$tmpdir/$install_cfg";
GenIso.pm: print STUF "Dir== $tmpdir\n";
GenIso.pm: my $cmd = "mkisofs -joliet-long -input-charset utf-8 -b
isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4
-boot-info-table -R -J -v -T $tmpdir";
GenIso.pm: open(IN, "<$tmpdir/ks.src") || die("$tmpdir/ks.src:$!");
GenIso.pm: open (OUT, ">$tmpdir/ks.cfg") || die("$tmpdir/ks.cfg:$!");
GenIso.pm: File::Path::rmtree $tmpdir;
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)