OpenStack Networking (Neutron)
Go to file
John Schwarz ddaee9f060 Keep reading stdout/stderr until after kill
Currently, when calling AsyncProcess.stop(), the code stops the stdout
and stderr readers and kills the process. There exists an end case (as
described in the bug report) in which after the readers have been
stopped the sub-process will generate a substantial amount of outputs to
either fd. Since the 'subprocess' module is launched with
subprocess.PIPE as stdout/stderr, and since Linux's pipes can be filled
to the point where writing new data to them will block, this may cause a
deadlock if the sub-process has a signal handler for the signal (for
example, the process is handling SIGTERM to produce a graceful exit of
the program).

Therefore, this patch proposes to only kill the readers until AFTER
wait() returned and the process truly died. Also, relying on _kill_event
had to cease since invoking its send() method caused a logical loop back
to _kill, causing eventlet errors.

A different possible solution is closing the stdout/stderr pipes. Alas,
this may raise an exception in the sub-process ("what? No stdout?!
Crash!") and defeats the 'graceful' part of the process.

Closes-Bug: #1506021
Change-Id: I506c41c634a8d656d81a8ad7963412b834bdfa5b
2015-11-19 19:14:13 +02:00
bin Replace 'import json' with oslo_serialization 2015-08-11 06:05:37 -07:00
devstack SR-IOV: devstack support for SR-IOV agent 2015-09-09 15:06:37 +03:00
doc Fix capitalization nit in patch 230218 2015-10-06 07:42:04 -05:00
etc Merge "Deprecate max_fixed_ips_per_port" 2015-10-06 00:27:31 +00:00
neutron Keep reading stdout/stderr until after kill 2015-11-19 19:14:13 +02:00
rally-jobs Changes in rally-jobs/README.rst 2015-06-04 10:34:15 -04:00
tools Merge remote-tracking branch 'origin/master' into walnut 2015-09-16 17:07:52 -07:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:31:29 +00:00
.gitignore Remove quantum untracked files from .gitignore 2015-06-25 11:59:37 +00:00
.gitreview Remove pecan branch reference from .gitreview file 2015-09-16 16:24:52 -07:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc pylint: enable `duplicate-key` check 2015-06-04 13:10:44 +10:00
.testr.conf Workaround test stream corruption issue. 2015-09-05 04:19:40 +00:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
HACKING.rst Python3: use six.iteritems() instead of dict.iteritems() 2015-06-01 23:13:42 +02:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
MANIFEST.in Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
README.rst Update the URLs to the Cloud Admin Guide 2015-08-24 17:24:34 +02:00
TESTING.rst Add testing coverage .rst, missing test infrastructure to-dos 2015-08-10 20:37:23 -04:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
openstack-common.conf Switch to the oslo_utils.fileutils 2015-07-15 08:09:26 +03:00
requirements.txt Updated from global requirements 2015-09-21 18:56:49 +00:00
run_tests.sh Remove check for bash usage 2015-04-07 15:15:33 +00:00
setup.cfg Merge "Add neutron-linuxbridge-cleanup util" 2015-10-06 11:27:27 +00:00
setup.py Updated from global requirements 2015-09-21 18:56:49 +00:00
test-requirements.txt Updated from global requirements 2015-10-04 22:42:10 +00:00
tox.ini Fix db error when running python34 Unit tests 2015-09-30 20:50:13 -07:00

README.rst

Welcome!

You have come across a cloud computing network fabric controller. It has identified itself as "Neutron." It aims to tame your (cloud) networking!

External Resources:

The homepage for Neutron is: http://launchpad.net/neutron. Use this site for asking for help, and filing bugs. Code is available on git.openstack.org at <http://git.openstack.org/cgit/openstack/neutron>.

The latest and most in-depth documentation on how to use Neutron is available at: <http://docs.openstack.org>. This includes:

Neutron Administrator Guide

http://docs.openstack.org/admin-guide-cloud/networking.html

Networking Guide

http://docs.openstack.org/networking-guide/

Neutron API Reference:

http://docs.openstack.org/api/openstack-network/2.0/content/

Current Neutron developer documentation is available at:

http://wiki.openstack.org/NeutronDevelopment

For help on usage and hacking of Neutron, please send mail to <mailto:openstack-dev@lists.openstack.org>.

For information on how to contribute to Neutron, please see the contents of the CONTRIBUTING.rst file.