Skip to content

Commit

Permalink
merging PR Chaosthebot#393: Migrations
Browse files Browse the repository at this point in the history
Chaosthebot#393: Migrations

Description:
Migrations ([@rudehns idea](Chaosthebot#391 (comment)))

- `startup.sh` runs `startup.d/50-run-migrations.sh`
- `startup.d/50-run-migrations.sh` runs `migrate.sh` and logs output
- `migrate.sh` iterates all files in `/migrations/` folder in alphabetical order and
  - checks whether the filename is already in the `.migrated` (could be moved to sqlite later) file and if not,
  - executes the file, and
  - saves the filename in the `.migrated` file

Furthermore:

- `callOnce` is removed (from Chaosthebot#72)
- logs are stored in new `/log/` directory, moved supervisor logs here as well
- cleaned up `etc/nginx/chaos_errors`


:ok_woman: PR passed with a vote of 13 for and 0 against, a weighted total of 12.5 and a threshold of 6.5, and a current meritocracy review.

Vote record:
@Leigende: 1
@MUCHZER: 1
@Mursaat: 1
@PlasmaPower: 1
@Smittyvb: 1
@andrewda: 1
@eukaryote31: 1
@hongaar: 1
@loks0n: 1
@md678685: 1
@phil-r: 1
@rhengles: 1
@rudehn: 1
  • Loading branch information
hongaar authored and chaosbot committed May 30, 2017
1 parent 4b65bd1 commit e3e7032
Show file tree
Hide file tree
Showing 11 changed files with 53 additions and 145 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ server/voters.json
api_cache/
.idea/
server/issue_commands_ran.json

.migrated
ansible/*.retry
10 changes: 5 additions & 5 deletions dev/docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
FROM ubuntu:trusty

RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

RUN rm -vf /var/lib/apt/lists/*
RUN apt-get -y update
Expand Down Expand Up @@ -63,7 +63,7 @@ RUN printf "\
sleep 1\n\
tail -F /var/log/supervisor/chaos-*"\
tail -F /root/workspace/Chaos/log/*"\
>> /root/start_chaos.sh

EXPOSE 80 8081
Expand Down
8 changes: 4 additions & 4 deletions dev/docker/Dockerfile.rpi
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ RUN apt-get install locales

# set locales
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

RUN rm -vfr /var/lib/apt/lists/*
RUN apt-get -y update
Expand Down Expand Up @@ -66,7 +66,7 @@ RUN printf "\

sleep 1\n\

tail -F /var/log/supervisor/chaos-*"\
tail -F /root/workspace/Chaos/log/*"\
>> /root/start_chaos.sh

EXPOSE 80 8081
Expand Down
4 changes: 2 additions & 2 deletions etc/chaos_supervisor.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ command=bash chaos_wrapper.sh
directory=/root/workspace/Chaos
user=root

stdout_logfile=/var/log/supervisor/chaos-stdout.log
stdout_logfile=/root/workspace/Chaos/log/supervisor-stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10

stderr_logfile=/var/log/supervisor/chaos-stderr.log
stderr_logfile=/root/workspace/Chaos/log/supervisor-stderr.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10

Expand Down
126 changes: 16 additions & 110 deletions etc/nginx/chaos_errors
Original file line number Diff line number Diff line change
@@ -1,112 +1,18 @@
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

server {
listen 8081 default_server;
listen [::]:8081 default_server ipv6only=on;

root /var/log/supervisor;
index index.html index.htm;

# Make site accessible from http://localhost/
server_name 0.0.0.0;

location / {
autoindex on;
try_files $uri $uri/ =404;
location ~* \.log$ {
add_header Content-Type text/plain;
}
}

# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
#location /RequestDenied {
# proxy_pass http://127.0.0.1:8080;
#}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /usr/share/nginx/html;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
listen 8081 default_server;
listen [::]:8081 default_server ipv6only=on;

root /root/workspace/Chaos/log;
index index.html index.htm;

# Make site outside accessible
server_name 0.0.0.0;

location / {
autoindex on;
try_files $uri $uri/ =404;
location ~* \.log$ {
add_header Content-Type text/plain;
}
}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# root html;
# index index.html index.htm;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}


# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
#
# root html;
# index index.html index.htm;
#
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
#
# ssl_session_timeout 5m;
#
# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
# ssl_prefer_server_ciphers on;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
2 changes: 2 additions & 0 deletions log/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
18 changes: 18 additions & 0 deletions migrate.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

previous_migrations_store_path=".migrated"

pushd "$(dirname "$0")" > /dev/null

for file in ./migrations/*; do
if [ -f "$file" ]; then
if ! grep -q "^$file$" "$previous_migrations_store_path"; then
echo "`date` Running migration $file"
chmod u+x "$file"
"$file"
echo "$file" >> "$previous_migrations_store_path"
fi
fi
done

popd > /dev/null
2 changes: 1 addition & 1 deletion settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@

# The location of error log -- also found in the supervisor conf.
# If you are going to change it, change it there too.
CHAOSBOT_STDERR_LOG = "/var/log/supervisor/chaos-stderr.log"
CHAOSBOT_STDERR_LOG = join(THIS_DIR, "log/supervisor-stderr.log")

# The threshold for how old an issue has to be without comments before we try to
# auto-close it. i.e. if an issue goes this long without comments
Expand Down
3 changes: 3 additions & 0 deletions startup.d/50-run-migrations.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

bash migrate.sh >> log/migrations.log
1 change: 0 additions & 1 deletion utils/called_functions.json

This file was deleted.

21 changes: 0 additions & 21 deletions utils/utils.py

This file was deleted.

0 comments on commit e3e7032

Please sign in to comment.