From 418938065ca62adca7e22b3fe27bb7ebc28f68b9 Mon Sep 17 00:00:00 2001 From: bybai Date: Tue, 19 Dec 2017 21:49:23 -0500 Subject: [PATCH] enhance rflash upload tar file twice --- xCAT-server/lib/xcat/plugins/openbmc.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xCAT-server/lib/xcat/plugins/openbmc.pm b/xCAT-server/lib/xcat/plugins/openbmc.pm index 81e353ae0..f29cebf75 100644 --- a/xCAT-server/lib/xcat/plugins/openbmc.pm +++ b/xCAT-server/lib/xcat/plugins/openbmc.pm @@ -4032,7 +4032,7 @@ sub rflash_upload { my $content_login = '{ "data": [ "' . $node_info{$node}{username} .'", "' . $node_info{$node}{password} . '" ] }'; my $content_logout = '{ "data": [ ] }'; my $cjar_id = "/tmp/_xcat_cjar.$node"; - my @curl_upload_cmds; + my %curl_upload_cmds; # curl commands my $curl_login_cmd = "curl -c $cjar_id -k -H 'Content-Type: application/json' -X POST $request_url/login -d '" . $content_login . "'"; my $curl_logout_cmd = "curl -b $cjar_id -k -H 'Content-Type: application/json' -X POST $request_url/logout -d '" . $content_logout . "'"; @@ -4040,7 +4040,7 @@ sub rflash_upload { if (%fw_tar_files) { foreach my $key (keys %fw_tar_files) { my $curl_upload_cmd = "curl -b $cjar_id -k -H 'Content-Type: application/octet-stream' -X PUT -T " . $key . " $request_url/upload/image/"; - push(@curl_upload_cmds, $curl_upload_cmd); + $curl_upload_cmds{$key}=$curl_upload_cmd; } } @@ -4066,9 +4066,10 @@ sub rflash_upload { return 1; } if ($h->{message} eq $::RESPONSE_OK) { - foreach my $upload_cmd(@curl_upload_cmds){ + if(%curl_upload_cmds){ while((my $file,my $version)=each(%fw_tar_files)){ my $uploading_msg = "Uploading $file ..."; + my $upload_cmd = $curl_upload_cmds{$file}; # Login successfull, upload the file if ($::VERBOSE) { xCAT::SvrUtils::sendmsg("$uploading_msg", $callback, $node);