You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running mutiple pyenv_install as a user in a recipe (instead of old pyenv_user_install), the file /etc/profile.d/pyenv.sh gets replaced multiple times per chef run, and the second install errors out.
I expect a user install to not add anything to /etc/profile.d/, instead the user's ~/.profile maybe?
The code in question:
%w(user1 user2).each do |user|
pyenv_install 'user' do
user user
prefix_type 'user'
update_pyenv true
end
end
This fails with the following output:
================================================================================
Error executing action `checkout` on resource 'git[/home/athiede/.pyenv]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of git ls-remote "https://github.com/pyenv/pyenv.git" "master*" ----
STDOUT:
STDERR: /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout.rb:221:in `getgrnam': can't find group for athiede (ArgumentError)
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout.rb:221:in `gid'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout/unix.rb:164:in `set_group'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout/unix.rb:336:in `block in fork_subprocess'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout/unix.rb:321:in `fork'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout/unix.rb:321:in `fork_subprocess'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout/unix.rb:97:in `run_command'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout.rb:270:in `run_command'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout/helper.rb:154:in `__shell_out_command'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout/helper.rb:128:in `shell_out_compacted!'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/mixlib-shellout-3.2.7/lib/mixlib/shellout/helper.rb:54:in `shell_out!'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider/git.rb:390:in `git'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider/git.rb:350:in `git_ls_remote'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider/git.rb:300:in `remote_resolve_reference'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider/git.rb:287:in `target_revision'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider/git.rb:80:in `block (2 levels) in define_resource_requirements'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/mixin/why_run.rb:229:in `run'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/mixin/why_run.rb:322:in `block in run'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/mixin/why_run.rb:321:in `each'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/mixin/why_run.rb:321:in `run'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider.rb:257:in `process_resource_requirements'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider.rb:233:in `run_action'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource.rb:601:in `block in run_action'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource.rb:628:in `with_umask'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource.rb:600:in `run_action'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:74:in `run_action'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:108:in `block in run_all_actions'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:108:in `each'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:108:in `run_all_actions'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource_collection.rb:64:in `insert'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/dsl/declare_resource.rb:267:in `declare_resource'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/dsl/resources.rb:36:in `git'
from /var/cinc/cache/cookbooks/pyenv/resources/install.rb:71:in `block in class_from_file'
from (eval):2:in `block in action_install'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider.rb:304:in `instance_eval'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider.rb:304:in `compile_and_converge_action'
from (eval):2:in `action_install'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/provider.rb:245:in `run_action'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource.rb:601:in `block in run_action'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource.rb:628:in `with_umask'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource.rb:600:in `run_action'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:74:in `run_action'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:108:in `block in run_all_actions'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:108:in `each'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:108:in `run_all_actions'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:132:in `block in converge'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource_collection/resource_list.rb:96:in `block in execute_each_resource'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource_collection/stepable_iterator.rb:114:in `call_iterator_block'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource_collection/stepable_iterator.rb:103:in `iterate'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource_collection/stepable_iterator.rb:54:in `each_with_index'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/resource_collection/resource_list.rb:94:in `execute_each_resource'
from /opt/cinc/embedded/lib/ruby/3.1.0/forwardable.rb:238:in `execute_each_resource'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/runner.rb:130:in `converge'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/client.rb:852:in `block in converge'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/client.rb:847:in `catch'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/client.rb:847:in `converge'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/client.rb:871:in `converge_and_save'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/client.rb:289:in `run'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/application.rb:305:in `run_with_graceful_exit_option'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/application.rb:281:in `block in run_chef_client'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/local_mode.rb:42:in `with_server_connectivity'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/application.rb:264:in `run_chef_client'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/application/base.rb:352:in `run_application'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-18.0.185/lib/chef/application.rb:67:in `run'
from /opt/cinc/embedded/lib/ruby/gems/3.1.0/gems/chef-bin-18.0.185/bin/cinc-client:25:in `<top (required)>'
from /bin/cinc-client:184:in `load'
from /bin/cinc-client:184:in `<main>'
---- End output of git ls-remote "https://github.com/pyenv/pyenv.git" "master*" ----
Ran git ls-remote "https://github.com/pyenv/pyenv.git" "master*" returned 1
Cookbook Trace: (most recent call first)
----------------------------------------
/var/cinc/cache/cookbooks/pyenv/resources/install.rb:71:in `block in class_from_file'
Resource Declaration:
---------------------
# In /var/cinc/cache/cookbooks/pyenv/resources/install.rb
71: git new_resource.prefix do
72: repository new_resource.git_url
73: revision new_resource.git_ref
74: user new_resource.user
75: group new_resource.group
76: depth 1
77: action new_resource.update_pyenv ? :sync : :checkout
78: environment(new_resource.environment)
79: notifies :run, 'ruby_block[Add pyenv to PATH]', :immediately
80: notifies :run, 'execute[Initialize pyenv]', :immediately
81: end
82:
Compiled Resource:
------------------
# Declared in /var/cinc/cache/cookbooks/pyenv/resources/install.rb:71:in `block in class_from_file'
git("/home/athiede/.pyenv") do
action [:checkout]
default_guard_interpreter :default
declared_type :git
cookbook_name "vendavo-base-cfg"
recipe_name "python"
repository "https://github.com/pyenv/pyenv.git"
revision "master"
user "athiede"
group "athiede"
depth 1
destination "/home/athiede/.pyenv"
end
System Info:
------------
chef_version=18.0.185
platform=centos
platform_version=7.9.2009
ruby=ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]
program_name=/bin/cinc-client
executable=/opt/cinc/bin/cinc-client
🥞 Cookbook version
4.2.0
👩🍳 Chef-Infra Version
18.0.185 (cinc)
🎩 Platform details
CentOS 7 in Azure
Steps To Reproduce
Steps to reproduce the behavior:
run a recipe with this in it:
%w(user1 user2).each do |user|
pyenv_install 'user' do
user user
prefix_type 'user'
update_pyenv true
end
end
🚓 Expected behavior
I expect there to be two identical pyenvs setup.
➕ Additional context
The second user fails at this step: * git[/home/user2/.pyenv] action sync
This worked on version 3.4.0.
The text was updated successfully, but these errors were encountered:
👻 Brief Description
When running mutiple
pyenv_install
as auser
in a recipe (instead of oldpyenv_user_install
), the file/etc/profile.d/pyenv.sh
gets replaced multiple times per chef run, and the second install errors out.I expect a user install to not add anything to /etc/profile.d/, instead the user's ~/.profile maybe?
The code in question:
This fails with the following output:
🥞 Cookbook version
4.2.0
👩🍳 Chef-Infra Version
18.0.185 (cinc)
🎩 Platform details
CentOS 7 in Azure
Steps To Reproduce
Steps to reproduce the behavior:
run a recipe with this in it:
🚓 Expected behavior
I expect there to be two identical pyenvs setup.
➕ Additional context
The second user fails at this step:
* git[/home/user2/.pyenv] action sync
This worked on version 3.4.0.
The text was updated successfully, but these errors were encountered: