Setting tag nodeconfig-4.3-9
[nodeconfig.git] / boot / upload-bmlog.php
index ed13534..0b22d4f 100755 (executable)
@@ -28,6 +28,18 @@ $ip = $_SERVER['REMOTE_ADDR'];
 $hostname=$default_hostname;
 // locate hostname from DB based on this IP
 $interfaces=$adm->GetInterfaces(array("ip"=>$ip));
+
+if (empty($interfaces) ) {  // maybe its a node with a NAT'd IP addresses
+  // look up an interface tag using the public IP address value
+  $interfacetags=$adm->GetInterfaceTags(array("tagname"=>"public_ip_address","value"=>$ip));
+  if (! empty($interfacetags)) {
+    // using the interface_id now get the interface with the node_id information
+    $interface_id=$interfacetags[0]['interface_id'];
+    $interfaces=$adm->GetInterfaces($interface_id);
+    // fall thru to the conditional below ...
+  }
+ }
+
 if (! empty($interfaces) ) {
   $interface=$interfaces[0];
   $node_id=$interface['node_id'];
@@ -41,7 +53,8 @@ if (! empty($interfaces) ) {
 
 $rawdir=$logdir . "/raw";
 $date=strftime("%Y-%m-%d-%H-%M");
-$log_name=$rawdir . "/" . $date . "-" . $hostname . "-" . $ip . ".txt";
+$log_name=$date . "-" . $hostname . "-" . $ip . ".txt";
+$log_path=$rawdir . "/" . $log_name;
 $month=strftime("%Y-%m");
 $time=strftime("%d-%H-%M");
 
@@ -49,7 +62,7 @@ mkdir_if_needed ($rawdir);
 
 ////////////////////////////////////////
 
-$log=fopen($log_name,"w") or die ("Cannot open logfile "+$log_name);
+$log=fopen($log_path,"w") or die ("Cannot open logfile "+$log_path);
 
 $uploaded_name= $_FILES['log']['tmp_name'];
 $uploaded_size=filesize($uploaded_name);
@@ -62,6 +75,8 @@ if ( ( strcmp($hostname,$default_hostname)==0) && ( $uploaded_size >= $limit_byt
   fprintf ( $log, "contents from an unrecognized IP address was truncated to %d bytes\n",$limit_bytes);
   $truncated=TRUE;
   $uploaded_size=$limit_bytes;
+ } else {
+  $truncated=FALSE;
  }
 
 fprintf( $log, "-----------------\n\n" );
@@ -70,7 +85,7 @@ $contents = fread($uploaded, $uploaded_size);
 fclose($uploaded);
 fwrite($log,$contents);
 if ($truncated)
-  fwrite ($log, " ..<truncated>..\n");
+  fwrite ($log, " ..<" . "truncated" . ">..\n");
 fclose($log);
 
 ////////////////////////////////////////
@@ -86,7 +101,7 @@ mkdir_if_needed ($linkdir);
 $linkdir = $linkdir . "/" . $hostname;
 mkdir_if_needed ($linkdir);
 $link = $linkdir . "/" . $time ;
-symlink ($log_name,$link);
+symlink ("../../../raw/".$log_name,$link);
 
 # /var/log/bm/per-hostname/onelab1.inria.fr/2008-11-31-20-02.bmlog
 $linkdir=$logdir;
@@ -95,7 +110,7 @@ mkdir_if_needed ($linkdir);
 $linkdir=$linkdir . "/" . $hostname;
 mkdir_if_needed ($linkdir);
 $link = $linkdir . "/" . $month . "-" . $time ;
-symlink ($log_name,$link);
+symlink ("../../raw/".$log_name,$link);
 
 # /var/log/bm/per-ip/138.96.250.141/2008-11-31-20-02.bmlog
 $linkdir=$logdir;
@@ -104,6 +119,6 @@ mkdir_if_needed ($linkdir);
 $linkdir=$linkdir . "/" . $ip;
 mkdir_if_needed ($linkdir);
 $link = $linkdir . "/" . $month . "-" . $time ;
-symlink ($log_name,$link);
+symlink ("../../raw/".$log_name,$link);
 
 ?>