This is a copy of #
CPR-40. The conflict causes serious problems.
My puppet master server has apt.puppetlabs.com configured as package source.
Yesterday it had the following packages installed:
- puppetserver version something
- puppetdb version something
- puppet version 3.8.6-1puppetlabs1
- vim-puppet version 3.8.6-1puppetlabs1
Our manifests ensure=>latest on vim-puppet and ensure => installed on other packages.
Then puppet and vim-puppet version 3.8.7-1puppetlabs1 was released and Puppet installs the newer vim-puppet. But because it conflicts with puppet (<< 3.8.7-1puppetlabs1) the package puppet is removed. And because the packages puppetserver and puppetdb depend on that, they get removed too, breaking the whole puppet server functionality.
The problem is the conflict in package vim-puppet. I understand what it should prevent, but this is not the correct solution. Turning around the conflict-relationship (let puppet conflict with lesser vim-puppet packages) should work just as well. This will of course deinstall vim-puppet if you ensure=>latest puppet but that at least will not result in a broken puppet server setup.
Or better: let vim-puppet depend on the wanted version of puppet instead of conflicting with all unwanted versions.