e55e88fcae
1. What is the problem? In order to dispatch resource operation request to the proper bottom instance, we need a resource routing table, which maps a resource to the bottom instance which it’s located at. However, the resource routing APIs have not been implemented, so this patch carries out these features and performs some tests for them at the same time. 2. What is the solution to the problem? To implement the resource routing features, a new file named routing.py is created in the directory tricircle/api/controllers, then regular post and get functions will be implemented there. As for the unit test, a file named test_routing.py is added to the directory tricircle/tests/unit/api/controllers, conducting relevant tests for the features in file routing.py. 3. What the features need to be implemented to the Tricircle to realize the solution? Some main features like post, update, get and delete functions are implemented in the file routing.py, then relative test method for each of them is realized in the file test_routing.py. At last, these features are added to the search path in the file root.py for REST API call. Change-Id: I2c1073b8c8bd17eeb395afaa5ab7ea8d63609222 |
||
---|---|---|
cmd | ||
devstack | ||
doc/source | ||
etc | ||
releasenotes | ||
specs | ||
tricircle | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Tricircle
The purpose of the Tricircle project is to provide networking automation across Neutron servers in multi-region OpenStack clouds deployment.
Each OpenStack cloud includes its own Nova, Cinder and Neutron, the Neutron servers in these OpenStack clouds are called local Neuron servers, all these local Neutron servers will be configured with the Tricircle Local Neutron Plugin. A seperate Neutron server will be installed and run standalone as the coordinator of networking automation across local Neutron servers, this Neutron server will be configured with the Tricircle Central Neutron Plugin, and is called central Neutron server.
Leverage the Tricircle Central Neutron Plugin and the Tricircle Local Neutron Plugin configured in these Neutron servers, the Tricircle can ensure the IP address pool, IP/MAC address allocation and network segment allocation being managed globally without conflict, and the Tricircle handles tenant oriented data link layer(Layer2) or network layer(Layer3) networking automation across local Neutron servers, resources like VMs, bare metal or containers of the tenant can communicate with each other via Layer2 or Layer3, no matter in which OpenStack cloud these resources are running on.
Note: There are some our own definitions of Layer2/Layer3 networking across Neutron. To make sure what they are, please read our design documentation, especially "6.5 L2 Networking across Neutron". The wiki and design documentation are linked below.
The Tricircle and multi-region OpenStack clouds will use shared KeyStone(with centralized or distributed deployment) or federated KeyStones.
The Tricircle source code is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.
- Free software: Apache license
- Design documentation: Tricircle Design Blueprint
- Wiki: https://wiki.openstack.org/wiki/tricircle
- Installation guide: https://github.com/openstack/tricircle/blob/master/doc/source
- Tricircle Admin API documentation: https://github.com/openstack/tricircle/blob/master/doc/source/api_v1.rst
- Source: https://github.com/openstack/tricircle
- Bugs: http://bugs.launchpad.net/tricircle
- Blueprints: https://launchpad.net/tricircle
- Release notes: https://github.com/openstack/tricircle/tree/master/releasenotes/notes