Skip to content

Instantly share code, notes, and snippets.

@d3flex
Created January 28, 2025 19:25
Show Gist options
  • Select an option

  • Save d3flex/afcac40d35ae97011dcf703a028f582f to your computer and use it in GitHub Desktop.

Select an option

Save d3flex/afcac40d35ae97011dcf703a028f582f to your computer and use it in GitHub Desktop.
#!/bin/bash
SESSION_NAME="openqa"
LOG_DIR="/var/log/odev/logs"
## created manual
## mkdir -p $LOG_DIR
echo "Starting openQA services in a new screen session: $SESSION_NAME"
echo "Logs will be stored in $LOG_DIR"
# Define environment variables as a reusable string
ENV_VARS="export OPENQA_BASEDIR=/home/iob/opt/openqadev/varlib; \
export OPENQA_CONFIG=/home/iob/opt/openqadev/openQA/etc/openqadev; \
export TEST_PG='DBI:Pg:dbname=openqa;host=/dev/shm/tpg'"
# Start a new screen session and detach immediately
screen -dmS $SESSION_NAME
# Add a window for each service with the environment variables
## screen -S $SESSION_NAME -X screen -t "openqa-db" bash -c "$ENV_VARS; script/openqa-db 2>&1 | tee $LOG_DIR/openqadb.log"
screen -S $SESSION_NAME -X screen -t "web-server" bash -c "$ENV_VARS; script/openqa daemon > $LOG_DIR/webserver.log 2>&1"
screen -S $SESSION_NAME -X screen -t "scheduler" bash -c "$ENV_VARS; script/openqa-scheduler daemon > $LOG_DIR/scheduler.log 2>&1"
screen -S $SESSION_NAME -X screen -t "worker-instance-1" bash -c "$ENV_VARS; script/worker --instance 1 > $LOG_DIR/worker-instance-1.log 2>&1"
screen -S $SESSION_NAME -X screen -t "websockets" bash -c "$ENV_VARS; script/openqa-websockets daemon > $LOG_DIR/websockets.log 2>&1"
screen -S $SESSION_NAME -X screen -t "minion-gre" bash -c "$ENV_VARS; script/openqa-gru daemon > $LOG_DIR/openqagru.log 2>&1"
# List the windows in the screen session
screen -S $SESSION_NAME -X eval "select 0"
echo "All services started. Use the following command to attach to the session:"
echo " screen -r $SESSION_NAME"
echo "To monitor logs, check the files in $LOG_DIR."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment