Skip to content

Commit

Permalink
add utility scripts for local setup
Browse files Browse the repository at this point in the history
  • Loading branch information
brianlball committed Nov 12, 2018
1 parent e2a3f04 commit c048979
Show file tree
Hide file tree
Showing 2 changed files with 156 additions and 0 deletions.
112 changes: 112 additions & 0 deletions local_setup_scripts/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
version: '3'
services:
db:
image: 127.0.0.1:5000/mongo
ports:
- "27017:27017"
volumes:
- dbdata:/data/db
deploy:
placement:
constraints:
- node.role == manager
resources:
reservations:
cpus: "${AWS_MONGO_CORES}"
queue:
image: 127.0.0.1:5000/redis
ports:
- "6379:6379"
deploy:
placement:
constraints:
- node.role == manager
resources:
reservations:
cpus: "1"
web:
image: 127.0.0.1:5000/openstudio-server
ports:
- "8080:80"
- "80:80"
- "443:443"
environment:
- OS_SERVER_NUMBER_OF_WORKERS=${AWS_OS_SERVER_NUMBER_OF_WORKERS}
- MAX_REQUESTS=${AWS_MAX_REQUESTS}
- MAX_POOL=${AWS_MAX_POOL}
volumes:
- osdata:/mnt/openstudio
depends_on:
- db
- queue
deploy:
placement:
constraints:
- node.role == manager
resources:
reservations:
cpus: "${AWS_WEB_CORES}"
web-background:
image: 127.0.0.1:5000/openstudio-server
environment:
- OS_SERVER_NUMBER_OF_WORKERS=${AWS_OS_SERVER_NUMBER_OF_WORKERS}
- QUEUES=background,analyses
volumes:
- osdata:/mnt/openstudio
command: bundle exec rake environment resque:work
depends_on:
- db
- web
- queue
deploy:
placement:
constraints:
- node.role == manager
resources:
reservations:
cpus: "1"
worker:
image: 127.0.0.1:5000/openstudio-server
environment:
- QUEUES=simulations
- COUNT=1
command: bundle exec rake environment resque:workers
volumes:
- /mnt/openstudio
depends_on:
- web
- web-background
- db
- queue
- rserve
deploy:
resources:
reservations:
cpus: "1"
rserve:
image: 127.0.0.1:5000/openstudio-rserve
volumes:
- osdata:/mnt/openstudio
depends_on:
- web
- web-background
- db
deploy:
placement:
constraints:
- node.role == manager
resources:
reservations:
cpus: "1"
volumes:
osdata:
external: true
dbdata:
external: true
networks:
default:
driver: overlay
ipam:
driver: default
config:
- subnet: 172.28.0.0/16
44 changes: 44 additions & 0 deletions local_setup_scripts/nuke.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/bash -e
echo "full redploy with OS version: $1"

docker stack rm osserver || true
docker service rm $(docker service ls -q) || true
docker swarm leave -f || true
echo "docker rm ps"
docker rm -f $(docker ps -aq) || true
echo "docker volume rm"
docker volume rm $(docker volume ls -q) || true
echo "docker image rm"
docker image rm -f $(docker image ls -aq) || true

echo "pull images"
docker pull registry:2.6
docker pull nrel/openstudio-server:$1
docker pull nrel/openstudio-rserve:$1
docker pull mongo
docker pull redis:4.0.6

echo "create registry"
docker volume create --name=regdata
docker swarm init
docker service create --name registry --publish 5000:5000 --mount type=volume,source=regdata,destination=/var/lib/registry registry:2.6
sleep 10
echo "tag"
docker tag nrel/openstudio-server:$1 127.0.0.1:5000/openstudio-server
docker tag nrel/openstudio-rserve:$1 127.0.0.1:5000/openstudio-rserve
docker tag mongo:latest 127.0.0.1:5000/mongo
docker tag redis:4.0.6 127.0.0.1:5000/redis
sleep 3
echo "push"
docker push 127.0.0.1:5000/openstudio-server
docker push 127.0.0.1:5000/openstudio-rserve
docker push 127.0.0.1:5000/mongo
docker push 127.0.0.1:5000/redis

echo "deploy"
docker stack deploy osserver --compose-file=/home/ubuntu/docker-compose.yml &
wait $!
while ( nc -zv 127.0.0.1 80 3>&1 1>&2- 2>&3- ) | awk -F ":" '$3 != " Connection refused" {exit 1}'; do sleep 5; done
docker service scale osserver_worker=42
echo 'osserver stack redeployed'

0 comments on commit c048979

Please sign in to comment.