Bug 999013

Summary: Production Ruby app did not get migrated correctly
Product: OpenShift Online Reporter: Clayton Coleman <ccoleman>
Component: ContainersAssignee: Paul Morie <pmorie>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: 2.xCC: agrimm, bmeng, dmace, hasari, jhonce, xtian
Target Milestone: ---Keywords: SupportQuestion
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-29 12:53:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 991327    

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.