Feature #22738
closedAdd a check for the symlink presence on that directory - /etc/smart_proxy_dynflow_core/settings.d
Description
Upgrade from 6.2 to 6.3 fails with 'Could not remove existing file'
Steps to Reproduce:
1. Have a 6.2.14 with REx enabled.
2. Have the following in place:
/etc/smart_proxy_dynflow_core/settings.d should be a folder and contain the following symlink:
lrwxrwxrwx. 1 root root 54 Sep 19 2016 smart_proxy_remote_execution_ssh_core.yml -> /etc/foreman-proxy/settings.d/remote_execution_ssh.yml
3. Run the foreman-maintain upgrade from 6.2.14 to 6.3
Actual results:
Installation fails with:
Could not remove existing file
/usr/share/ruby/vendor_ruby/puppet/type/file/target.rb:43:in `mklink'
/usr/share/ruby/vendor_ruby/puppet/type/file/ensure.rb:101:in `block (2 levels) in <module:Puppet>'
/usr/share/ruby/vendor_ruby/puppet/property.rb:197:in `call_valuemethod'
Expected results:
This should be changed. We could instead forcefully remove the directory, as the upgrade process will re-create it an ensure the proper symlink
in that scenario (which at this point appears to be converting the symlink to instead be the 'settings.d' folder rather than the files within it).
Installation should succeed.
Setting this on foreman-maintain to add a check for the symlink presence on that directory and in case it's there, suggesting removing that.
Updated by The Foreman Bot about 6 years ago
- Pull request https://github.com/theforeman/foreman_maintain/pull/157 added
Updated by Kavita Gaikwad about 6 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
Applied in changeset foreman_maintain|da73bad92e55b9d7afde5991a4efe6eea78b46a7.