add a new postscript configbr-ex to configure the external bridge for Cloud
This commit is contained in:
		@@ -58,12 +58,14 @@ sub getcloudinfo
 | 
			
		||||
        xCAT::MsgUtils->message("E", "Unable to open $tab table");
 | 
			
		||||
        return undef; 
 | 
			
		||||
    }
 | 
			
		||||
    my @rs = $ptab->getAllAttribs('name','repository');
 | 
			
		||||
    my @rs = $ptab->getAllAttribs('name','repository', 'pubinterface');
 | 
			
		||||
 | 
			
		||||
    foreach my $r ( @rs ) {
 | 
			
		||||
       my $cloud = $r->{'name'};
 | 
			
		||||
       my $repos = $r->{'repository'};
 | 
			
		||||
       my $pubinterface = $r->{'pubinterface'};
 | 
			
		||||
       $info{ $cloud }{repository}  = $repos; 
 | 
			
		||||
       $info{ $cloud }{pubinterface}  = $pubinterface; 
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $tab = "cloud";
 | 
			
		||||
@@ -122,11 +124,18 @@ sub getcloudinfo
 | 
			
		||||
sub getcloudres
 | 
			
		||||
{
 | 
			
		||||
    my $cloudinfo_hash = shift;
 | 
			
		||||
    my $node = shift;
 | 
			
		||||
    my $clients = shift;  
 | 
			
		||||
    my $cloudres;
 | 
			
		||||
    my $cloudlist;
 | 
			
		||||
    my $repos;
 | 
			
		||||
    my $repos;use Data::Dumper; print Dumper($cloudinfo_hash); 
 | 
			
		||||
    if( @$clients == 0 ) {
 | 
			
		||||
        #This should not be a chef-server, and it's a chef-client
 | 
			
		||||
        if( defined($cloudinfo_hash) && defined($cloudinfo_hash->{$node}) ) {
 | 
			
		||||
            my $cloud=$cloudinfo_hash->{$node}->{cloud};
 | 
			
		||||
            my $pubinterface=$cloudinfo_hash->{$cloud}->{pubinterface};
 | 
			
		||||
            $cloudres="PUBINTERFACE='$pubinterface'\nexport PUBINTERFACE\n"; 
 | 
			
		||||
        }
 | 
			
		||||
        return $cloudres;
 | 
			
		||||
    }
 | 
			
		||||
    foreach my $client (@$clients) {
 | 
			
		||||
 
 | 
			
		||||
@@ -485,7 +485,7 @@ sub makescript {
 | 
			
		||||
    my $cloudres;
 | 
			
		||||
    $cfgres =  getcfgres($cfginfo_hash, $node, \@clients);
 | 
			
		||||
    if ( $cloud_exists == 1 ) {
 | 
			
		||||
        $cloudres = getcloudres($cloud_module_name, $cloud_exists, $cloudinfo_hash, \@clients); 
 | 
			
		||||
        $cloudres = getcloudres($cloud_module_name, $cloud_exists, $cloudinfo_hash, $node, \@clients); 
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  #ok, now do everything else..
 | 
			
		||||
@@ -1815,6 +1815,7 @@ sub getcloudres
 | 
			
		||||
    my $module_name  = shift;
 | 
			
		||||
    my $cloud_exists  = shift;
 | 
			
		||||
    my $cloudinfo_hash = shift;
 | 
			
		||||
    my $node = shift;
 | 
			
		||||
    my $clients = shift; 
 | 
			
		||||
    my $result;
 | 
			
		||||
 
 | 
			
		||||
@@ -1822,7 +1823,7 @@ sub getcloudres
 | 
			
		||||
    if ( $cloud_exists ) {
 | 
			
		||||
	no strict  "refs";
 | 
			
		||||
	if (defined(${$module_name."::"}{getcloudres})) {
 | 
			
		||||
	    $result=${$module_name."::"}{getcloudres}($cloudinfo_hash, $clients);
 | 
			
		||||
	    $result=${$module_name."::"}{getcloudres}($cloudinfo_hash, $node, $clients);
 | 
			
		||||
	}
 | 
			
		||||
    }  
 | 
			
		||||
   return $result;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/bin/bash 
 | 
			
		||||
 | 
			
		||||
str_dir_name=`dirname $0`
 | 
			
		||||
. $str_dir_name/xcatlib.sh
 | 
			
		||||
@@ -59,6 +59,22 @@ do
 | 
			
		||||
    fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
boot_myscript=0
 | 
			
		||||
if [ $# -eq 2 ]
 | 
			
		||||
then
 | 
			
		||||
    if [ "$1" = "--script" ]
 | 
			
		||||
    then
 | 
			
		||||
        if [ $bool_cfg_inst_nic -eq 1 -o $bool_remove -eq 1 -o ! -z "$num_iba_ports" ]
 | 
			
		||||
        then
 | 
			
		||||
            logger -t xcat -p local4.info "confignics --script <myscript> could Not be used with other options"
 | 
			
		||||
            echo "confignics --script <myscript> could Not be used with other options"
 | 
			
		||||
            exit -1
 | 
			
		||||
        fi
 | 
			
		||||
        boot_myscript=1
 | 
			
		||||
        myscript=$2;
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
logger -t xcat -p local4.info "confignics is called: config install nic:$bool_cfg_inst_nic, remove: $bool_remove, iba ports: $num_iba_ports"
 | 
			
		||||
echo "confignics on $NODE: config install nic:$bool_cfg_inst_nic, remove: $bool_remove, iba ports: $num_iba_ports"
 | 
			
		||||
 | 
			
		||||
@@ -132,6 +148,14 @@ splitconfig $NICTYPES
 | 
			
		||||
splitconfig $NICNETWORKS
 | 
			
		||||
splitconfig $NICCUSTOMSCRIPTS
 | 
			
		||||
 | 
			
		||||
if [ $boot_myscript -eq 1 ];then
 | 
			
		||||
    . $str_dir_name/$myscript
 | 
			
		||||
    if [ $? -ne 0 ];then
 | 
			
		||||
        exit -1
 | 
			
		||||
    fi
 | 
			
		||||
    exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#get state of nic in "UP" status
 | 
			
		||||
#If bonded redhat then "SLAVE" or "MASTER" will be in the first line of stanza
 | 
			
		||||
#do not configure the loopback nic
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user