Révision 53 trunk/shell/configuration-stop-compute-nodes

configuration-stop-compute-nodes (revision 53)
1
#! /bin/bash -x
1
#! /bin/bash
2 2
#
3 3
# ST - 2012-07-03
4 4
#
......
16 16
#
17 17
CONFIGURATIONS=`ls $SCRIPT_PATH/$CONST_CONFIGURATIONS_DIR`
18 18
CONFIGURATIONS_STRING="{"
19
echo $CONFIGURATIONS
20 19
for i in $CONFIGURATIONS ; do
21 20
  CONFIGURATIONS_STRING="$CONFIGURATIONS_STRING$i|"
22 21
done
......
25 24
#
26 25
if [ "x$1" == "x" ]
27 26
  then
28
     echo
29
     echo "Missing parameter. Aborting!"
30
     echo
31
     echo "Usage: $SCRIPT_NAME configuration"
32
     echo
33
     echo -e "  configuration: one of $CONFIGURATIONS_STRING\b}"
34
     exit 1
27
    echo
28
    echo "Missing parameter. Aborting!"
29
    echo
30
    echo "Usage: $SCRIPT_NAME configuration"
31
    echo
32
    echo -e "  configuration: one of $CONFIGURATIONS_STRING\b}"
33
    echo
34
    echo     
35
    exit 1
35 36
fi
36 37
#
37 38
# Does the configuration exist?
......
61 62
#
62 63
. $SCRIPT_PATH/$CONST_CONFIGURATIONS_DIR/$CONFIGURATION/c-i-a-b.config.common
63 64
#
64
# Start the compute-nodes.
65
# Stop the compute-nodes.
65 66
#
66 67
COMPUTE_NODE_INDEX=1
67 68
while [ $COMPUTE_NODE_INDEX -le $COMPUTE_NODE_MAX_INDEX ] ; do
......
80 81
  # Check if the corresponding VM is already running.
81 82
  #
82 83
  IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
83
  if [ -n "$IS_RUNNING" ] ; then
84
    echo
85
    echo The \"$CURRENT_HOST_NAME\" domU already exists. Aborting!
86
    echo
87
  fi
88
  #
89
  # Get the CPU data.
90
  #
91
  COMPUTE_NODE_CPUS=`sed -n ${NODE_NUMBER},${NODE_NUMBER}p $SCRIPT_PATH/$CONST_CONFIGURATIONS_DIR/$CONFIGURATION/$COMPUTE_NODE_CPUS_FILE`
92
  COMPUTE_NODE_VCPUS_NUM=0
93
  COMPUTE_NODE_CPUS_LIST=""
94
  for i in $COMPUTE_NODE_CPUS ; do
95
    if [ -z $COMPUTE_NODE_CPUS_LIST ] ; then
96
      COMPUTE_NODE_CPUS_LIST=$i
97
    else
98
      COMPUTE_NODE_CPUS_LIST="$COMPUTE_NODE_CPUS_LIST,$i"
84
  if [ ! -z "$IS_RUNNING" ] ; then
85
    echo "Stopping $CURRENT_HOST_NAME..."
86
    #
87
    # Stop the virtual machine
88
    #
89
    xm shutdown $CURRENT_HOST_NAME
90
    if [ $? -ne 0 ] ; then
91
      ciab_abort_message "Can't stop $CURRENT_HOST_NAME" 1
99 92
    fi
100
    COMPUTE_NODE_VCPUS_NUM=$((COMPUTE_NODE_VCPUS_NUM + 1))
101
  done
102
  #
103
  # Check that the configuration file exists.
104
  #
105
  if [ ! -f $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg ] ; then
106
    echo
107
    echo
108
    echo "No configuration file for \"$CURRENT_HOST_NAME\."
109
    echo "Aborting!"
110
    echo
111
    echo
112
    xm list
113
    exit 1
114
  fi
115
  #
116
  # Start the virtual machine
117
  #
118
  xm create $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
119
  #
120
  # Wait until the virtual machine has started
121
  #
122
  IS_RUNNING=""
123
  while [ -z "$IS_RUNNING" ]
124
    do
125
      IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
126
      sleep 1
127
  done # End while
128
  #
129
  # Pin the VCPUs to "real" CPUs.
130
  #
131
  VCPU_INDEX=0
132
  for i in $COMPUTE_NODE_CPUS_LIST ; do
133
    xm vcpu-pin $CURRENT_HOST_NAME $VCPU_INDEX $i
134
    VCPU_INDEX=$((VCPU_INDEX + 1))
135
  done # End for i
93
    #
94
    # Wait until the virtual machine has stopped.
95
    #
96
    IS_RUNNING=""
97
    while [ ! -z "$IS_RUNNING" ]
98
      do
99
        IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
100
        sleep 1
101
    done # End while
102
  else
103
    echo "$CURRENT_HOST_NAME is already stopped."
104
  fi # End if IS_RUNNING.
136 105
  COMPUTE_NODE_INDEX=$((COMPUTE_NODE_INDEX + 1))
137 106
done # End main loop.
138 107
#

Formats disponibles : Unified diff