RETIRED, Tricircle is to provide networking automation across Neutron.
Go to file
zhiyuan_cai 0d83bdca0a [urgent]Adapt new Keystone URL and mock _update_ips_for_port
1. What is the problem?
Now Keystone uses uwsgi with proxy[1], and this is the default mode
in DevStack. In this case, the original URL with 5000/35357 port can
no longer be accessed, this change will lead to Tricircle gate/check
test always failure if no adaption is made in Tricircle configuration.

After patch[2] merged, update mac address will also trigger ip updating
process. This is mainly for IPv6 address but the code logic doesn't
distinguish ip version. Some methods used by ip updating process are not
correctly simulated in FakeQuery so test_update_port test failed

2. What is the solution to the problem?
Change Keystone public URL Tricircle uses from
http://host:5000/v3 to http://host/identity and
change Keystone admin URL Tricircle uses from
http://host:35357/v3 to http://host/identity

This patch also fixes a mistake which was hidden before this Keystone
change. While generating Tricircle apache configuration file in our
DevStack script, TRICIRCLE_BIN in the template is not replaced by
the real value. So the directory access right is not correctly granted.
Before this Keystone change, Keystone apache configuration file will
grant right on the same directory, so we didn't notice this problem.

Since we don't support ip updating currently, one simple fix is to mock
_update_ips_for_port method.

3. What features need to be implemented to the Tricircle
to realize the solution?
No new features.

[1] https://github.com/openstack-dev/devstack/commit/
    6ed53156b6198e69d59d1cf3a3497e96f5b7a870
[2] https://github.com/openstack/neutron/commit/
    46d1a890e700dfa6e921387569f87f793ca4e8e9

Change-Id: I2b43c630eedff0f808c729da0ce9b819f02495dd
2017-05-03 02:14:23 -04:00
devstack [urgent]Adapt new Keystone URL and mock _update_ips_for_port 2017-05-03 02:14:23 -04:00
doc/source [urgent]Adapt new Keystone URL and mock _update_ips_for_port 2017-05-03 02:14:23 -04:00
etc Fix configuration file generator 2016-11-10 16:52:42 +08:00
releasenotes Release note and doc for multi-gw NS networking 2017-04-28 10:56:47 +08:00
specs Layer-3 Networking multi-NS-with-EW-enabled 2017-04-07 00:24:25 +00:00
tricircle [urgent]Adapt new Keystone URL and mock _update_ips_for_port 2017-05-03 02:14:23 -04: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-04-07 06:18:21 +00:00
setup.cfg Enable flat network type support 2017-04-11 17:30:31 +08:00
setup.py Updated from global requirements 2017-03-03 23:01:07 +00:00
test-requirements.txt Updated from global requirements 2017-03-03 23:01:07 +00:00
tox.ini Remove .testrepository/times.dbm from tox.ini 2017-03-28 22:30:18 +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.