Bug 1348434 - internal error: Unable to apply rule 'The name org.fedoraproject.FirewallD1 was not provided by any .service files'
Summary: internal error: Unable to apply rule 'The name org.fedoraproject.FirewallD1 w...
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Virtualization Tools
Classification: Community
Component: libvirt
Version: unspecified
Hardware: Unspecified
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Libvirt Maintainers
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: ocp-47-z-tracker
TreeView+ depends on / blocked
 
Reported: 2016-06-21 07:38 UTC by Damian Nowak
Modified: 2020-12-16 11:51 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1544937 (view as bug list)
Environment:
Last Closed: 2016-06-22 11:31:50 UTC
Embargoed:


Attachments (Terms of Use)

Description Damian Nowak 2016-06-21 07:38:19 UTC
After several days of work, libvirt no longer wanted to start VMs.

root@ovh1 ~ # virsh start 138_xy.com_abcd
error: Failed to start domain 138_xy.com_abcd
error: The name org.fedoraproject.FirewallD1 was not provided by any .service files

I stumbled upon a piece of advise on the internet: "Solution : libvirtd restart is needed between firewalld stopped and iptables started." https://github.com/redhat-cip/infra-virt#troubleshooting 

I would expect to not have to restart libvirtd.

Package info - CentOS 7.2:

Name        : libvirt
Arch        : x86_64
Version     : 1.2.17
Release     : 13.el7_2.4

Comment 1 Laine Stump 2016-06-21 13:43:26 UTC
We discussed this at the time firewalld support was added to libvirt, and decided that the occurrence of starting/stopping firewalld is quite rare, and the solution (restarting libvirtd) is simple. That, combined with the difficulty of getting it right *without* a libvirtd restart, led to the decision to not support switching from firewalld use to raw iptables use without restarting libvirtd.

That said, it might be nice if we could catch this particular condition and report something more useful.

Comment 2 Cole Robinson 2016-06-22 11:31:50 UTC
(In reply to Laine Stump from comment #1)
> We discussed this at the time firewalld support was added to libvirt, and
> decided that the occurrence of starting/stopping firewalld is quite rare,
> and the solution (restarting libvirtd) is simple. That, combined with the
> difficulty of getting it right *without* a libvirtd restart, led to the
> decision to not support switching from firewalld use to raw iptables use
> without restarting libvirtd.
> 

Makes sense to me.

> That said, it might be nice if we could catch this particular condition and
> report something more useful.

IMO it's not worth fixing... how do we distinguish between a user deliberately stopping firewalld, or firewalld crashing, or just connection fails for other reasons? We could throw in a hint but if a user deliberately disables firewalld, and libvirtd throws an error like that, I think it's a pretty good indication that a libvirtd restart is worth a shot.

Plus that linked page with the troubleshooting section, the steps at the top of the page should be stick a libvirtd restart after disabling firewalld. Their steps basically enforce hitting that error

Closing as DEFERRED, but if someone has suggestions for improving the error that avoid that ambiguity I suggest sending a patch to libvir-list

Comment 3 Damian Nowak 2016-06-23 02:08:01 UTC
> if a user deliberately disables firewalld, and libvirtd throws an error like that, I think it's a pretty good indication that a libvirtd restart is worth a shot.

How can user be aware that changing something in the system may affect a different service, like libvirt? What if sysadmin #1 changes while sysadmin #2 gets that error? (Actually my case) This type of message belongs to a category of wtf-like messages that only Google can help with.

Why not something like that?

root@ovh1 ~ # virsh start 138_xy.com_abcd
error: Failed to start domain 138_xy.com_abcd
error: The name org.fedoraproject.FirewallD1 was not provided by any .service files
error: If you disabled Firewalld after libvirtd start, please restart libvirtd

It makes everyone's life easier at the expense of a couple extra lines of code. Libvirt error messages are typically very informative so it would play well with the rest.

Comment 4 Michael Liu 2016-06-30 06:24:32 UTC
(In reply to Damian Nowak from comment #3)

> 
> It makes everyone's life easier at the expense of a couple extra lines of
> code. Libvirt error messages are typically very informative so it would play
> well with the rest.

For beginners,if we have these debugging information,it will be easier to solve the problem.

Comment 5 Damian Nowak 2016-07-02 20:03:51 UTC
Not just for beginners - it's for everyone's convenience.

Comment 6 R P Herrold 2018-02-13 19:08:39 UTC
This problem still occurs, and its cause is 'invisible' (we manipulate the firewalld, for network ACL reasons)

impairing / interrupting libvirtd connections (mostly interior networks facing) with a restart is a problem

Comment 7 R P Herrold 2018-02-13 19:09:20 UTC
it showed up in my comment 13 at:

https://bugzilla.redhat.com/show_bug.cgi?id=1486803


Note You need to log in before you can comment on or make changes to this bug.