← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1647914] Re: Cannot use minimized_polling when hypervisor is XenServer

 

Reviewed:  https://review.openstack.org/407813
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=71edbb0d7de06458bb1be345e13841ad4e7c2bb9
Submitter: Jenkins
Branch:    master

commit 71edbb0d7de06458bb1be345e13841ad4e7c2bb9
Author: Huan Xie <huan.xie@xxxxxxxxxx>
Date:   Wed Dec 7 02:13:19 2016 +0000

    Support ovsdb-client monitor with remote connection
    
    When using XenServer as hypervisor, we found we cannot set ovs
    agent which runs in compute node with "minimize_polling=True".
    Because once set it True, the ovs agent will monitor the local
    ovsdb, but we want it monitor ovsdb in Dom0.
    This patch is to add support for ovsdb-client to monitor remote
    connection.
    
    Change-Id: Idf2a564e96626dab3c4421a1f9139ed9ffcbcab1
    Closes-bug: 1647914


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1647914

Title:
  Cannot use minimized_polling when hypervisor is XenServer

Status in neutron:
  Fix Released

Bug description:
  Env:
      XenServer as hypervisor
      Neutron ML2 use ovs agent

  When using XenServer as hypervisor, the ovs agent running in compute node cannot set 
  [agent]
  minimize_polling = True

  See related logs:

  on/api/rpc/callbacks/resource_manager.py:74
  2016-12-07 02:28:55.856 INFO neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-dfcefef1-efbd-4896-af21-70f6fae0c0b8 None None] Agent initialized successfully, now running... 
  2016-12-07 02:28:55.857 DEBUG neutron.agent.linux.async_process [req-dfcefef1-efbd-4896-af21-70f6fae0c0b8 None None] Launching async process [ovsdb-client monitor Interface name,ofport,external_ids --format=json]. from (pid=6224) start /opt/stack/neutron/neutron/agent/linux/async_process.py:110
  2016-12-07 02:28:55.857 DEBUG neutron.agent.linux.utils [req-dfcefef1-efbd-4896-af21-70f6fae0c0b8 None None] Running command: ['/usr/local/bin/neutron-rootwrap-xen-dom0', '/etc/neutron/rootwrap.conf', 'ovsdb-client', 'monitor', 'Interface', 'name,ofport,external_ids', '--format=json'] from (pid=6224) create_process /opt/stack/neutron/neutron/agent/linux/utils.py:92
  2016-12-07 02:28:55.879 DEBUG neutron.agent.linux.utils [req-dfcefef1-efbd-4896-af21-70f6fae0c0b8 None None] Running command: ['ps', '--ppid', '6253', '-o', 'pid='] from (pid=6224) create_process /opt/stack/neutron/neutron/agent/linux/utils.py:92

  2016-12-07 02:29:00.863 DEBUG neutron.agent.linux.utils [req-dfcefef1-efbd-4896-af21-70f6fae0c0b8 None None] Running command: ['ps', '--ppid', '6253', '-o', 'pid='] from (pid=6224) create_process /opt/stack/neutron/neutron/agent/linux/utils.py:92
  2016-12-07 02:29:00.976 ERROR ryu.lib.hub [req-dfcefef1-efbd-4896-af21-70f6fae0c0b8 None None] hub: uncaught exception: Traceback (most recent call last):
    File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line 54, in _launch
      return func(*args, **kwargs)
    File "/opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ovs_ryuapp.py", line 42, in agent_main_wrapper
      ovs_agent.main(bridge_classes)
    File "/opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py", line 2154, in main
      agent.daemon_loop()
    File "/usr/local/lib/python2.7/dist-packages/osprofiler/profiler.py", line 154, in wrapper
      return f(*args, **kwargs)
    File "/opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py", line 2073, in daemon_loop
      self.ovsdb_monitor_respawn_interval) as pm:
    File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
      return self.gen.next()
    File "/opt/stack/neutron/neutron/agent/linux/polling.py", line 35, in get_polling_manager
      pm.start()
    File "/opt/stack/neutron/neutron/agent/linux/polling.py", line 57, in start
      self._monitor.start(block=True)
    File "/opt/stack/neutron/neutron/agent/linux/ovsdb_monitor.py", line 117, in start
      while not self.is_active():
    File "/opt/stack/neutron/neutron/agent/linux/async_process.py", line 101, in is_active
      self.pid, self.cmd_without_namespace)
    File "/opt/stack/neutron/neutron/agent/linux/async_process.py", line 160, in pid
      run_as_root=self.run_as_root)
    File "/opt/stack/neutron/neutron/agent/linux/utils.py", line 246, in get_root_helper_child_pid
      pid = find_child_pids(pid)[0]
    File "/opt/stack/neutron/neutron/agent/linux/utils.py", line 179, in find_child_pids
      log_fail_as_error=False)
    File "/opt/stack/neutron/neutron/agent/linux/utils.py", line 127, in execute
      _stdout, _stderr = obj.communicate(_process_input)
    File "/usr/lib/python2.7/subprocess.py", line 799, in communicate
      return self._communicate(input)
    File "/usr/lib/python2.7/subprocess.py", line 1403, in _communicate
      stdout, stderr = self._communicate_with_select(input)
    File "/usr/lib/python2.7/subprocess.py", line 1504, in _communicate_with_select
      rlist, wlist, xlist = select.select(read_set, write_set, [])
    File "/usr/local/lib/python2.7/dist-packages/eventlet/green/select.py", line 86, in select
      return hub.switch()
    File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 294, in switch
      return self.greenlet.switch()
  Timeout: 5 seconds

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1647914/+subscriptions


References