Tacker: ETSI MANO NFV Orchestrator / VNF Manager. See https://wiki.openstack.org/wiki/Tacker
c1b2c362f0
tacker-server has got two-stage process launcher since a long time ago. While it doesn't matter if {api_workers} is set to one or unset, which is the case by default on installation via devstack, it should have resulted in an odd situation in other cases as follows: 1). surprisingly the number of workers was not {api_workers} but {api_workers}*{api_workers}. Notice that the launcher processes are also present so the resulting number of tacker-server processes was 1+{api_workers}*({api_workers}+1). E.g., when {api_workers}=100, the number of tacker-server processes is 10101. 2). GreenPool is per the second stage launcher. That means {api_workers} number of workers, each of which is a green thread on a seperate process (spawned by ProcessLauncher), share the same pool. It means that the second stage launcher does not only fail to provide performance scaling, but also more likely to unnecessarily keep some workers starved due to a process which starts sleeping before yielding. This patch fixes it so that there is just a one-stage launcher. [Before this patch] master ├── worker#0 # second-stage launcher │ ├── worker#0-0 (*1) │ ├── worker#0-1 (*1) │ : │ └── worker#0-{api_workers-1} (*1) ├── worker#1 # second-stage launcher : └── worker#{api_workers-1} : └── worker#{api_workers-1}-{api_workers-1} (*1) [After this patch] master ├── worker#0 (*1) ├── worker#1 (*1) : └── worker#{api_workers-1} (*1) (*1) spawns one green thread at the start. Closes-Bug: #1923528 Change-Id: I2bf567a0367659c170af0b618374a51d0f13eece |
||
---|---|---|
api-ref/source | ||
contrib/tacker-config | ||
devstack | ||
doc | ||
etc | ||
playbooks/devstack | ||
releasenotes | ||
roles | ||
samples | ||
tacker | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.pylintrc | ||
.stestr.conf | ||
.zuul.yaml | ||
bindep.txt | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
lower-constraints.txt | ||
README.rst | ||
requirements-extra.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
TESTING.rst | ||
tox.ini | ||
upper-constraints.txt |
Tacker
Welcome!
Tacker is an OpenStack based NFV Orchestrator service with built-in general purpose VNF Manager to deploy and operate Virtual Network Functions (VNFs) on an OpenStack based NFV Platform. It is based on ETSI MANO Architectural Framework and provides a fully functional stack to orchestrate VNFs end-to-end.
Installation:
Installation instructions and user guides can be found at: https://docs.openstack.org/tacker/
Tacker code base supports OpenStack master and other releases. Please follow the instructions in the above address for a successful installation of corresponding release.
Code:
Tacker code is available in following repositories:
- Tacker server: https://opendev.org/openstack/tacker
- Tacker Python client: https://opendev.org/openstack/python-tackerclient
- Tacker Horizon UI: https://opendev.org/openstack/tacker-horizon
Bugs:
Please report bugs at: https://bugs.launchpad.net/tacker
External Resources:
- Tacker Wiki: https://wiki.openstack.org/wiki/Tacker
- Tacker Blueprints: https://blueprints.launchpad.net/tacker
- For help on usage and hacking of Tacker, please send an email to OpenStack-dev Mailing List <mailto:openstack-discuss@lists.openstack.org> with [openstack-dev] [Tacker] tag.
- To get release notes: Tacker Release Notes