-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Ubuntu Xenial in development #3108
Conversation
- Migrate service to systemd - Centralize logs in syslog via systemd - Update dependencies (Things are broken due to old version of Windshaft.)
- Redis | ||
- Logstash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of the log and metrics aggregation services have been removed. Follow-up tasks exist to replace these with external services.
@@ -12,12 +12,7 @@ A combination of Vagrant 1.6+ and Ansible 1.8+ is used to setup the development | |||
The `app` virtual machine contains an instance of the Django application, `services` contains: | |||
|
|||
- PostgreSQL | |||
- Pgweb |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pgweb
was not consistently being used, so it was removed from the development environment.
@@ -28,7 +23,6 @@ The `app` virtual machine contains an instance of the Django application, `servi | |||
|
|||
- Celery | |||
- Docker | |||
- Spark Job Server (container) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This service has not been around for a while, and was not removed in this PR.
|
||
### Caching | ||
|
||
In order to speed up things up, you may want to consider leveraging the `vagrant-cachier` plugin. If installed, it is automatically used by Vagrant. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This plugin is no longer actively maintained and is not installed is most environments where this Vagrant setup is instantiated.
@@ -89,7 +68,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |||
worker.vm.hostname = "worker" | |||
worker.vm.network "private_network", ip: ENV.fetch("MMW_WORKER_IP", "33.33.34.20") | |||
|
|||
worker.vm.synced_folder "src/mmw", "/opt/app/" | |||
worker.vm.synced_folder "src/mmw", "/opt/app" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was done to trim the trailing _
from mount names in df
output. Mount names also coincide with systemd
targets.
- "libjpeg8-dev=8c*" | ||
- "libgif-dev=4.1.*" | ||
apt: | ||
pkg: ["libcairo2-dev=1.14.*", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ubuntu 16.04 specific package versions.
@@ -2,7 +2,8 @@ server { | |||
listen *:80; | |||
server_name _; | |||
|
|||
access_log /var/log/nginx/mmw-tiler.access.log logstash_json; | |||
error_log syslog:server=unix:/dev/log,facility=local7,tag=nginx_tiler,severity=error; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Write directly to syslog
from Nginx.
@@ -17,14 +17,11 @@ | |||
from utils.constants import ( | |||
ALLOW_ALL_CIDR, | |||
EC2_INSTANCE_TYPES, | |||
GRAPHITE, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of the changes in this file should really not be in this PR because they are staging specific concerns. I ended up removing them because I was interactively going through find/replace.
Actually testing that these changes are working should be deferred to another PR creation/review cycle.
@@ -13,7 +13,6 @@ | |||
from django.core.mail.backends.base import BaseEmailBackend | |||
from django.core.exceptions import ImproperlyConfigured | |||
|
|||
from django_statsd.clients import statsd |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Statsite/StatsD has been removed, so application level libraries interacting with those services has been removed as well.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I believe this was fixed in 12928c0. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 tested, everything's working (tested Analysis, Monitoring, Modeling, which exercised Django, Ulmo, Celery, and the Geoprocessing Service) except for the tile service, but that's expected. I think we should detach that from this PR and let #3109 handle it.
Thanks for all the explanatory comments in the PR, and also for updating the README to match the new state.
Regarding the CI failure, I don't think it's a specific front-end test, but that the front-end testing doesn't exit when all the tests are run. Feel free to defer that to a later card. With this work in we can begin all the other upgrades.
Excellent work 👏 🙇
To get the dev environment in a working state. This also removes most monitoring tooling, since that is not needed in development. Much of this work was inspired by WikiWatershed/model-my-watershed#3108
Overview
services
services
virtual machine provisions cleanlyservices
virtual machine are functionaltiler
virtual machine provisions cleanlytiler
virtual machine are functionalapp
virtual machine provisions cleanlyapp
virtual machine are functionalworker
virtual machine provisions cleanlyworker
virtual machine are functionalFixes #3075
Demo
Notes
Testing Instructions
azavea.*
rolesREADME
to setup the local development environmentFrom within the
app
virtual machine: