Loading ndb/test/run-test/make-config.sh +75 −445 Original line number Diff line number Diff line #!/bin/sh # NAME # make-config.sh - Makes a config file for mgm server # # SYNOPSIS # make-config.sh [ -t <template> ] [-s] [ -m <machine conf> [ -d <directory> ] # # DESCRIPTION # # OPTIONS # # EXAMPLES # # # ENVIRONMENT # NDB_PROJ_HOME Home dir for ndb # # FILES # $NDB_PROJ_HOME/lib/funcs.sh general shell script functions # # # SEE ALSO # # DIAGNOSTICTS # # VERSION # 1.0 # 1.1 021112 epesson: Adapted for new mgmt server in NDB 2.00 # # AUTHOR # Jonas Oreland # # CHANGES # also generate ndbnet config # progname=`basename $0` synopsis="make-config.sh [ -t template ] [ -m <machine conf> ] [ -d <dst directory> ][-s] [<mgm host>]" #: ${NDB_PROJ_HOME:?} # If undefined, exit with error message #: ${NDB_LOCAL_BUILD_OPTIONS:=--} # If undef, set to --. Keeps getopts happy. # You may have to experiment a bit # to get quoting right (if you need it). #. $NDB_PROJ_HOME/lib/funcs.sh # Load some good stuff trace() { echo $* 1>&2 } syndie() { trace $* exit 1 } # defaults for options related variables # mgm_nodes=0 ndb_nodes=0 api_nodes=0 uniq_id=$$.$$ own_host=`hostname` dst_dir="" template=/dev/null machines=/dev/null verbose=yes baseport="" basedir="" proc_no=1 node_id=1 # used if error when parsing the options environment variable # env_opterr="options environment variable: <<$options>>" dir_file=/tmp/dirs.$$ config_file=/tmp/config.$$ cluster_file=/tmp/cluster.$$ # Option parsing, for the options variable as well as the command line. # # We want to be able to set options in an environment variable, # as well as on the command line. In order not to have to repeat # the same getopts information twice, we loop two times over the # getopts while loop. The first time, we process options from # the options environment variable, the second time we process # options from the command line. # # The things to change are the actual options and what they do. # add_node(){ no=$1; shift add_procs(){ type=$1; shift echo $* | awk 'BEGIN{FS=":";}{h=$1; if(h=="localhost") h="'$own_host'"; printf("%s_%d_host=%s\n", "'$type'", "'$no'", h); if(NF>1 && $2!="") printf("%s_%d_port=%d\n", "'$type'", "'$no'", $2); if(NF>2 && $3!="") printf("%s_%d_dir=%s\n", "'$type'", "'$no'", $3); }' } add_mgm_node(){ mgm_nodes=`cat /tmp/mgm_nodes.$uniq_id | grep "_host=" | wc -l` mgm_nodes=`expr $mgm_nodes + 1` while [ $# -gt 0 ] do add_node ${mgm_nodes} mgm_node $1 >> /tmp/mgm_nodes.$uniq_id shift mgm_nodes=`expr $mgm_nodes + 1` done } add_ndb_node(){ ndb_nodes=`cat /tmp/ndb_nodes.$uniq_id | grep "_host=" | wc -l` ndb_nodes=`expr $ndb_nodes + 1` while [ $# -gt 0 ] while [ $# -ne 0 ] do add_node ${ndb_nodes} ndb_node $1 >> /tmp/ndb_nodes.$uniq_id add_proc $type $1 shift ndb_nodes=`expr $ndb_nodes + 1` done } add_api_node(){ api_nodes=`cat /tmp/api_nodes.$uniq_id | grep "_host=" |wc -l` api_nodes=`expr $api_nodes + 1` while [ $# -gt 0 ] do add_node ${api_nodes} api_node $1 >> /tmp/api_nodes.$uniq_id shift api_nodes=`expr $api_nodes + 1` done } rm -rf /tmp/mgm_nodes.$uniq_id ; touch /tmp/mgm_nodes.$uniq_id rm -rf /tmp/ndb_nodes.$uniq_id ; touch /tmp/ndb_nodes.$uniq_id rm -rf /tmp/api_nodes.$uniq_id ; touch /tmp/api_nodes.$uniq_id for optstring in "$options" "" # 1. options variable 2. cmd line do while getopts d:m:t:n:o:a:b:p:s i $optstring # optstring empty => no arg => cmd line do case $i in q) verbose="";; # echo important things t) template=$OPTARG;; # Template d) dst_dir=$OPTARG;; # Destination directory m) machines=$OPTARG;; # Machine configuration s) mgm_start=yes;; # Make mgm start script \?) syndie $env_opterr;; # print synopsis and exit add_proc (){ dir="" conf="" case $type in mgm) dir="ndb_mgmd" conf="[ndb_mgmd]\nId: $node_id\nHostName: $2\n" node_id=`expr $node_id + 1` ;; api) dir="ndb_api" conf="[api]\nId: $node_id\nHostName: $2\n" node_id=`expr $node_id + 1` ;; ndb) dir="ndb" conf="[ndbd]\nId: $node_id\nHostName: $2\n" node_id=`expr $node_id + 1` ;; mysqld) dir="mysqld" conf="[mysqld]\nId: $node_id\nHostName: $2\n" node_id=`expr $node_id + 1` ;; mysql) dir="mysql" ;; esac done [ -n "$optstring" ] && OPTIND=1 # Reset for round 2, cmdline options env_opterr= # Round 2 should not use the value done shift `expr $OPTIND - 1` if [ -z "$dst_dir" ] dir="$proc_no.$dir" proc_no=`expr $proc_no + 1` echo -e $dir >> $dir_file if [ "$conf" ] then verbose= echo -e $conf >> $config_file fi skip(){ no=$1; shift shift $no echo $* } # --- option parsing done --- grep "^ndb: " $machines | while read node do node=`skip 1 $node` add_ndb_node $node done grep "^api: " $machines | while read node cnf=/dev/null cat $1 | while read line do node=`skip 1 $node` add_api_node $node done grep "^mgm: " $machines | while read node do node=`skip 1 $node` add_mgm_node $node done tmp=`grep "^baseport: " $machines | tail -1 | cut -d ":" -f 2` if [ "$tmp" ] case $line in baseport:*) baseport=`echo $line | sed 's/baseport[ ]*:[ ]*//g'`;; basedir:*) basedir=`echo $line | sed 's/basedir[ ]*:[ ]*//g'`;; mgm:*) add_procs mgm `echo $line | sed 's/mgm[ ]*:[ ]*//g'`;; api:*) add_procs api `echo $line | sed 's/api[ ]*:[ ]*//g'`;; ndb:*) add_procs ndb `echo $line | sed 's/ndb[ ]*:[ ]*//g'`;; mysqld:*) add_procs mysqld `echo $line | sed 's/mysqld[ ]*:[ ]*//g'`;; mysql:*) add_procs mysql `echo $line | sed 's/mysql[ ]*:[ ]*//g'`;; "-- cluster config") if [ "$cnf" = "/dev/null" ] then baseport=`echo $tmp` cnf=$cluster_file else syndie "Unable to find baseport" fi trim(){ echo $* } tmp=`grep "^basedir: " $machines | tail -1 | cut -d ":" -f 2` if [ "$tmp" ] then basedir=`trim $tmp` fi # -- Load enviroment -- ndb_nodes=`cat /tmp/ndb_nodes.$uniq_id | grep "_host=" | wc -l` api_nodes=`cat /tmp/api_nodes.$uniq_id | grep "_host=" | wc -l` mgm_nodes=`cat /tmp/mgm_nodes.$uniq_id | grep "_host=" | wc -l` . /tmp/ndb_nodes.$uniq_id . /tmp/api_nodes.$uniq_id . /tmp/mgm_nodes.$uniq_id rm -f /tmp/ndb_nodes.$uniq_id /tmp/api_nodes.$uniq_id /tmp/mgm_nodes.$uniq_id # -- Verify trace "Verifying arguments" if [ ! -r $template ] then syndie "Unable to read template file: $template" fi if [ $ndb_nodes -le 0 ] then syndie "No ndb nodes specified" fi if [ $api_nodes -le 0 ] then syndie "No api nodes specified" fi if [ $mgm_nodes -gt 1 ] then syndie "More than one mgm node specified" fi if [ $mgm_nodes -eq 0 ] then trace "No managment server specified using `hostname`" mgm_nodes=1 mgm_node_1=`hostname` fi if [ -n "$dst_dir" ] then mkdir -p $dst_dir if [ ! -d $dst_dir ] then syndie "Unable to create dst dir: $dst_dir" cnf=/dev/null fi DST=/tmp/$uniq_id fi # --- option verifying done --- # Find uniq computers i=1 while [ $i -le $mgm_nodes ] do echo `eval echo "\$"mgm_node_${i}_host` >> /tmp/hosts.$uniq_id i=`expr $i + 1` done i=1 while [ $i -le $ndb_nodes ] do echo `eval echo "\$"ndb_node_${i}_host` >> /tmp/hosts.$uniq_id i=`expr $i + 1` done i=1 while [ $i -le $api_nodes ] do echo `eval echo "\$"api_node_${i}_host` >> /tmp/hosts.$uniq_id i=`expr $i + 1` done sort -u -o /tmp/hosts.$uniq_id /tmp/hosts.$uniq_id get_computer_id(){ grep -w -n $1 /tmp/hosts.$uniq_id | cut -d ":" -f 1 } get_mgm_computer_id(){ a=`eval echo "\$"mgm_node_${1}_host` get_computer_id $a } get_ndb_computer_id(){ a=`eval echo "\$"ndb_node_${1}_host` get_computer_id $a } get_api_computer_id(){ a=`eval echo "\$"api_node_${1}_host` get_computer_id $a } # -- Write config files -- mgm_port=$baseport ( i=1 #echo "COMPUTERS" cat /tmp/hosts.$uniq_id | while read host do echo "[COMPUTER]" echo "Id: $i" echo "ByteOrder: Big" echo "HostName: $host" echo i=`expr $i + 1` done node_id=1 echo # Mgm process echo echo "[MGM]" echo "Id: $node_id" echo "ExecuteOnComputer: `get_mgm_computer_id 1`" echo "PortNumber: $mgm_port" node_id=`expr $node_id + 1` # Ndb processes i=1 ndb_nodes=`trim $ndb_nodes` while [ $i -le $ndb_nodes ] do echo echo "[DB]" echo "Id: $node_id" echo "ExecuteOnComputer: `get_ndb_computer_id $i`" echo "FileSystemPath: $basedir/run/node-${node_id}-fs" i=`expr $i + 1` node_id=`expr $node_id + 1` done # API processes i=1 while [ $i -le $api_nodes ] do echo echo "[API]" echo "Id: $node_id" echo "ExecuteOnComputer: `get_api_computer_id $i`" i=`expr $i + 1` node_id=`expr $node_id + 1` done # Connections current_port=`expr $mgm_port + 1` echo # Connect Mgm with all ndb-nodes i=1 while [ $i -le $ndb_nodes ] do echo echo "[TCP]" echo "NodeId1: 1" echo "NodeId2: `expr $i + 1`" echo "PortNumber: $current_port" i=`expr $i + 1` current_port=`expr $current_port + 1` done # Connect All ndb processes with all ndb processes i=1 while [ $i -le $ndb_nodes ] do j=`expr $i + 1` while [ $j -le $ndb_nodes ] do echo echo "[TCP]" echo "NodeId1: `expr $i + 1`" echo "NodeId2: `expr $j + 1`" echo "PortNumber: $current_port" j=`expr $j + 1` current_port=`expr $current_port + 1` done i=`expr $i + 1` done # Connect all ndb-nodes with all api nodes i=1 while [ $i -le $ndb_nodes ] do j=1 while [ $j -le $api_nodes ] do echo echo "[TCP]" echo "NodeId1: `expr $i + 1`" echo "NodeId2: `expr $j + $ndb_nodes + 1`" echo "PortNumber: $current_port" j=`expr $j + 1` current_port=`expr $current_port + 1` done i=`expr $i + 1` ;; *) echo $line >> $cnf esac done echo ) > $DST trace "Init config file done" cat $dir_file | xargs mkdir -p if [ -z "$dst_dir" ] if [ -f $cluster_file ] then cat $DST rm -f $DST rm -f /tmp/hosts.$uniq_id exit 0 cat $cluster_file $config_file >> /tmp/config2.$$ mv /tmp/config2.$$ $config_file fi ### # Create Ndb.cfg files # nodeid=2;host=localhost:2200 # Mgm node mkcfg(){ mkdir -p $dst_dir/${2}.ndb_${1} ( echo "OwnProcessId $2" echo "host://${mgm_node_1_host}:${mgm_port}" ) > $dst_dir/${2}.ndb_${1}/Ndb.cfg if [ $1 = "db" ] then mkdir $dst_dir/node-${2}-fs fi } mkcfg mgm 1 cat $DST > $dst_dir/1.ndb_mgm/initconfig.txt trace "Creating Ndb.cfg for ndb nodes" current_node=2 i=1 while [ $i -le $ndb_nodes ] do mkcfg db ${current_node} i=`expr $i + 1` current_node=`expr $current_node + 1` done trace "Creating Ndb.cfg for api nodes" i=1 while [ $i -le $api_nodes ] for i in `find . -type d -name '*.ndb_mgmd'` do mkcfg api ${current_node} i=`expr $i + 1` current_node=`expr $current_node + 1` cp $config_file $i/config.ini done rm -f $DST rm -f /tmp/hosts.$uniq_id exit 0 # vim: set sw=4: rm -f $config_file $dir_file $cluster_file ndb/test/run-test/ndb-autotest.sh +5 −2 Original line number Diff line number Diff line #!/bin/sh save_args=$* VERSION="ndb-autotest.sh version 1.0" VERSION="ndb-autotest.sh version 1.01" DATE=`date '+%Y-%m-%d'` export DATE Loading Loading @@ -76,6 +76,7 @@ then eval $configure --prefix=$run_dir make make install (cd $run_dir; ./bin/mysql_install_db) fi ### Loading Loading @@ -103,6 +104,8 @@ fi test_dir=$run_dir/mysql-test/ndb atrt=$test_dir/atrt html=$test_dir/make-html-reports.sh mkconfig=$run_dir/mysql-test/ndb/make-config.sh PATH=$test_dir:$PATH export PATH Loading Loading @@ -214,7 +217,7 @@ do run_hosts=`echo $avail_hosts| awk '{for(i=1;i<='$count';i++)print $i;}'` choose $run_dir/d.template $run_hosts > $run_dir/d.txt choose $run_dir/1.ndb_mgmd/initconfig.template $run_hosts > $run_dir/1.ndb_mgmd/config.ini (cd $run_dir; $mkconfig d.txt ) echo $run_hosts >> /tmp/filter_hosts.$$ cd $run_dir Loading Loading
ndb/test/run-test/make-config.sh +75 −445 Original line number Diff line number Diff line #!/bin/sh # NAME # make-config.sh - Makes a config file for mgm server # # SYNOPSIS # make-config.sh [ -t <template> ] [-s] [ -m <machine conf> [ -d <directory> ] # # DESCRIPTION # # OPTIONS # # EXAMPLES # # # ENVIRONMENT # NDB_PROJ_HOME Home dir for ndb # # FILES # $NDB_PROJ_HOME/lib/funcs.sh general shell script functions # # # SEE ALSO # # DIAGNOSTICTS # # VERSION # 1.0 # 1.1 021112 epesson: Adapted for new mgmt server in NDB 2.00 # # AUTHOR # Jonas Oreland # # CHANGES # also generate ndbnet config # progname=`basename $0` synopsis="make-config.sh [ -t template ] [ -m <machine conf> ] [ -d <dst directory> ][-s] [<mgm host>]" #: ${NDB_PROJ_HOME:?} # If undefined, exit with error message #: ${NDB_LOCAL_BUILD_OPTIONS:=--} # If undef, set to --. Keeps getopts happy. # You may have to experiment a bit # to get quoting right (if you need it). #. $NDB_PROJ_HOME/lib/funcs.sh # Load some good stuff trace() { echo $* 1>&2 } syndie() { trace $* exit 1 } # defaults for options related variables # mgm_nodes=0 ndb_nodes=0 api_nodes=0 uniq_id=$$.$$ own_host=`hostname` dst_dir="" template=/dev/null machines=/dev/null verbose=yes baseport="" basedir="" proc_no=1 node_id=1 # used if error when parsing the options environment variable # env_opterr="options environment variable: <<$options>>" dir_file=/tmp/dirs.$$ config_file=/tmp/config.$$ cluster_file=/tmp/cluster.$$ # Option parsing, for the options variable as well as the command line. # # We want to be able to set options in an environment variable, # as well as on the command line. In order not to have to repeat # the same getopts information twice, we loop two times over the # getopts while loop. The first time, we process options from # the options environment variable, the second time we process # options from the command line. # # The things to change are the actual options and what they do. # add_node(){ no=$1; shift add_procs(){ type=$1; shift echo $* | awk 'BEGIN{FS=":";}{h=$1; if(h=="localhost") h="'$own_host'"; printf("%s_%d_host=%s\n", "'$type'", "'$no'", h); if(NF>1 && $2!="") printf("%s_%d_port=%d\n", "'$type'", "'$no'", $2); if(NF>2 && $3!="") printf("%s_%d_dir=%s\n", "'$type'", "'$no'", $3); }' } add_mgm_node(){ mgm_nodes=`cat /tmp/mgm_nodes.$uniq_id | grep "_host=" | wc -l` mgm_nodes=`expr $mgm_nodes + 1` while [ $# -gt 0 ] do add_node ${mgm_nodes} mgm_node $1 >> /tmp/mgm_nodes.$uniq_id shift mgm_nodes=`expr $mgm_nodes + 1` done } add_ndb_node(){ ndb_nodes=`cat /tmp/ndb_nodes.$uniq_id | grep "_host=" | wc -l` ndb_nodes=`expr $ndb_nodes + 1` while [ $# -gt 0 ] while [ $# -ne 0 ] do add_node ${ndb_nodes} ndb_node $1 >> /tmp/ndb_nodes.$uniq_id add_proc $type $1 shift ndb_nodes=`expr $ndb_nodes + 1` done } add_api_node(){ api_nodes=`cat /tmp/api_nodes.$uniq_id | grep "_host=" |wc -l` api_nodes=`expr $api_nodes + 1` while [ $# -gt 0 ] do add_node ${api_nodes} api_node $1 >> /tmp/api_nodes.$uniq_id shift api_nodes=`expr $api_nodes + 1` done } rm -rf /tmp/mgm_nodes.$uniq_id ; touch /tmp/mgm_nodes.$uniq_id rm -rf /tmp/ndb_nodes.$uniq_id ; touch /tmp/ndb_nodes.$uniq_id rm -rf /tmp/api_nodes.$uniq_id ; touch /tmp/api_nodes.$uniq_id for optstring in "$options" "" # 1. options variable 2. cmd line do while getopts d:m:t:n:o:a:b:p:s i $optstring # optstring empty => no arg => cmd line do case $i in q) verbose="";; # echo important things t) template=$OPTARG;; # Template d) dst_dir=$OPTARG;; # Destination directory m) machines=$OPTARG;; # Machine configuration s) mgm_start=yes;; # Make mgm start script \?) syndie $env_opterr;; # print synopsis and exit add_proc (){ dir="" conf="" case $type in mgm) dir="ndb_mgmd" conf="[ndb_mgmd]\nId: $node_id\nHostName: $2\n" node_id=`expr $node_id + 1` ;; api) dir="ndb_api" conf="[api]\nId: $node_id\nHostName: $2\n" node_id=`expr $node_id + 1` ;; ndb) dir="ndb" conf="[ndbd]\nId: $node_id\nHostName: $2\n" node_id=`expr $node_id + 1` ;; mysqld) dir="mysqld" conf="[mysqld]\nId: $node_id\nHostName: $2\n" node_id=`expr $node_id + 1` ;; mysql) dir="mysql" ;; esac done [ -n "$optstring" ] && OPTIND=1 # Reset for round 2, cmdline options env_opterr= # Round 2 should not use the value done shift `expr $OPTIND - 1` if [ -z "$dst_dir" ] dir="$proc_no.$dir" proc_no=`expr $proc_no + 1` echo -e $dir >> $dir_file if [ "$conf" ] then verbose= echo -e $conf >> $config_file fi skip(){ no=$1; shift shift $no echo $* } # --- option parsing done --- grep "^ndb: " $machines | while read node do node=`skip 1 $node` add_ndb_node $node done grep "^api: " $machines | while read node cnf=/dev/null cat $1 | while read line do node=`skip 1 $node` add_api_node $node done grep "^mgm: " $machines | while read node do node=`skip 1 $node` add_mgm_node $node done tmp=`grep "^baseport: " $machines | tail -1 | cut -d ":" -f 2` if [ "$tmp" ] case $line in baseport:*) baseport=`echo $line | sed 's/baseport[ ]*:[ ]*//g'`;; basedir:*) basedir=`echo $line | sed 's/basedir[ ]*:[ ]*//g'`;; mgm:*) add_procs mgm `echo $line | sed 's/mgm[ ]*:[ ]*//g'`;; api:*) add_procs api `echo $line | sed 's/api[ ]*:[ ]*//g'`;; ndb:*) add_procs ndb `echo $line | sed 's/ndb[ ]*:[ ]*//g'`;; mysqld:*) add_procs mysqld `echo $line | sed 's/mysqld[ ]*:[ ]*//g'`;; mysql:*) add_procs mysql `echo $line | sed 's/mysql[ ]*:[ ]*//g'`;; "-- cluster config") if [ "$cnf" = "/dev/null" ] then baseport=`echo $tmp` cnf=$cluster_file else syndie "Unable to find baseport" fi trim(){ echo $* } tmp=`grep "^basedir: " $machines | tail -1 | cut -d ":" -f 2` if [ "$tmp" ] then basedir=`trim $tmp` fi # -- Load enviroment -- ndb_nodes=`cat /tmp/ndb_nodes.$uniq_id | grep "_host=" | wc -l` api_nodes=`cat /tmp/api_nodes.$uniq_id | grep "_host=" | wc -l` mgm_nodes=`cat /tmp/mgm_nodes.$uniq_id | grep "_host=" | wc -l` . /tmp/ndb_nodes.$uniq_id . /tmp/api_nodes.$uniq_id . /tmp/mgm_nodes.$uniq_id rm -f /tmp/ndb_nodes.$uniq_id /tmp/api_nodes.$uniq_id /tmp/mgm_nodes.$uniq_id # -- Verify trace "Verifying arguments" if [ ! -r $template ] then syndie "Unable to read template file: $template" fi if [ $ndb_nodes -le 0 ] then syndie "No ndb nodes specified" fi if [ $api_nodes -le 0 ] then syndie "No api nodes specified" fi if [ $mgm_nodes -gt 1 ] then syndie "More than one mgm node specified" fi if [ $mgm_nodes -eq 0 ] then trace "No managment server specified using `hostname`" mgm_nodes=1 mgm_node_1=`hostname` fi if [ -n "$dst_dir" ] then mkdir -p $dst_dir if [ ! -d $dst_dir ] then syndie "Unable to create dst dir: $dst_dir" cnf=/dev/null fi DST=/tmp/$uniq_id fi # --- option verifying done --- # Find uniq computers i=1 while [ $i -le $mgm_nodes ] do echo `eval echo "\$"mgm_node_${i}_host` >> /tmp/hosts.$uniq_id i=`expr $i + 1` done i=1 while [ $i -le $ndb_nodes ] do echo `eval echo "\$"ndb_node_${i}_host` >> /tmp/hosts.$uniq_id i=`expr $i + 1` done i=1 while [ $i -le $api_nodes ] do echo `eval echo "\$"api_node_${i}_host` >> /tmp/hosts.$uniq_id i=`expr $i + 1` done sort -u -o /tmp/hosts.$uniq_id /tmp/hosts.$uniq_id get_computer_id(){ grep -w -n $1 /tmp/hosts.$uniq_id | cut -d ":" -f 1 } get_mgm_computer_id(){ a=`eval echo "\$"mgm_node_${1}_host` get_computer_id $a } get_ndb_computer_id(){ a=`eval echo "\$"ndb_node_${1}_host` get_computer_id $a } get_api_computer_id(){ a=`eval echo "\$"api_node_${1}_host` get_computer_id $a } # -- Write config files -- mgm_port=$baseport ( i=1 #echo "COMPUTERS" cat /tmp/hosts.$uniq_id | while read host do echo "[COMPUTER]" echo "Id: $i" echo "ByteOrder: Big" echo "HostName: $host" echo i=`expr $i + 1` done node_id=1 echo # Mgm process echo echo "[MGM]" echo "Id: $node_id" echo "ExecuteOnComputer: `get_mgm_computer_id 1`" echo "PortNumber: $mgm_port" node_id=`expr $node_id + 1` # Ndb processes i=1 ndb_nodes=`trim $ndb_nodes` while [ $i -le $ndb_nodes ] do echo echo "[DB]" echo "Id: $node_id" echo "ExecuteOnComputer: `get_ndb_computer_id $i`" echo "FileSystemPath: $basedir/run/node-${node_id}-fs" i=`expr $i + 1` node_id=`expr $node_id + 1` done # API processes i=1 while [ $i -le $api_nodes ] do echo echo "[API]" echo "Id: $node_id" echo "ExecuteOnComputer: `get_api_computer_id $i`" i=`expr $i + 1` node_id=`expr $node_id + 1` done # Connections current_port=`expr $mgm_port + 1` echo # Connect Mgm with all ndb-nodes i=1 while [ $i -le $ndb_nodes ] do echo echo "[TCP]" echo "NodeId1: 1" echo "NodeId2: `expr $i + 1`" echo "PortNumber: $current_port" i=`expr $i + 1` current_port=`expr $current_port + 1` done # Connect All ndb processes with all ndb processes i=1 while [ $i -le $ndb_nodes ] do j=`expr $i + 1` while [ $j -le $ndb_nodes ] do echo echo "[TCP]" echo "NodeId1: `expr $i + 1`" echo "NodeId2: `expr $j + 1`" echo "PortNumber: $current_port" j=`expr $j + 1` current_port=`expr $current_port + 1` done i=`expr $i + 1` done # Connect all ndb-nodes with all api nodes i=1 while [ $i -le $ndb_nodes ] do j=1 while [ $j -le $api_nodes ] do echo echo "[TCP]" echo "NodeId1: `expr $i + 1`" echo "NodeId2: `expr $j + $ndb_nodes + 1`" echo "PortNumber: $current_port" j=`expr $j + 1` current_port=`expr $current_port + 1` done i=`expr $i + 1` ;; *) echo $line >> $cnf esac done echo ) > $DST trace "Init config file done" cat $dir_file | xargs mkdir -p if [ -z "$dst_dir" ] if [ -f $cluster_file ] then cat $DST rm -f $DST rm -f /tmp/hosts.$uniq_id exit 0 cat $cluster_file $config_file >> /tmp/config2.$$ mv /tmp/config2.$$ $config_file fi ### # Create Ndb.cfg files # nodeid=2;host=localhost:2200 # Mgm node mkcfg(){ mkdir -p $dst_dir/${2}.ndb_${1} ( echo "OwnProcessId $2" echo "host://${mgm_node_1_host}:${mgm_port}" ) > $dst_dir/${2}.ndb_${1}/Ndb.cfg if [ $1 = "db" ] then mkdir $dst_dir/node-${2}-fs fi } mkcfg mgm 1 cat $DST > $dst_dir/1.ndb_mgm/initconfig.txt trace "Creating Ndb.cfg for ndb nodes" current_node=2 i=1 while [ $i -le $ndb_nodes ] do mkcfg db ${current_node} i=`expr $i + 1` current_node=`expr $current_node + 1` done trace "Creating Ndb.cfg for api nodes" i=1 while [ $i -le $api_nodes ] for i in `find . -type d -name '*.ndb_mgmd'` do mkcfg api ${current_node} i=`expr $i + 1` current_node=`expr $current_node + 1` cp $config_file $i/config.ini done rm -f $DST rm -f /tmp/hosts.$uniq_id exit 0 # vim: set sw=4: rm -f $config_file $dir_file $cluster_file
ndb/test/run-test/ndb-autotest.sh +5 −2 Original line number Diff line number Diff line #!/bin/sh save_args=$* VERSION="ndb-autotest.sh version 1.0" VERSION="ndb-autotest.sh version 1.01" DATE=`date '+%Y-%m-%d'` export DATE Loading Loading @@ -76,6 +76,7 @@ then eval $configure --prefix=$run_dir make make install (cd $run_dir; ./bin/mysql_install_db) fi ### Loading Loading @@ -103,6 +104,8 @@ fi test_dir=$run_dir/mysql-test/ndb atrt=$test_dir/atrt html=$test_dir/make-html-reports.sh mkconfig=$run_dir/mysql-test/ndb/make-config.sh PATH=$test_dir:$PATH export PATH Loading Loading @@ -214,7 +217,7 @@ do run_hosts=`echo $avail_hosts| awk '{for(i=1;i<='$count';i++)print $i;}'` choose $run_dir/d.template $run_hosts > $run_dir/d.txt choose $run_dir/1.ndb_mgmd/initconfig.template $run_hosts > $run_dir/1.ndb_mgmd/config.ini (cd $run_dir; $mkconfig d.txt ) echo $run_hosts >> /tmp/filter_hosts.$$ cd $run_dir Loading