Bug 1234867
Summary: | support ovs via vdsm hook | ||||||
---|---|---|---|---|---|---|---|
Product: | [oVirt] vdsm | Reporter: | Petr Horáček <phoracek> | ||||
Component: | General | Assignee: | Petr Horáček <phoracek> | ||||
Status: | CLOSED WONTFIX | QA Contact: | Meni Yakove <myakove> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | --- | CC: | bazulay, bugs, danken, eedri, gklein, lsurette, mburman, mgoldboi, rbalakri, srevivo, ycui, ykaul, ylavi | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2016-06-15 08:29:42 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | Network | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Petr Horáček
2015-06-23 12:13:32 UTC
Created attachment 1107194 [details]
journal log of failed openvswitch start
On Fedora 22, when I try to create an OVS bridge, it fails and does not create the bridge in system:
[root@phoracekvm02 ~]# ovs-vsctl add-br br1
ovs-vsctl: Error detected while setting up 'br1'. See ovs-vswitchd log for details.
When I set selinux to permissive mode and then restart openvswitch service, it works as it should.
See attached journal log.
On every network create there is an error in the log: jsonrpc.Executor/1::INFO::2016-01-24 10:42:21,923::netinfo::495::root::(_getNetInfo) Obtaining info for net net_78. Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 474, in _getNetInfo data.update({'ports': ports(iface), File "/usr/lib/python2.7/site-packages/vdsm/netinfo.py", line 187, in ports return os.listdir('/sys/class/net/' + bridge + '/brif') OSError: [Errno 2] No such file or directory: '/sys/class/net/net_78/brif' VDSM log is spammed with 'ovs_after_get_stats' and every hour the VDSM log is rotating. Hi Petr, Please note that i found some things that should be fixed and taken care as well: 1) Remove the execute(a-x) permissions for /usr/libexec/vdsm/hooks/after_get_stats/ovs_utils.py It should have no execute permissions at all. 2) When attaching a network that has the customProperty ovs=true to a NIC via Setup Networks it should bring the interface UP, like with regular networks. Currently, if the interface was DOWN and we attaching network with 'ovs' property to him, it remains DOWN, but we should take care of it and it should go UP. Hi again, Another issue found in : vi /usr/libexec/vdsm/hooks/before_network_setup/ovs_utils.py +64 When trying to create a ovs bond via UI and pass the next syntax: custom=ovs=True in the custom bond mode filed def get_bond_options(options, keep_custom=False): """ Parse bonding options into dictionary, if keep_custom is set to True, custom option will not be recursive parsed. >>> get_bond_options('mode=4 custom=foo=yes,bar=no') {'custom': {'bar': 'no', 'foo': 'yes'}, 'mode': '4'} """ def _string_to_dict(str, div): if options == '': return {} return dict(option.split('=', 1) for option in str.strip(div).split(div)) def _custom_dict(str, div): if options == '': return {} return dict((option, True) for option in str.strip(div).split(div)) if options: d_options = _string_to_dict(options, ' ') if d_options.get('custom') and not keep_custom: d_options['custom'] = _custom_dict(d_options['custom'], ',') return d_options else: return {} We have a limitation on the engine side about the syntax --> <key>=<value> separate with space and vdsm excepts to custom=ovs=True. Currently Danken changed the code to except custom=ovs ^^ This should be taken care as well. Target release should be placed once a package build is known to fix a issue. Since this bug is not modified, the target version has been reset. Please use target milestone to plan a fix for a oVirt release. |