RETIRED, Tricircle is to provide networking automation across Neutron.
Go to file
Fangming Liu 192aa09d76 Support pagination for resource routing list operations
1. What is the problem
The resource routing list operations will retrieve all the items in
the database, which will consume too much memory and take long time
to response when the results are considerably large.

2. What is the solution for the problem
To reduce load on the service, list operations will return a maximum
number of items at a time by pagination. To navigate the collection,
the parameters limit and marker can be set in the URI. For example:

/v1.0/routings?limit=2000&marker=500

The marker parameter is the ID of the last item in the previous list.
A marker with an invalid ID returns a badRequest (400) fault.
The limit parameter sets the page size. These parameters are optional.
If the client requests a limit beyond the maximum limit configured by
the deployment, the server returns the maximum limit number of items.
Pagination and filtering can work together with routing's list operations.

3. What the features need to be implemented to the Tricircle to
realize the solution
Add pagination feature for resource routing list operations.

Change-Id: I05d1b30f502103d247d8be06c1e52fdcec42b41e
2017-07-12 17:09:48 +08:00
devstack Work with cell v2 2017-05-27 16:42:28 +08:00
doc/source Switch to openstackdocstheme 2017-07-05 15:15:24 +08:00
etc Fix configuration file generator 2016-11-10 16:52:42 +08:00
releasenotes Switch to openstackdocstheme 2017-07-05 15:15:24 +08:00
specs Spec for smoke test engine 2017-07-10 11:58:54 +08:00
tricircle Support pagination for resource routing list operations 2017-07-12 17:09:48 +08:00
.coveragerc Align project files structure with cookiecutter template 2016-07-05 15:08:41 +08:00
.gitignore Change the gate to OpenStack infrastrucure 2015-12-15 12:09:09 +08:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:41:25 +00:00
.testr.conf Add the Tricircle tempest plugin with a sample test case 2016-06-08 12:51:38 +08:00
CONTRIBUTING.rst Align project files structure with cookiecutter template 2016-07-05 15:08:41 +08:00
HACKING.rst Align project files structure with cookiecutter template 2016-07-05 15:08:41 +08:00
LICENSE Add source code to Tricircle 2014-09-25 15:56:40 +08:00
README.rst Change release note link to OpenStack docs site 2017-02-09 09:21:37 +08:00
requirements.txt Updated from global requirements 2017-06-23 18:16:24 +00:00
setup.cfg Enable warning-is-error 2017-07-05 14:31:49 +08:00
setup.py Updated from global requirements 2017-03-03 23:01:07 +00:00
test-requirements.txt Switch to openstackdocstheme 2017-07-05 15:15:24 +08:00
tox.ini Add Service Function Chain support(1) 2017-06-27 17:00:11 +08:00

README.rst

Team and repository tags

image

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 separate 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.