added check lines
This commit is contained in:
@@ -4,6 +4,11 @@ cd /scripts
|
||||
|
||||
DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL:-registry.format.hu}
|
||||
USER_INIT_PATH=$USER_INIT_PATH
|
||||
|
||||
FRAMWEORK_SCHEDULER_NAME=${FRAMEWORK_SCHEDULER_NAME:-framework-scheduler}
|
||||
FRAMEWORK_SCHEDULER_NETWORK=${FRAMEWORK_SCHEDULER_NETWORK:-framework-network}
|
||||
FRAMEWORK_NETWORK_SUBNET=${FRAMEWORK_NETWORK_SUBNET:-"172.18.255.0/24"}
|
||||
|
||||
WEB_SERVER=${WEB_SERVER:-webserver}
|
||||
WEB_IMAGE=${WEB_IMAGE:-web-installer}
|
||||
WEBSERVER_PORT=${WEBSERVER_PORT:-8080}
|
||||
@@ -16,6 +21,7 @@ REDIS_VERSION=${REDIS_VERSION:-latest}
|
||||
SOURCE=$SOURCE
|
||||
SMARTHOST_PROXY_PATH=$SMARTHOST_PROXY_PATH
|
||||
|
||||
|
||||
GIT_URL=$GIT_URL
|
||||
TOKEN=$TOKEN
|
||||
REPO=$REPO
|
||||
@@ -26,6 +32,107 @@ CURL_RETRIES=${CURL_RETRIES:-360}
|
||||
|
||||
SCHEDULER_SERVICEFILE_GENERATE_TEST=${SCHEDULER_SERVICEFILE_GENERATE_TEST:-false}
|
||||
|
||||
scheduler_manager(){
|
||||
|
||||
FRAMEWORK_NAME=$1;
|
||||
FRAMEWORK_NETWORK=$2;
|
||||
FRAMEWORK_SUBNET=$3;
|
||||
FRAMEWORK_UPDATE=$4;
|
||||
|
||||
if [ "$FRAMEWORK_NETWORK" == "0" ]; then
|
||||
echo "Restarting the scheduler with the correct network"
|
||||
|
||||
docker network create $FRAMEWORK_SCHEDULER_NETWORK --subnet $FRAMEWORK_NETWORK_SUBNET
|
||||
|
||||
if [ "$FRAMEWORK_SUBNET" == "0" ]; then
|
||||
echo "Restarting the scheduler with the correct subnet"
|
||||
docker stop $ACTUAL_FRAMEWORK_SCHEDULER_NAME
|
||||
docker rm $ACTUAL_FRAMEWORK_SCHEDULER_NAME
|
||||
docker run -d --name $FRAMEWORK_SCHEDULER_NAME --network $FRAMEWORK_SCHEDULER_NETWORK --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /scripts:/scripts $DOCKER_REGISTRY_URL/$FRAMEWORK_SCHEDULER_NAME
|
||||
fi
|
||||
|
||||
if [ "$FRAMEWORK_NAME" == "0" ]; then
|
||||
echo "Restarting the scheduler with the correct name"
|
||||
docker stop $ACTUAL_FRAMEWORK_SCHEDULER_NAME
|
||||
docker rm $ACTUAL_FRAMEWORK_SCHEDULER_NAME
|
||||
docker run -d --name $FRAMEWORK_SCHEDULER_NAME --network $FRAMEWORK_SCHEDULER_NETWORK --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /scripts:/scripts $DOCKER_REGISTRY_URL/$FRAMEWORK_SCHEDULER_NAME
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if [ "$FRAMEWORK_UPDATE" == "0" ]; then
|
||||
echo "Restarting the scheduler with the correct version"
|
||||
docker stop $ACTUAL_FRAMEWORK_SCHEDULER_NAME
|
||||
docker rm $ACTUAL_FRAMEWORK_SCHEDULER_NAME
|
||||
docker run -d --name $FRAMEWORK_SCHEDULER_NAME --network $FRAMEWORK_SCHEDULER_NETWORK --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /scripts:/scripts $DOCKER_REGISTRY_URL/$FRAMEWORK_SCHEDULER_NAME
|
||||
fi
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
check_framework_scheduler_status(){
|
||||
|
||||
ACTUAL_FRAMEWORK_SCHEDULER_NAME=$1;
|
||||
|
||||
if "$ACTUAL_FRAMEWORK_SCHEDULER_NAME" == "$FRAMEWORK_SCHEDULER_NAME"; then
|
||||
echo "Scheduler name not correct, not needed to restart is with the correct name";
|
||||
else
|
||||
FRAMEWORK_NAME=0;
|
||||
fi
|
||||
|
||||
if [ "$(docker network ls --filter name=^$FRAMEWORK_SCHEDULER_NETWORK$ --format {{.Name}})" ]; then
|
||||
echo "Network $FRAMEWORK_SCHEDULER_NETWORK is available, not needed to restart the scheduler"
|
||||
|
||||
if [ "$(docker network inspect $FRAMEWORK_SCHEDULER_NETWORK --format '{{range .IPAM.Config}}{{.Subnet}}{{end}}')" == "$FRAMEWORK_NETWORK_SUBNET" ]; then
|
||||
echo "Network $FRAMEWORK_SCHEDULER_NETWORK is available with the correct subnet, not needed to restart the scheduler"
|
||||
|
||||
check_framework_network_availabity
|
||||
|
||||
|
||||
else
|
||||
FRAMEWORK_SUBNET=0;
|
||||
fi
|
||||
else
|
||||
FRAMEWORK_NETWORK=0;
|
||||
fi
|
||||
|
||||
if [ ]; then
|
||||
|
||||
else
|
||||
FRAMEWORK_UPDATE=0;
|
||||
fi
|
||||
|
||||
scheduler_manager $FRAMEWORK_NAME $FRAMEWORK_NETWORK $FRAMEWORK_SUBNET $FRAMEWORK_UPDATE
|
||||
|
||||
#echo '{"FRAMEWORK_NAME": "$FRAMEWORK_NAME", "FRAMEWORK_NETWORK": "$FRAMEWORK_NETWORK"}'
|
||||
|
||||
}
|
||||
|
||||
|
||||
check_framework_network_availabity() {
|
||||
if [ -z "$(docker network ls --filter name=^$FRAMEWORK_SCHEDULER_NETWORK$ --format {{.Name}})" ]; then
|
||||
|
||||
# Define the subnet you want to check
|
||||
desired_subnet=$FRAMEWORK_NETWORK_SUBNET
|
||||
existing_subnets=$(docker network inspect $(docker network ls -q) --format '{{range .IPAM.Config}}{{.Subnet}}{{end}}')
|
||||
|
||||
# Check if the desired subnet is in the list of existing subnets
|
||||
if echo "$existing_subnets" | grep -q "$desired_subnet"; then
|
||||
echo "Subnet $desired_subnet is not available for creation. Need to find another network"
|
||||
else
|
||||
echo "Subnet $desired_subnet is available for creation."
|
||||
|
||||
fi
|
||||
echo "Creating network $FRAMEWORK_SCHEDULER_NETWORK"
|
||||
docker network create $FRAMEWORK_SCHEDULER_NETWORK --subnet $FRAMEWORK_NETWORK_SUBNET
|
||||
else
|
||||
echo "Network $DOCKER_NETWORK_NAME already exists, need to define another name"
|
||||
fi
|
||||
}
|
||||
|
||||
check_redis_availability() {
|
||||
REDIS_SERVER="$1"
|
||||
REDIS_PORT="$2"
|
||||
@@ -62,13 +169,19 @@ start_webserver () {
|
||||
|
||||
/usr/bin/docker run -d -p $WEBSERVER_PORT:80/tcp --name $WEB_SERVER $DOCKER_REGISTRY_URL/$WEB_IMAGE:$WEBSERVER_VERSION
|
||||
}
|
||||
###
|
||||
### SYSTEM INITIALIZATION ###
|
||||
|
||||
# CHECKING SYSTEM ENVIRONMENTS
|
||||
## DOCKER VARIABLES
|
||||
## DOCKER NETWORK VARIABLES
|
||||
## VERSION CHECK
|
||||
## FILESYSTEM VARIABLES
|
||||
## PORTS VARIABLES
|
||||
### RESTART SCHEDULER IF NEEDED
|
||||
|
||||
check_framework_scheduler_status $HOSTNAME
|
||||
|
||||
check_framework_network_availabity
|
||||
|
||||
# REDIS_SERVER EXISTENCE
|
||||
## REDIS_PORT EXISTENCE
|
||||
@@ -81,8 +194,8 @@ echo `date`" Redis initialized"
|
||||
start_webserver
|
||||
echo `date`" Webserver initialized"
|
||||
|
||||
# SUMMARY
|
||||
|
||||
#### SUMMARY
|
||||
#########################################
|
||||
# TESTING
|
||||
sleep 86400
|
||||
|
||||
|
Reference in New Issue
Block a user