mirror of
				https://github.com/samply/bridgehead.git
				synced 2025-11-04 04:50:17 +01:00 
			
		
		
		
	Cherry picked the stop/start files from ehds2_develop branch
This commit is contained in:
		
							
								
								
									
										14
									
								
								ecdc.service
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								ecdc.service
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
[Unit]
 | 
			
		||||
Description=Start ECDC Bridgehead
 | 
			
		||||
 | 
			
		||||
[Service]
 | 
			
		||||
Type=simple
 | 
			
		||||
ExecStart=/srv/docker/bridgehead/restart_service.sh
 | 
			
		||||
ExecStop=/srv/docker/bridgehead/shutdown_service.sh
 | 
			
		||||
Restart=on-failure
 | 
			
		||||
RestartSec=36000
 | 
			
		||||
KillMode=mixed
 | 
			
		||||
 | 
			
		||||
[Install]
 | 
			
		||||
WantedBy=multi.user.target
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										30
									
								
								restart_service.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								restart_service.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Start a running Bridgehead. If there is already a Bridgehead running,
 | 
			
		||||
# stop it first.
 | 
			
		||||
# This is intended to be used by systemctl.
 | 
			
		||||
 | 
			
		||||
cd /srv/docker/bridgehead
 | 
			
		||||
 | 
			
		||||
echo "git status before stop"
 | 
			
		||||
git status
 | 
			
		||||
 | 
			
		||||
echo "Stopping running Bridgehead, if present"
 | 
			
		||||
./bridgehead stop bbmri
 | 
			
		||||
 | 
			
		||||
# If "flush_blaze" is present, delete the Blaze volume before starting
 | 
			
		||||
# the Bridgehead again. This allows a user to upload all data, if
 | 
			
		||||
# requested.
 | 
			
		||||
if [ -f "/srv/docker/ecdc/data/flush_blaze" ]; then
 | 
			
		||||
    docker volume rm bbmri_blaze-data
 | 
			
		||||
    rm -f /srv/docker/ecdc/data/flush_blaze
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "git status before start"
 | 
			
		||||
git status | systemd-cat -p info
 | 
			
		||||
 | 
			
		||||
echo "Start the Bridgehead anew"
 | 
			
		||||
./bridgehead start bbmri
 | 
			
		||||
 | 
			
		||||
echo "Bridgehead has unexpectedly terminated"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										79
									
								
								run.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								run.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,79 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# Start a Bridgehead from the command line. Upload data if requested.
 | 
			
		||||
# Behind the scenes we use systemctl to do the work.
 | 
			
		||||
 | 
			
		||||
# Function to print usage
 | 
			
		||||
print_usage() {
 | 
			
		||||
    echo "Start a Bridghead, optionally upload data"
 | 
			
		||||
    echo "Usage: $0 [--upload | --upload-all | --help | -h]"
 | 
			
		||||
    echo "Options:"
 | 
			
		||||
    echo "  --upload       Run Bridgehead and upload just the new CSV data files."
 | 
			
		||||
    echo "  --upload-all   Run Bridgehead and upload all CSV data files."
 | 
			
		||||
    echo "  --help, -h     Display this help message."
 | 
			
		||||
    echo "  No options     Run Bridgehead only."
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Initialize variables
 | 
			
		||||
UPLOAD=false
 | 
			
		||||
UPLOAD_ALL=false
 | 
			
		||||
 | 
			
		||||
# Parse arguments
 | 
			
		||||
while [[ "$#" -gt 0 ]]; do
 | 
			
		||||
    case $1 in
 | 
			
		||||
        --upload)
 | 
			
		||||
            UPLOAD=true
 | 
			
		||||
            ;;
 | 
			
		||||
        --upload-all)
 | 
			
		||||
            UPLOAD_ALL=true
 | 
			
		||||
            ;;
 | 
			
		||||
        --help|-h)
 | 
			
		||||
            print_usage
 | 
			
		||||
            exit 0
 | 
			
		||||
            ;;
 | 
			
		||||
        *)
 | 
			
		||||
            echo "Error: Unknown argument '$1'"
 | 
			
		||||
            print_usage
 | 
			
		||||
            exit 1
 | 
			
		||||
            ;;
 | 
			
		||||
    esac
 | 
			
		||||
    shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# Check for conflicting options
 | 
			
		||||
if [ "$UPLOAD" = true ] && [ "$UPLOAD_ALL" = true ]; then
 | 
			
		||||
    echo "Error: you must specify either --upload or --upload-all, specifying both is not permitted."
 | 
			
		||||
    print_usage
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Disable/stop standard Bridgehead systemctl services, if present
 | 
			
		||||
sudo systemctl disable bridgehead@bbmri.service
 | 
			
		||||
sudo systemctl disable system-bridgehead.slice
 | 
			
		||||
sudo systemctl disable bridgehead-update@bbmri.timer
 | 
			
		||||
sudo systemctl stop bridgehead@bbmri.service
 | 
			
		||||
sudo systemctl stop system-bridgehead.slice
 | 
			
		||||
sudo systemctl stop bridgehead-update@bbmri.timer
 | 
			
		||||
 | 
			
		||||
# Set up systemctl for EHDS2/ECDC if necessary
 | 
			
		||||
cp /srv/docker/bridgehead/ecdc.service /etc/systemd/system
 | 
			
		||||
systemctl daemon-reload
 | 
			
		||||
systemctl enable ecdc.service
 | 
			
		||||
 | 
			
		||||
# Use systemctl to stop the Bridgehead if it is running
 | 
			
		||||
sudo systemctl stop ecdc.service
 | 
			
		||||
 | 
			
		||||
# Use files to tell the Bridgehead what to do with any data present
 | 
			
		||||
if [ "$UPLOAD" = true ] || [ "$UPLOAD_ALL" = true ]; then
 | 
			
		||||
    if [ -f /srv/docker/ecdc/data/lock ]; then
 | 
			
		||||
        rm /srv/docker/ecdc/data/lock
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
if [ "$UPLOAD_ALL" = true ]; then
 | 
			
		||||
    echo "All CSV files in /srv/docker/ecdc/data will be uploaded"
 | 
			
		||||
    touch /srv/docker/ecdc/data/flush_blaze
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Start up the Bridgehead
 | 
			
		||||
sudo systemctl start ecdc.service
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										13
									
								
								shutdown_service.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								shutdown_service.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Shut down a running Bridgehead.
 | 
			
		||||
# This is intended to be used by systemctl.
 | 
			
		||||
 | 
			
		||||
cd /srv/docker/bridgehead
 | 
			
		||||
 | 
			
		||||
echo "git status before stop"
 | 
			
		||||
git status
 | 
			
		||||
 | 
			
		||||
echo "Stopping running Bridgehead, if present"
 | 
			
		||||
./bridgehead stop bbmri
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										39
									
								
								stop.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								stop.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# Shut down a running Bridgehead and disable auto restart.
 | 
			
		||||
# Behind the scenes we use systemctl to do the work.
 | 
			
		||||
 | 
			
		||||
# Function to print usage
 | 
			
		||||
print_usage() {
 | 
			
		||||
    echo "Stop the running Bridgehead, disable auto-restart"
 | 
			
		||||
    echo "Usage: $0 [--help | -h]"
 | 
			
		||||
    echo "Options:"
 | 
			
		||||
    echo "  --help, -h     Display this help message."
 | 
			
		||||
    echo "  No options     Stop Bridgehead only."
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Parse arguments
 | 
			
		||||
while [[ "$#" -gt 0 ]]; do
 | 
			
		||||
    case $1 in
 | 
			
		||||
        --help|-h)
 | 
			
		||||
            print_usage
 | 
			
		||||
            exit 0
 | 
			
		||||
            ;;
 | 
			
		||||
        *)
 | 
			
		||||
            echo "Error: Unknown argument '$1'"
 | 
			
		||||
            print_usage
 | 
			
		||||
            exit 1
 | 
			
		||||
            ;;
 | 
			
		||||
    esac
 | 
			
		||||
    shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# Set up systemctl for EHDS2/ECDC if necessary
 | 
			
		||||
cp /srv/docker/bridgehead/ecdc.service /etc/systemd/system
 | 
			
		||||
systemctl daemon-reload
 | 
			
		||||
systemctl enable ecdc.service
 | 
			
		||||
 | 
			
		||||
# Use systemctl to stop the Bridgehead if it is running
 | 
			
		||||
sudo systemctl disable ecdc.service
 | 
			
		||||
sudo systemctl stop ecdc.service
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user