Issue #560
Erro ao convergir receitas do gitlab
O usuário git
não tem permissão de escrita no diretório /usr/lib/gitlab/tmp/cache
(dono = root:root) e isto quebra a execução do rake assets:precompile
presente na receita do gitlab, segue trace completo abaixo:
integration: [2015-12-10T14:34:43+00:00] INFO: Processing execute[precompile-assets] action run (gitlab::default line 108)
integration:
integration: ================================================================================
integration: Error executing action `run` on resource 'execute[precompile-assets]'
integration: ================================================================================
integration:
integration: Mixlib::ShellOut::ShellCommandFailed
integration: ------------------------------------
integration: Expected process to exit with [0], but received '1'
integration: ---- Begin output of bundle exec rake assets:precompile RAILS_ENV=production ----
integration: STDOUT:
integration: STDERR: rake aborted!
integration: Errno::EACCES: Permission denied - /usr/lib/gitlab/tmp/cache/assets/production/sprockets/c6b91fc699e79d6044e6da4db7c75b3f
integration:
integration: Tasks: TOP => assets:precompile
integration: (See full trace by running task with --trace)
integration: ---- End output of bundle exec rake assets:precompile RAILS_ENV=production ----
integration: Ran bundle exec rake assets:precompile RAILS_ENV=production returned 1
integration:
integration: Resource Declaration:
integration: ---------------------
integration: # In /var/tmp/chef.joenio/cookbooks/gitlab/recipes/default.rb
integration:
integration: 108: execute 'precompile-assets' do
integration: 109: user 'git'
integration: 110: cwd '/usr/lib/gitlab'
integration: 111: command 'bundle exec rake assets:precompile RAILS_ENV=production'
integration: 112: action :nothing
integration: 113: end
integration:
integration: Compiled Resource:
integration: ------------------
integration: # Declared in /var/tmp/chef.joenio/cookbooks/gitlab/recipes/default.rb:108:in `from_file'
integration:
integration: execute("precompile-assets") do
integration: action [:nothing]
integration: retries 0
integration: retry_delay 2
integration: default_guard_interpreter :execute
integration: command "bundle exec rake assets:precompile RAILS_ENV=production"
integration: backup 5
integration: cwd "/usr/lib/gitlab"
integration: returns 0
integration: user "git"
integration: declared_type :execute
integration: cookbook_name :gitlab
integration: recipe_name "default"
integration: end
integration:
integration: [2015-12-10T14:34:53+00:00] INFO: yum_package[colab] sending restart action to service[colab] (delayed)
Fiz uma correção manual das permissões deste diretório para git:git
e passou, mas a solução correta passa por primeiro descobrir quem está criando este diretório e porque ele está ficando com permissões de escrita apenas para root:root
.
-
Joenio, estamos vendo isto aqui.
-
Fizemos uma adaptação na receita do gitlab, provavelmente o gitlab possui alguma rotina interna, que cria um diretório de cache em tempo de execução, e coloca o usuário root como dono.
-
@davidcarlos essa correção já está na master e na stable-4.x ? Caso já esteja feche esta issue, caso contrário, jogue esse commit pras respectivas branches.
-
@kanashiro eu preciso testar essa correção antes. Quando eu finalizar os testes eu mando pra master, e depois jogo na stable-4.x
-
Eu crie uma nova branch a partir da master com esse fix. https://softwarepublico.gov.br/gitlab/softwarepublico/softwarepublico/commit/2303f335af9b9675079b0bc9d27dd80d03bcbcf1. Iremos fazer os testes nos ambientes do opennebula.
-
Status changed to closed