mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 19:32:31 +00:00 
			
		
		
		
	Record fsp/bpa IP addresses into hosts.otherinterfaces
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@9336 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
		| @@ -141,7 +141,7 @@ my $expect_ent = 0; | ||||
| my $time_out = 300; | ||||
| my $enter_time = 0; | ||||
| my @filternodes; | ||||
|  | ||||
| my %otherinterfacehash; | ||||
| ########################################################################## | ||||
| # Command handler method from tables | ||||
| ########################################################################## | ||||
| @@ -2140,6 +2140,15 @@ sub parse_responses { | ||||
|         #} | ||||
|  | ||||
|         # begin to define FSP/BPA/FRAME/CEC | ||||
|         my $typetp; | ||||
|         if ( $type eq SERVICE_BPA ) | ||||
|         { | ||||
|             $typetp = TYPE_BPA; | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             $typetp = TYPE_FSP; | ||||
|         } | ||||
|         my $hostname = undef; | ||||
|         if ( $type eq SERVICE_BPA or $type eq SERVICE_FSP ) { | ||||
|  | ||||
| @@ -2171,7 +2180,7 @@ sub parse_responses { | ||||
|              | ||||
|             $severnode1[3] = $severnode1[3].'-0'; | ||||
|             $severnode1[4] = $ips[0]; | ||||
|             $severnode1[0] = $service_slp{$type}; | ||||
|             $severnode1[0] = $typetp; | ||||
|             push @severnode1, $rsp; | ||||
|             $hostname =  gethost_from_url_or_old($ips[0], $severnode1[0], $severnode1[1], $severnode1[2], | ||||
|                                                  $severnode1[3], $ips[0], $severnode1[8], $severnode1[5],$severnode1[6]); | ||||
| @@ -2182,6 +2191,7 @@ sub parse_responses { | ||||
|             if ( length( $severnode1[4] ) > $$length ) { | ||||
|                 $$length = length( $severnode1[4] ); | ||||
|             } | ||||
|             $otherinterfacehash{$hostname}{otherinterfaces} = $ips[0]; | ||||
|              | ||||
|             #begin to define another fsp/bpa | ||||
|             $hostname = undef; | ||||
| @@ -2190,7 +2200,7 @@ sub parse_responses { | ||||
|             } | ||||
|             $severnode2[3] = $severnode2[3].'-1'; | ||||
|             $severnode2[4] = $ips[1]; | ||||
|             $severnode2[0] = $service_slp{$type}; | ||||
|             $severnode2[0] = $typetp; | ||||
|             push @severnode2, $rsp; | ||||
|             $hostname =  gethost_from_url_or_old($ips[1], $severnode2[0], $severnode2[1], $severnode2[2], | ||||
|                                                  $severnode2[3], $ips[1], $severnode2[8], $severnode2[5],$severnode2[6]); | ||||
| @@ -2201,6 +2211,7 @@ sub parse_responses { | ||||
|             if ( length( $severnode2[4] ) > $$length ) { | ||||
|                 $$length = length( $severnode2[4] ); | ||||
|             } | ||||
|             $otherinterfacehash{$hostname}{otherinterfaces} = $ips[1]; | ||||
|              | ||||
|             ########################################### | ||||
|             #  begin to define frame and cec | ||||
| @@ -2413,6 +2424,7 @@ sub xCATdB { | ||||
|         my $cageid     = @$data[8]; | ||||
|         my $parent     = @$data[10]; | ||||
|         my $mac        = @$data[11]; | ||||
|         my $otherif    = $otherinterfacehash{$hostname}{otherinterfaces}; | ||||
|         my $prof       = ""; | ||||
|  | ||||
|         ####################################### | ||||
| @@ -2573,6 +2585,15 @@ sub xCATdB { | ||||
|             }              | ||||
|         } | ||||
|  | ||||
|         ######################################## | ||||
|         # Write otherinterface to the host table | ||||
|         ######################################## | ||||
|         if ( $type =~ /^(FSP|BPA)$/ ) { | ||||
|             my $hoststab  = xCAT::Table->new( 'hosts' ); | ||||
|             if ($hoststab and %otherinterfacehash) { | ||||
|                  $hoststab->setNodesAttribs(\%otherinterfacehash);   | ||||
|             }                  | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @@ -2852,11 +2873,13 @@ sub format_stanza { | ||||
|                     next; | ||||
|                 } | ||||
|             } elsif (/^hidden$/) { | ||||
|              if ( $type =~ /^(fsp|bpa)$/ ) { | ||||
|                 if ( $type =~ /^(fsp|bpa)$/ ) { | ||||
|                     $d = "1"; | ||||
|                 } else { | ||||
|                     $d = "0"; | ||||
|                 } | ||||
|             } elsif (/^otherinterfaces$/) { | ||||
|                 $d = $otherinterfacehash{$name}{otherinterfaces}; | ||||
|             } | ||||
|             if ( !defined($d) ) { | ||||
|                 next; | ||||
| @@ -2950,6 +2973,8 @@ sub format_xml { | ||||
|                 } else { | ||||
|                     $d = "0"; | ||||
|                 } | ||||
|             } elsif (/^otherinterfaces$/) { | ||||
|                 $d = $otherinterfacehash{$name}{otherinfterfaces}; | ||||
|             } | ||||
|             if ( !defined($d) ) { | ||||
|                 next; | ||||
| @@ -2986,6 +3011,7 @@ sub format_table { | ||||
|         my $mtm  = $data[1]; | ||||
|         my $serial = $data[2]; | ||||
|         my $side = $data[3]; | ||||
|         next if ($type =~ /^(fsp|bpa)$/); | ||||
|         if ( $side =~ /^N\/A$/ ) { | ||||
|             $result .= ",\"$serial\",\"$mtm\",,,\"$type\",\n"; | ||||
|         } else { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user