Bug 999013 - Production Ruby app did not get migrated correctly
Summary: Production Ruby app did not get migrated correctly
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Online
Classification: Red Hat
Component: Containers
Version: 2.x
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: ---
Assignee: Paul Morie
QA Contact: libra bugs
URL:
Whiteboard:
: 999667 (view as bug list)
Depends On:
Blocks: 991327
TreeView+ depends on / blocked
 
Reported: 2013-08-20 14:17 UTC by Clayton Coleman
Modified: 2015-05-14 23:26 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-08-29 12:53:58 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Clayton Coleman 2013-08-20 14:17:49 UTC
The cart reflector cartreflect-claytondev.rhcloud.com (gear 519817c8500446121700010b) is a Ruby cart and it appears at some point in production the ERB files weren't migrated correctly.

When I SSH in I get 

[Aug 13 10:10 cc4 ~/code/li]$ OPENSHIFT_CONFIG=prod rhc ssh cartreflect
Connecting to 519817c8500446121700010b.com ...
bash: export: `OPENSHIFT_RUBY_LOG_DIR.erb=<%= ENV['OPENSHIFT_RUBY_DIR'] %>/logs/': not a valid identifier
bash: export: `OPENSHIFT_RUBY_LOG_DIR.erb=<%= ENV['OPENSHIFT_RUBY_DIR'] %>/logs/': not a valid identifier
bash: export: `OPENSHIFT_RUBY_LOG_DIR.erb=<%= ENV['OPENSHIFT_RUBY_DIR'] %>/logs/': not a valid identifier

...

And then when I find . -name *.erb I see

[cartreflect-claytondev.rhcloud.com 519817c8500446121700010b]\> find . -name *.erb
./ruby/env/OPENSHIFT_RUBY_LOG_DIR.erb
./ruby/versions/shared/etc/conf.d/openshift.conf.erb
./ruby/versions/1.9/etc/conf.d/openshift.conf.erb
./ruby/versions/1.8/etc/conf.d/openshift.conf.erb
./ruby/versions/2.0/etc/conf.d/openshift.conf.erb

It's possible other apps were affected - this app gets frequent traffic (10-40 requests a day) so it might be idled at various points.

Comment 1 Paul Morie 2013-08-20 19:59:08 UTC
It looks like there's a hole in the compatible upgrade workflow where an env ERB will not be removed unless it's reported in a cartridge's managed_files.yml 'processed_templates' section.

Comment 2 openshift-github-bot 2013-08-21 18:01:45 UTC
Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/8f6838a3d639e7cff6db7553e7f8046dc2ba2fe0
Fix bug 999013: always remove unprocessed env/*.erb files from cartridge dir during compatible upgrade

Comment 3 Dan McPherson 2013-08-21 20:12:39 UTC
*** Bug 999667 has been marked as a duplicate of this bug. ***

Comment 4 Meng Bo 2013-08-22 09:19:55 UTC
Checked on devenv-stage_448,

Do upgrade and migration with the cartridge-reflector app.
After migration, there is no such error when ssh login.

And no .erb files left under cartridge/env dir.

[rubyapp-bmengdevstg1.dev.rhcloud.com 258754089030647598284800]\> find -name *erb
./ruby/versions/shared/etc/conf.d/openshift.conf.erb
./ruby/versions/1.8/etc/conf.d/openshift.conf.erb
./ruby/versions/2.0/etc/conf.d/openshift.conf.erb
./ruby/versions/1.9/etc/conf.d/openshift.conf.erb
./app-root/runtime/repo/vendor/bundle/ruby/1.9.1/gems/sinatra-1.4.2/test/views/calc.html.erb
./app-root/runtime/repo/vendor/bundle/ruby/1.9.1/gems/sinatra-1.4.2/test/views/utf8.erb
./app-root/runtime/repo/vendor/bundle/ruby/1.9.1/gems/sinatra-1.4.2/test/views/layout2.erb
./app-root/runtime/repo/vendor/bundle/ruby/1.9.1/gems/sinatra-1.4.2/test/views/error.erb
./app-root/runtime/repo/vendor/bundle/ruby/1.9.1/gems/sinatra-1.4.2/test/views/hello.erb
./app-root/runtime/repo/vendor/bundle/ruby/1.9.1/gems/sinatra-1.4.2/test/views/ascii.erb


Move bug to verified.


Note You need to log in before you can comment on or make changes to this bug.