Hi Mark,

This and some other problems have been fixed on the master branch.
I would suggest using the master branch for your tests, at least until the fixes are back-ported to the 4.0 branch.

Thanks,
Edy.


On Wed, Aug 10, 2016 at 8:34 AM, lifuqiong <lifuqiong@cncloudsec.com> wrote:
Hi,
        I want to test ovs in vdsm of release 4.0.2. And according Petr's helpful advice, created an ovs-based cluster and install vdsm to ovirt engine. But report a 'RTNETLINK answers: File exists' error as bellows.

It seems that vdsm want to  add a default gw through ' ip -4 route add default via 192.168.0.1' ; but of course this gateway already exists, why the vdsm will still add the default gateway?


Error log:
---------------------------------------------------------------------------------------------------------------------------------------------------------
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,203::commands::68::root::(execCmd) /usr/bin/taskset --cpu-list 0-3 /sbin/ip link set dev ovirtmgmt up (cwd None)
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,205::commands::86::root::(execCmd) SUCCESS: <err> = ''; <rc> = 0
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,205::commands::68::root::(execCmd) /usr/bin/taskset --cpu-list 0-3 /sbin/ip link set dev p3p1 up (cwd None)
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,207::commands::86::root::(execCmd) SUCCESS: <err> = ''; <rc> = 0
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,207::commands::68::root::(execCmd) /usr/bin/taskset --cpu-list 0-3 /sbin/ip addr flush dev ovirtmgmt scope global (cwd None)
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,209::commands::86::root::(execCmd) SUCCESS: <err> = ''; <rc> = 0
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,209::commands::68::root::(execCmd) /usr/bin/taskset --cpu-list 0-3 /sbin/ip -4 addr add dev ovirtmgmt 192.168.0.117/255.255.255.0 (cwd None)
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,211::commands::86::root::(execCmd) SUCCESS: <err> = ''; <rc> = 0
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,211::commands::68::root::(execCmd) /usr/bin/taskset --cpu-list 0-3 /sbin/ip -4 route add default via 192.168.0.1 (cwd None)
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,213::commands::86::root::(execCmd) FAILED: <err> = 'RTNETLINK answers: File exists\n'; <rc> = 2
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,213::api::246::root::(setupNetworks) Setting up network according to configuration: networks:{u'ovirtmgmt': {'remove': True}}, bondings:{}, options:{'connectivityCheck': 0, 'inRollback': True}
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,213::api::267::root::(_setup_networks) Validating configuration
MainProcess|jsonrpc.Executor/4::DEBUG::2016-08-02 22:35:03,216::routes::75::root::(get_gateway) The gateway 192.168.0.1 is duplicated for the device p3p1

MainProcess|jsonrpc.Executor/4::ERROR::2016-08-02 22:35:03,310::supervdsmServer::96::SuperVdsm.ServerCallback::(wrapper) Error in setupNetworks
Traceback (most recent call last):
  File "/usr/share/vdsm/supervdsmServer", line 94, in wrapper
    res = func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/vdsm/network/api.py", line 248, in setupNetworks
    _setup_networks(networks, bondings, options)
  File "/usr/lib/python2.7/site-packages/vdsm/network/api.py", line 275, in _setup_networks
    netswitch.setup(networks, bondings, options, in_rollback)
  File "/usr/lib64/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/usr/lib/python2.7/site-packages/vdsm/network/api.py", line 199, in _rollback
    six.reraise(excType, value, tb)
  File "/usr/lib/python2.7/site-packages/vdsm/network/api.py", line 182, in _rollback
    yield
  File "/usr/lib/python2.7/site-packages/vdsm/network/api.py", line 275, in _setup_networks
    netswitch.setup(networks, bondings, options, in_rollback)
  File "/usr/lib/python2.7/site-packages/vdsm/network/netswitch.py", line 119, in setup
    _setup_ovs(ovs_nets, ovs_bonds, options, in_rollback)
  File "/usr/lib/python2.7/site-packages/vdsm/network/netswitch.py", line 165, in _setup_ovs
    connectivity.check(options)
  File "/usr/lib/python2.7/site-packages/vdsm/network/netconfpersistence.py", line 243, in __exit__
    raise ne.RollbackIncomplete(config_diff, ex_type, ex_value)
IPRoute2Error: ['RTNETLINK answers: File exists']

ip addr show
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
   [root@server117 ~]# ip addr show
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      inet 127.0.0.1/8 scope host lo
         valid_lft forever preferred_lft forever
      inet6 ::1/128 scope host
         valid_lft forever preferred_lft forever
  2: p3p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovirtmgmt state UP qlen 1000
      link/ether 64:00:6a:23:b8:c0 brd ff:ff:ff:ff:ff:ff
  3: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 1000
      link/ether a0:36:9f:09:36:c0 brd ff:ff:ff:ff:ff:ff
      inet6 fe80::a236:9fff:fe09:36c0/64 scope link
         valid_lft forever preferred_lft forever
  4: em2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
      link/ether a0:36:9f:09:36:c1 brd ff:ff:ff:ff:ff:ff
  5: wlp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
      link/ether 60:6d:c7:29:d7:55 brd ff:ff:ff:ff:ff:ff
  6: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
      link/ether 42:ab:a1:1b:24:94 brd ff:ff:ff:ff:ff:ff
  7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
      link/ether a0:36:9f:09:36:c0 brd ff:ff:ff:ff:ff:ff
      inet6 fe80::a236:9fff:fe09:36c0/64 scope link
         valid_lft forever preferred_lft forever
  8: ovirtmgmt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
      link/ether 64:00:6a:23:b8:c0 brd ff:ff:ff:ff:ff:ff
      inet 192.168.0.117/24 brd 192.168.0.255 scope global ovirtmgmt
         valid_lft forever preferred_lft forever
  9: ;vdsmdummy;: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
      link/ether 4e:ce:20:14:aa:24 brd ff:ff:ff:ff:ff:ff



How to solve it? Thank you.
Mark
Hope hear from you asap.