You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whimsical.apache.org by Sam Ruby <ru...@intertwingly.net> on 2016/07/06 14:48:54 UTC

potential breakage ahead: upcoming upgrade to ruby2.3.1

Just a heads up... I'm testing on a local vagrant/virtualbox VM updates 
which will upgrade cronjobs, cgi scripts, and rack applications to ruby 
2.3.1:

https://github.com/apache/infrastructure-puppet/compare/deployment...rubys:rubys/whimsy-ruby2.3.1?expand=1

The key line is:

SetEnv PATH /usr/local/rvm/wrappers/ruby-2.3.1:${PATH}

This allows cgi scripts that make use of "#!/usr/bin/env ruby" to use 
ruby 2.3.1; and does so without changing the default version of ruby 
which would break things like puppet.

vagrant@whimsy-vm3:~$ curl http://localhost/test.cgi
CONTEXT_DOCUMENT_ROOT /x1/srv/whimsy/www
CONTEXT_PREFIX
DOCUMENT_ROOT /x1/srv/whimsy/www
GATEWAY_INTERFACE CGI/1.1
GEM_HOME /usr/local/rvm/gems/ruby-2.3.1
GEM_PATH 
/usr/local/rvm/gems/ruby-2.3.1:/usr/local/rvm/gems/ruby-2.3.1@global
HTTP_ACCEPT */*
HTTP_AUTHORIZATION
HTTP_HOST localhost
HTTP_USER_AGENT curl/7.35.0
IRBRC /usr/local/rvm/rubies/ruby-2.3.1/.irbrc
MY_RUBY_HOME /usr/local/rvm/rubies/ruby-2.3.1
PATH 
/usr/local/rvm/gems/ruby-2.3.1/bin:/usr/local/rvm/gems/ruby-2.3.1@global/bin:/usr/local/rvm/rubies/ruby-2.3.1/bin:/usr/local/rvm/wrappers/ruby-2.3.1:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD /x1/srv/whimsy/www
QUERY_STRING
REMOTE_ADDR 127.0.0.1
REMOTE_PORT 37863
REQUEST_METHOD GET
REQUEST_SCHEME http
REQUEST_URI /test.cgi
RUBY_VERSION ruby-2.3.1
SCRIPT_FILENAME /x1/srv/whimsy/www/test.cgi
SCRIPT_NAME /test.cgi
SCRIPT_URI http://localhost/test.cgi
SCRIPT_URL /test.cgi
SERVER_ADDR 127.0.0.1
SERVER_ADMIN [no address given]
SERVER_NAME localhost
SERVER_PORT 80
SERVER_PROTOCOL HTTP/1.1
SERVER_SIGNATURE
SERVER_SOFTWARE Apache/2.4.7 (Ubuntu)
SHLVL 0

- Sam Ruby

Re: potential breakage ahead: upcoming upgrade to ruby2.3.1

Posted by Sam Ruby <ru...@intertwingly.net>.
Update: change has been deployed and other than a brief downtime,
things appear to be working normally.  If anybody sees something
broken, please report it.

Apparently the initial puppet deploy didn't complete on the first
attempt, leaving the machine in a state where the new version of Ruby
was installed but the necessary gems weren't.  This was possibly due
to some errant amanda (backup) processes going haywire.

- Sam Ruby

On Wed, Jul 6, 2016 at 10:48 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> Just a heads up... I'm testing on a local vagrant/virtualbox VM updates
> which will upgrade cronjobs, cgi scripts, and rack applications to ruby
> 2.3.1:
>
> https://github.com/apache/infrastructure-puppet/compare/deployment...rubys:rubys/whimsy-ruby2.3.1?expand=1
>
> The key line is:
>
> SetEnv PATH /usr/local/rvm/wrappers/ruby-2.3.1:${PATH}
>
> This allows cgi scripts that make use of "#!/usr/bin/env ruby" to use ruby
> 2.3.1; and does so without changing the default version of ruby which would
> break things like puppet.
>
> vagrant@whimsy-vm3:~$ curl http://localhost/test.cgi
> CONTEXT_DOCUMENT_ROOT /x1/srv/whimsy/www
> CONTEXT_PREFIX
> DOCUMENT_ROOT /x1/srv/whimsy/www
> GATEWAY_INTERFACE CGI/1.1
> GEM_HOME /usr/local/rvm/gems/ruby-2.3.1
> GEM_PATH
> /usr/local/rvm/gems/ruby-2.3.1:/usr/local/rvm/gems/ruby-2.3.1@global
> HTTP_ACCEPT */*
> HTTP_AUTHORIZATION
> HTTP_HOST localhost
> HTTP_USER_AGENT curl/7.35.0
> IRBRC /usr/local/rvm/rubies/ruby-2.3.1/.irbrc
> MY_RUBY_HOME /usr/local/rvm/rubies/ruby-2.3.1
> PATH
> /usr/local/rvm/gems/ruby-2.3.1/bin:/usr/local/rvm/gems/ruby-2.3.1@global/bin:/usr/local/rvm/rubies/ruby-2.3.1/bin:/usr/local/rvm/wrappers/ruby-2.3.1:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
> PWD /x1/srv/whimsy/www
> QUERY_STRING
> REMOTE_ADDR 127.0.0.1
> REMOTE_PORT 37863
> REQUEST_METHOD GET
> REQUEST_SCHEME http
> REQUEST_URI /test.cgi
> RUBY_VERSION ruby-2.3.1
> SCRIPT_FILENAME /x1/srv/whimsy/www/test.cgi
> SCRIPT_NAME /test.cgi
> SCRIPT_URI http://localhost/test.cgi
> SCRIPT_URL /test.cgi
> SERVER_ADDR 127.0.0.1
> SERVER_ADMIN [no address given]
> SERVER_NAME localhost
> SERVER_PORT 80
> SERVER_PROTOCOL HTTP/1.1
> SERVER_SIGNATURE
> SERVER_SOFTWARE Apache/2.4.7 (Ubuntu)
> SHLVL 0
>
> - Sam Ruby