Description of problem ====================== This is on a fedora 20 system having just run yum update, and after installing the Juno RDO rpm (http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpm). While running packstack --allinone, it fails while trying to remove the firewalld-0.3.11-3.fc20.noarch rpm. This is because anaconda has a dependency on firewalld. The log from puppet: 1;31mError: /Stage[main]/Firewall::Linux::Redhat/Package[firewalld]/ensure: change from 0.3.11-3.fc20 to absent failed: Execution of '/usr/bin/rpm -e firewalld-0.3.11-3.fc20.noarch' returned 1: error: Failed dependencies: firewalld >= 0.3.5-1 is needed by (installed) anaconda-20.25.16-1.fc20.x86_64 firewalld = 0.3.11-3.fc20 is needed by (installed) firewall-config-0.3.11-3.fc20.noarch I can manually work around this by issuing `yum remove firewalld` which will remove the anaconda dependency as well Version-Release number of selected component (if applicable) ============================================================= packstack Juno 2014.2.dev1266.g63d9c50 How reproducible ================ Steps to Reproduce ================== 1. Install Fedora 20 2. yum update 3. yum groupinstall "KDE Plasma Workspaces" 4. sudo yum install http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpm 5. sudo yum install -y openstack-packstack 6. packstack --allinone Actual results ============== Errors: Copying Puppet modules and manifests [ DONE ] Applying 192.168.122.48_prescript.pp 192.168.122.48_prescript.pp: [ ERROR ] Applying Puppet manifests [ ERROR ] ERROR : Error appeared during Puppet run: 192.168.122.48_prescript.pp Error: Execution of '/usr/bin/rpm -e firewalld-0.3.11-3.fc20.noarch' returned 1: error: Failed dependencies: You will find full trace in log /var/tmp/packstack/20141001-080818-TOTPkh/manifests/192.168.122.48_prescript.pp.log Expected results: Additional info:
I am experiencing this same problem on CentOS7
> Error: /Stage[main]/Firewall::Linux::Redhat/Package[firewalld]/ensure: > change from 0.3.11-3.fc20 to absent failed: Execution of '/usr/bin/rpm -e > firewalld-0.3.11-3.fc20.noarch' returned 1: error: Failed dependencies: > firewalld >= 0.3.5-1 is needed by (installed) > anaconda-20.25.16-1.fc20.x86_64 > firewalld = 0.3.11-3.fc20 is needed by (installed) > firewall-config-0.3.11-3.fc20.noarch So this is in puppet firewall module, Packstack just disables firewalld in templates/prescript.pp: service { "firewalld": ensure => "stopped", enable => false, before => Service['iptables'], } I'm not sure why is puppet module going for nuclear option. > I can manually work around this by issuing `yum remove firewalld` which will > remove the anaconda dependency as well That's a general issue with RPM handling in puppet package provider, AFAICT it tries to be RPM-distro agnostic by using rpm as the common lowest-level tool but that fails miserably like here due to dependencies or that it doesn't handle provides...
> I'm not sure why is puppet module going for nuclear option. It's from https://github.com/puppetlabs/puppetlabs-firewall/commit/ad961d79e433bf65ca8ff42bad89d00f6d127436 Lars, I saw you worked on puppetlabs-firewall, do you know why is firewalld _package removal_ required? Isn't firewalld service disabling like in Packstack enough?
I think that simply disabling it may lead to unexpected problems if someone were to accidentally enable it, or run it, or whatever. We get enough firewall-related problem reports as it is. It's not something I feel strongly about, though.
(In reply to Rich Bowen from comment #2) > I am experiencing this same problem on CentOS7 me too. Workaround solution. sudo yum remove firewalld Then re-run packstack with the same answer file. packstack --answer-file=<generated packstack file>
Same thing on F21. Pastes of logs: prescript.pp.log - http://paste.fedoraproject.org/138578/22663401/ setup.log - http://paste.fedoraproject.org/138577/14122663/ stdout - http://paste.fedoraproject.org/138585/22667921/
recreated on f21..
*** This bug has been marked as a duplicate of bug 1148399 ***