GDK on Windows with Vagrant+Virtualbox: "Errno::ETXTBSY: Text file busy @ rb_file_s_rename - /vagrant/gitlab/spec/fixtures/p1_build_artifacts.zip"
After failing on setting up GDK on Linux, (see the issue I opened just a few hours ago), I now tried to follow the instructions by the letter for running it on Windows with Vagrant and Virtualbox, and - again... - it just doesn't work...
Host: Windows 10 64bit with Virtualbox and Vagrant (2.1.1) installed.
Cloned the GDK, cd into the cloned folder, and then execute vagrant up --provider=virtualbox --provision.
Then vagrant ssh to enter the VM and then gdk install gitlab_repo=https://gitlab.com/zertrin/gitlab-ce.git
During the postgresql/data target, while seeding the pipelines, it fails with Errno::ETXTBSY: Text file busy @ rb_file_s_rename - (/vagrant/gitlab/spec/fixtures/p1_build_artifacts.zip, /vagrant/gitlab/shared/artifacts/tmp/work/1526450082-4257-0001-7829/p1_build_artifacts.zip)
Here is the relevant part of the log:
[--- omitted previous output ---]
== Seed from /vagrant/gitlab/db/fixtures/development/13_comments.rb
......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
OK
== Seed from /vagrant/gitlab/db/fixtures/development/14_pipelines.rb
rake aborted!
Errno::ETXTBSY: Text file busy @ rb_file_s_rename - (/vagrant/gitlab/spec/fixtures/p1_build_artifacts.zip, /vagrant/gitlab/shared/artifacts/tmp/work/1526450082-4257-0001-7829/p1_build_artifacts.zip)
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:46:in `eval'
/usr/share/rvm/gems/ruby-2.3.7/gems/carrierwave-1.2.1/lib/carrierwave/sanitized_file.rb:200:in `move!'
/usr/share/rvm/gems/ruby-2.3.7/gems/carrierwave-1.2.1/lib/carrierwave/sanitized_file.rb:186:in `move_to'
/usr/share/rvm/gems/ruby-2.3.7/gems/carrierwave-1.2.1/lib/carrierwave/uploader/cache.rb:132:in `cache!'
/vagrant/gitlab/app/uploaders/object_storage.rb:295:in `cache!'
/usr/share/rvm/gems/ruby-2.3.7/gems/carrierwave-1.2.1/lib/carrierwave/mounter.rb:44:in `block in cache'
/usr/share/rvm/gems/ruby-2.3.7/gems/carrierwave-1.2.1/lib/carrierwave/mounter.rb:42:in `map'
/usr/share/rvm/gems/ruby-2.3.7/gems/carrierwave-1.2.1/lib/carrierwave/mounter.rb:42:in `cache'
/usr/share/rvm/gems/ruby-2.3.7/gems/carrierwave-1.2.1/lib/carrierwave/mount.rb:146:in `file='
/usr/share/rvm/gems/ruby-2.3.7/gems/carrierwave-1.2.1/lib/carrierwave/orm/activerecord.rb:70:in `file='
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/attribute_assignment.rb:54:in `public_send'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/attribute_assignment.rb:54:in `_assign_attribute'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/attribute_assignment.rb:41:in `block in assign_attributes'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/attribute_assignment.rb:35:in `each'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/attribute_assignment.rb:35:in `assign_attributes'
/usr/share/rvm/gems/ruby-2.3.7/gems/attr_encrypted-3.1.0/lib/attr_encrypted/adapters/active_record.rb:28:in `perform_attribute_assignment'
/usr/share/rvm/gems/ruby-2.3.7/gems/attr_encrypted-3.1.0/lib/attr_encrypted/adapters/active_record.rb:36:in `assign_attributes'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/core.rb:566:in `init_attributes'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/core.rb:281:in `initialize'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/inheritance.rb:61:in `new'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/inheritance.rb:61:in `new'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/reflection.rb:141:in `build_association'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/associations/association.rb:250:in `build_record'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/associations/collection_association.rb:157:in `build'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/associations/collection_proxy.rb:259:in `build'
(eval):127:in `block in setup_artifacts'
(eval):179:in `block in artifacts_cache_file'
(eval):178:in `open'
(eval):178:in `artifacts_cache_file'
(eval):126:in `setup_artifacts'
(eval):113:in `block in build_create!'
(eval):108:in `tap'
(eval):108:in `build_create!'
(eval):58:in `block (2 levels) in seed!'
(eval):58:in `each'
(eval):58:in `block in seed!'
(eval):56:in `each'
(eval):56:in `seed!'
(eval):187:in `block (4 levels) in run_file'
(eval):185:in `each'
(eval):185:in `block (3 levels) in run_file'
/vagrant/gitlab/lib/gitlab/seeder.rb:21:in `quiet'
(eval):184:in `block (2 levels) in run_file'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:46:in `eval'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:46:in `block (2 levels) in run_file'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:58:in `block in open'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:57:in `open'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:57:in `open'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:36:in `block in run_file'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
/usr/share/rvm/gems/ruby-2.3.7/gems/activerecord-4.2.10/lib/active_record/transactions.rb:220:in `transaction'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:35:in `run_file'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:26:in `block in run'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:25:in `each'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu/runner.rb:25:in `run'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/seed-fu.rb:29:in `seed'
/usr/share/rvm/gems/ruby-2.3.7/gems/seed-fu-2.3.7/lib/tasks/seed_fu.rake:36:in `block (2 levels) in <top (required)>'
/vagrant/gitlab/lib/tasks/gitlab/setup.rake:31:in `setup_db'
/vagrant/gitlab/lib/tasks/gitlab/setup.rake:5:in `block (2 levels) in <top (required)>'
/vagrant/gitlab/lib/tasks/dev.rake:7:in `block (2 levels) in <top (required)>'
/usr/share/rvm/gems/ruby-2.3.7/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/usr/share/rvm/gems/ruby-2.3.7/bin/ruby_executable_hooks:15:in `eval'
/usr/share/rvm/gems/ruby-2.3.7/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:seed_fu
(See full trace by running task with --trace)
support/bootstrap-rails failed
Makefile:252: recipe for target 'postgresql/data' failed
make: *** [postgresql/data] Error 1
I tried to see if it was intermittent by doing the following:
- ensure postgresql was not running in the VM after the abort seen above [OK]
-
mv postgresql/data postgresql/data-bakto force the Makefile to reprocess thepostgresql/datatarget - re-run
gdk install gitlab_repo=https://gitlab.com/zertrin/gitlab-ce.git - Notice that this fails again exactly as previously (same error at the same place with the same file)
Slight rant out of exasperation trying to get GDK running, feel free to skip:
I'm beginning to wonder if those recipes with Vagrant were tested at all. Last time I tried (1.5 years ago) that was the same result of not being able to get it running just by following the given instructions. Back then, I also tried the recipes on Windows and Linux and none of them worked (again, at different stages...). This makes it very hard for people like me who just want to contribute minor fixes to GitLab and cannot afford to dedicate a native install machine to Gitlab and just want a way to run gitlab development environment in a contained way (to easily destroy it once done and start fresh next time I want to contribute to something else).