-
Notifications
You must be signed in to change notification settings - Fork 155
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 Ruby 2.3.0 #196
Conversation
Current coverage is 96.50% (diff: 100%)@@ master #196 diff @@
==========================================
Files 47 47
Lines 3208 3209 +1
Methods 0 0
Messages 0 0
Branches 0 0
==========================================
+ Hits 3096 3097 +1
Misses 112 112
Partials 0 0
|
Process to actually upgrade a devstack:
|
/cc @robrap |
also /cc @jibsheet |
Yeah, you'll at the very least need to cut a new base box image as this merges. |
This wouldn't be in Eucalyptus, as Ned has already cut the RC and theoretically should not be cherrypicking commits from master. Or are you saying that in the sense that the Eucalyptus release would be supplied on top of the latest base image which would implicitly have the updated Ruby version? |
@tobz: Is this something you've determined is useful enough for performance to have everyone upgrade, or is this just a branch to use for testing? Also, you changed to "2.3.0" instead of "2.3.1". Was that just a typo? |
I'm confident it's worth the minimal effort to upgrade. The GC upgrades alone should provide measurable benefit under actual production load. Also, 1.9.3 is entirely end-of-life, including no more security updates. Has been for almost 1.5 years. We really need to be on a newer, supported version. 2.3.1 to 2.3.0 was not a typo: rvm supports 2.3.1, but rbenv only supports 2.3.0, so I dropped it down to 2.3.0. |
@tobz I meant Ficus (We're helping debug Eucalyptus so it's on my brain) |
Ah, right. Do it now instead of only remembering right before Ficus comes. :) |
Sounds good. And hopefully we can coordinate one devstack update request that covers both the mongo and ruby upgrades. |
Well, if we merged this soon, we'd presumably want developers to upgrade sooner, rather than later, and I think the Mongo upgrade would be more involved. I definitely don't want to wait to land this in an effort to have people be able to upgrade both things at once, FWIW. |
👍 FYI: @wajeeha-khalid: you'll need to update your devstack one this lands, and it seems like it may go out to production in advance of your other changes. |
c869b61
to
71eb3ae
Compare
@robrap thanks for headsup |
Revert "Merge pull request #196 from edx/platform/upgrade-to-ruby23"
* origin/master: Remove superfluous newlines Fix scope syntax Revert "Updating bundler on Travis" Install newrelic_rpm to < 4.0 Load app.rb from Rakefile to fix reindex. Fix typo in reindex task Pin the ES container to the current version we support. tests failures, travis cache could be the culprit moving docker compose file to .travis dir Make the ruby linking error go away. Run tests using the es and mongo containers with docker-compose. use 16.04 latest docker image for forums Add a default response size and a response size limit. Add method tracing inside user. Inline respec expected values. Fix respec tests. Remove sort order. MA-2139: Mark thread as read on thread and comment creation/update/actions Specify an owner Add an OEP-2 compliant openedx.yaml file Add the ability to request a thread without its responses. MA-2678: replace use of 'updated_at' for 'read' state Try plucking instead of mapping. Don't need to require NR method tracer; we're not tracing any methods. Back to what it was. Faster that way. -_- Clean up usages of Mongoid to generate cleaner code / queries. Add tracing to #to_hash for Comment/CommentThread. Revert "Merge pull request openedx#196 from edx/platform/upgrade-to-ruby23" Use proper relations instead of forcefully loading relations by hand. Wait 10s after starting ElasticSearch. Wait 10s for ES to come online. Try waiting 10s for ES to come online. Switch to 2.3.0 since that's what rbenv currently supports. Upgrade to Ruby 2.3.1 Switch to using MongoDB 3.0 in tests. Add message for rack config load. Fix new relic traces. Revert "Replaced Tire with elasticsearch-model" Updated the Mongoid configuration options Update new relic agent and fix. Reduced merges, do them in place, and reduce allocations. Handle comment context in cases of missing parent thread. Upgrade nokogiri to address security issues in libxml2 sparklemotion/nokogiri#1473 MA-2419: created endpoint to mark thread as read for user Replaced Tire with elasticsearch-model return thread's last_activity_at in response object for thread endpoints jia/MA-1815 retrieve count for child comments Update newrelic plugin. MA-1930 add thread count in GET updating nokogiri Updated Commentable API spec Partially Cleaned Comment Thread API tests Refactored rake tasks Removed broken rake tasks Updated Query spec Updated i18n spec Updated Abuse API spec Updated Comment API spec Added factory_girl Organized rake tasks into separate files Added binstubs Updated spec_helper removing version data removed in error merge conflict fixing merge conflict update xml lib on top of mongo changes Cleaned Content model Cleaned Comment model Cleaned CommentThread model Re-organized Elasticsearch and DatabaseCleaner rspec configuration Running MongoDB and Elasticsearch as daemons Added rspec rake task Added Codecov coverage tracking Updated README Ignoring JetBrains artifacts Replaced .rvmrc with .ruby-version and .ruby-gemset Add Clinton Blackburn as an author Caching bundler dependencies Updating bundler on Travis generated new Gemfile.lock using the version of bundler that is preferred by edx dev-ops Upgrade Mongoid to 5.x release jia/MA-1748 update read states for users MA-1742; return read status on GET thread for user_id provided MA-1190;Thread PUT - update thread read status Increased timeout back to 20s. Added relevant docstring MA-1189 ThreadGET - added recursive bool field to optionally include response comments MA-1359 returned resp_total for existing question and new thread changed timeout to 6 seconds Added last_activity_at index
* origin/rc: (129 commits) NewRelic as optional dependency Add error handling around Elasticsearch update/delete. fix TLS for forums + NR agent update + ignore heartbeat add newrelic include Fix Dont Blank out comment thread documents as well as comment documents. Change the text used to replace the content. Ensure that comments are processed in tests. Handle non-existent user and missing param upon retiring user. Shift from deprecated should to expect syntax. Add user retirement API endpoint to remove forum post content. Add ability to change author_username in content. try fix? Fix typo in dockerhub repo name EDUCATOR-1912 | Upgrade yajl-ruby to 1.3.1 Update flagged API call to match will_paginate version EDUCATOR-162 | Pin activemodel to 4.2.8 in Gemfile. EDUCATOR-232 | Upgrade nokogiri to 1.8.1 Fix logging errors Fix logging errors EDUCATOR-313: Bump ruby to 2.4.1; Use latest newrelic_rpm package; Add test-forum docker-compose service. Fixed issues with app.rb require Update image reference for Travis Add support for Elasticsearch 1.5.2 Remove superfluous newlines Fix scope syntax Revert "Updating bundler on Travis" Remove trace_execution_scoped blocks Add logging of LoadError in relation to missing NewRelic module Wrap newrelic calls in a rescue block Update development db to match others. We're using 3.0.14 in prod, test with that Install newrelic_rpm to < 4.0 Install newrelic_rpm to < 4.0 Enhance logging. Verify that ES is configured properly before starting Adjust and add search rake tasks. Minor changes to rebuild_index. Better filtering for rake search:initialize behavior Partially updated Search API spec Replaced Tire with elasticsearch-model Load app.rb from Rakefile to fix reindex. Fix typo in reindex task Load app.rb from Rakefile to fix reindex. Fix typo in reindex task Pin the ES container to the current version we support. tests failures, travis cache could be the culprit moving docker compose file to .travis dir Make the ruby linking error go away. Run tests using the es and mongo containers with docker-compose. use 16.04 latest docker image for forums Add a default response size and a response size limit. Add method tracing inside user. Inline respec expected values. Fix respec tests. Remove sort order. MA-2139: Mark thread as read on thread and comment creation/update/actions Specify an owner Add an OEP-2 compliant openedx.yaml file Add the ability to request a thread without its responses. MA-2678: replace use of 'updated_at' for 'read' state Try plucking instead of mapping. Don't need to require NR method tracer; we're not tracing any methods. Back to what it was. Faster that way. -_- Clean up usages of Mongoid to generate cleaner code / queries. Add tracing to #to_hash for Comment/CommentThread. Revert "Merge pull request openedx#196 from edx/platform/upgrade-to-ruby23" Use proper relations instead of forcefully loading relations by hand. Wait 10s after starting ElasticSearch. Wait 10s for ES to come online. Try waiting 10s for ES to come online. Switch to 2.3.0 since that's what rbenv currently supports. Upgrade to Ruby 2.3.1 Switch to using MongoDB 3.0 in tests. Add message for rack config load. Fix new relic traces. Revert "Replaced Tire with elasticsearch-model" Updated the Mongoid configuration options Update new relic agent and fix. Reduced merges, do them in place, and reduce allocations. Handle comment context in cases of missing parent thread. Upgrade nokogiri to address security issues in libxml2 sparklemotion/nokogiri#1473 MA-2419: created endpoint to mark thread as read for user Replaced Tire with elasticsearch-model return thread's last_activity_at in response object for thread endpoints jia/MA-1815 retrieve count for child comments Update newrelic plugin. MA-1930 add thread count in GET updating nokogiri Updated Commentable API spec Partially Cleaned Comment Thread API tests Refactored rake tasks Removed broken rake tasks Updated Query spec Updated i18n spec Updated Abuse API spec Updated Comment API spec Added factory_girl Organized rake tasks into separate files Added binstubs ...
Pretty self-explanatory. Will require a corresponding change in edx/configuration if accepted / deployed.