Popen error message missing information
Created by: ashireman
During migration from one server to another, the satellites directory was not created. Server migration documentation is limited or non-existent. Attempting to run gitlab:satellites:create gave an error message of:
Creating satellites for ...
Team Resources / Configurator ...
rake aborted!
No such file or directory - chdir
No hints are provided as to what file or directory is missing. Adding more information to this error message will help others track down issues. Additionally, a full gitlab:check shows that everything is 'ok'. Steps to solve issue are described at end. Full trace below for gitlab:satellites:create
git@gitlab:~/gitlab$ bundle exec rake gitlab:satellites:create RAILS_ENV=produc
tion --trace
** Invoke gitlab:satellites:create (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute gitlab:satellites:create
Creating satellites for ...
Team Resources / Configurator ...
rake aborted!
No such file or directory - chdir
/usr/local/lib/ruby/2.0.0/open3.rb:211:in `spawn'
/usr/local/lib/ruby/2.0.0/open3.rb:211:in `popen_run'
/usr/local/lib/ruby/2.0.0/open3.rb:99:in `popen3'
/home/git/gitlab/lib/gitlab/popen.rb:9:in `popen'
/home/git/gitlab/lib/gitlab/satellite/satellite.rb:36:in `create'
/home/git/gitlab/lib/tasks/gitlab/enable_automerge.rake:31:in `block in create_s
atellites'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.2/lib/active_rec
ord/relation/batches.rb:26:in `block (2 levels) in find_each'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.2/lib/active_rec
ord/relation/batches.rb:26:in `each'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.2/lib/active_rec
ord/relation/batches.rb:26:in `block in find_each'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.2/lib/active_rec
ord/relation/batches.rb:75:in `find_in_batches'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activerecord-deprecated_finders
-1.0.3/lib/active_record/deprecated_finders/relation.rb:70:in `find_in_batches'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.2/lib/active_rec
ord/relation/batches.rb:25:in `find_each'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.2/lib/active_rec
ord/querying.rb:8:in `find_each'
/home/git/gitlab/lib/tasks/gitlab/enable_automerge.rake:19:in `create_satellites'
/home/git/gitlab/lib/tasks/gitlab/enable_automerge.rake:5:in `block (3 levels) in
<top (required)>'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:236:
in `call'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:236:
in `block in execute'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:231:
in `each'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:231:
in `execute'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:175:
in `block in invoke_with_call_chain'
/usr/local/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:168:
in `invoke_with_call_chain'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:161:
in `invoke'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.
rb:149:in `invoke_task'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.
rb:106:in `block (2 levels) in top_level'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.
rb:106:in `each'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.
rb:106:in `block in top_level'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.
rb:115:in `run_with_threads'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.
rb:100:in `top_level'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.
rb:78:in `block in run'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.
rb:165:in `standard_exception_handling'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.
rb:75:in `run'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/bin/rake:33:in `<top
(required)>'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/bin/rake:23:in `load'
/home/git/gitlab/vendor/bundle/ruby/2.0.0/bin/rake:23:in `<main>'
Tasks: TOP => gitlab:satellites:create
git@gitlab:~/gitlab$
In order to solve the "No such file or directory - chdir" for Gitlab, the directory needs to exist. Since the directory does not exist (causing this error), the solution is simply to create it. But, this should be able to be taken care of as part of the application check. I propose that either as part of the rake 'check', that this directory be confirmed as writable, or, if it doesn't exist that it be created.