-
Notifications
You must be signed in to change notification settings - Fork 7
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
Upgrade to Xenial #1117
Upgrade to Xenial #1117
Conversation
I'll wait for #1119 to go in before destroying the VMs on CI and rebuilding this PR, as it changes the VM base image. |
The
|
The
Where those set? These variables go in |
D'oh, I'd updated to the newest Graph but hadn't updated my I did see one deprecation warning from Ansible for a role defined in this project:
I'm testing out the site now, but encountered an issue accessing |
Thanks for testing, @maurizi. I've removed the file share mounting parameters from the |
Newer versions support Xenial.
The version available in the Xenial system packages is 9.5.
Still on 2.7.
Fixes issue on linux of version defaulting to 3, although not overridded in environment.
Fixes migrations failing to run.
Necessary because transitfeed package does not support python3 yet.
Use systemd for service.
Also update ansible package install syntax to address deprecation warning.
Update to use systemd for service management.
Fix app fileshare mounting permissions on Linux by reverting to defaults.
Fixes "Using tests as filters is deprecated" in otp-data role.
7b9abd2
to
a8ac204
Compare
Match the package versions in development_template.
The Jenkins build is passing now. @maurizi could you please take another look? |
Required for nginx to start on boot
Without this in-place, gunicorn would frequently fail to load at system-start as the Vagrant synced_folder /opt/app wouldn't be ready yet.
PyYAML==5.1.1 | ||
requests==2.22.0 | ||
troposphere==1.8.1 | ||
majorkirby==0.2.1 |
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.
🎉 great to get this out of Ansible and into a standard requirements.txt
!
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.
Tested locally and things seem to be working great 👍
Feel free to merge once the Jenkins build is green again.
build again |
Overview
Upgrade ansible roles to support using Ubuntu Xenial (16.04) as the OS for all three VMs. Mostly, this meant switching services to use
systemd
instead ofupstart
.This is to support upgrading to python 3 and then Django 2.x later; here, python 2 is still in use.
Also makes some minor upgrades to ansible syntax, to resolve deprecation warnings.
Notes
I tried using the gunicorn ansible role instead of installing it within the app role, but ran into issues, so instead upgraded the gunicorn role in place for
systemd
. As I've added support for thetimeout
parameter to the gunicorn ansible role, it's possible we could use it in future instead.For the OTP VM, it was necessary to explicitly install and use python 2, in order to continue to validate GTFS feeds, as the feed validator library does not yet support python 3: google/transitfeed#412
For the python 3 upgrade, we can handle the OTP machine by one of:
I would be inclined towards the first option, as the feeds are currently validated outside the VM as part of the current graph update process, and because validating again slows the build process.
Testing Instructions
postgresql
andpostgresql-support
)services should start on reboot (site should still work after
vagrant reload`)Closes #1100
Closes #995