Use cat instead of read<file
When reading a file, it is expected that the read process will exit 1 as this is expected whenever the input reaches an EOF. Because it is not clear if the 'exit 1' is from a successful read or a more serious error, and as this edge-case of 'read' is not well-known, we instead change this code to read the file using 'cat'. The new code is moved into a function, is_docker_running. Furthermore, we now quote the variables and check for the existance of the pid file for better and safer error handling. Change-Id: Idb56b87349a5a84d5d255715cfb7191341363118 Closes-Bug: 1286441
This commit is contained in:
parent
9f2ee82d2c
commit
3d2bdf50bc
@ -57,6 +57,18 @@ function configure_nova_hypervisor {
|
||||
iniset $GLANCE_API_CONF DEFAULT container_formats ami,ari,aki,bare,ovf,docker
|
||||
}
|
||||
|
||||
# is_docker_running - Return 0 (true) if Docker is running, otherwise 1
|
||||
function is_docker_running {
|
||||
local docker_pid
|
||||
if [ -f "$DOCKER_PID_FILE" ]; then
|
||||
docker_pid=$(cat "$DOCKER_PID_FILE")
|
||||
fi
|
||||
if [[ -z "$docker_pid" ]] || ! ps -p "$docker_pid" | grep [d]ocker; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# install_nova_hypervisor() - Install external components
|
||||
function install_nova_hypervisor {
|
||||
# So far this is Ubuntu only
|
||||
@ -69,19 +81,15 @@ function install_nova_hypervisor {
|
||||
die $LINENO "Docker is not installed. Please run tools/docker/install_docker.sh"
|
||||
fi
|
||||
|
||||
local docker_pid
|
||||
read docker_pid <$DOCKER_PID_FILE
|
||||
if [[ -z $docker_pid ]] || ! ps -p $docker_pid | grep [d]ocker; then
|
||||
if ! (is_docker_running); then
|
||||
die $LINENO "Docker not running"
|
||||
fi
|
||||
}
|
||||
|
||||
# start_nova_hypervisor - Start any required external services
|
||||
function start_nova_hypervisor {
|
||||
local docker_pid
|
||||
read docker_pid <$DOCKER_PID_FILE
|
||||
if [[ -z $docker_pid ]] || ! ps -p $docker_pid | grep [d]ocker; then
|
||||
die $LINENO "Docker not running, start the daemon"
|
||||
if ! (is_docker_running); then
|
||||
die $LINENO "Docker not running"
|
||||
fi
|
||||
|
||||
# Start the Docker registry container
|
||||
|
Loading…
x
Reference in New Issue
Block a user