Goal is to provide a reference crash upload solution to RDK-B community
python3 -m uploadserver 8080 &
dmcli eRT getv Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.CrashPortal
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.
Parameter 1 name: Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.CrashPortal
type: string, value: http://10.2.156.149:8080/upload
ulimit -c unlimited
~/kernel66$ ls build-bananapi4-rdk-broadband/tmp/deploy/breakpad_symbols/ bananapi4-rdk-broadband cpokur625@dvm-yocto4-docker-cpokur625:~/kernel66$ ls build-bananapi4-rdk-broadband/tmp/deploy/breakpad_symbols/bananapi4-rdk-broadband/
Process to upload dumps to server in RDK-B Component
Test Procedure followed in BPIR4 for crashupload feature
git diff uploadDumps.sh
@@ -1171,6 +1171,8 @@ uploadToS3()
if [ "$IS_T2_ENABLED" == "true" ]; then
t2CountNotify "SYS_INFO_S3CoreUploaded"
fi
+ cp $updatedfile /tmp/
+ curl -X POST -F "file=@/tmp/$updatedfile" "$S3_AMAZON_SIGNING_URL"
#Removing updated timestamp minidump/coredump file since processDumps func will remove old timestamp minidump/coredump file.
logMessage "Removing uploaded $DUMP_NAME file $updatedfile"
rm -rf $updatedfile
dmcli eRT setv Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.CrashUpload.S3SigningUrl string http://192.168.1.11/upload.cgi
#!"C:\strawberry-perl-5.38.2.2-64bit-portable\perl\bin\perl.exe"
use strict;
use CGI;
# Create a new CGI object
my $cgi = CGI->new;
# Get the uploaded file handle
my $filehandle = $cgi->upload('file');
# Check if a file was uploaded
if ($filehandle) {
# Set the upload directory
my $upload_dir = 'C:/Apache24/htdocs/tar_upload/';
# Get the original filename
my $filename = $cgi->param('file');
# Generate a unique filename to prevent overwriting existing files
my $unique_filename = sprintf("%s", $filename);
# Set the full path to the uploaded file
my $upload_file = $upload_dir . $unique_filename;
# Open a new file handle for writing
open(my $fh, '>', $upload_file) or die "Cannot open file: $!";
binmode $fh;
# Write the uploaded file data to the new file
while (my $chunk = $filehandle->getline()) {
print $fh $chunk;
}
# Close the file handle
close($fh);
# Print a success message
print $cgi->header(-type=>'text/plain');
print "File uploaded successfully as: $unique_filename";
} else {
# Print an error message if no file was uploaded
print $cgi->header(-type=>'text/plain', -status=>'400 Bad Request');
print "No file uploaded";
}