0d83bdca0a
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 |
||
---|---|---|
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
Team and repository tags
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.
- Free software: Apache license
- Design documentation: Tricircle Design Blueprint
- Wiki: https://wiki.openstack.org/wiki/tricircle
- Installation guide: http://docs.openstack.org/developer/tricircle/installation-guide.html
- Tricircle Admin API documentation: http://docs.openstack.org/developer/tricircle/api_v1.html
- Configuration guide: http://docs.openstack.org/developer/tricircle/configuration.html
- Networking guide: http://docs.openstack.org/developer/tricircle/networking-guide.html
- Source: http://git.openstack.org/cgit/openstack/tricircle
- Bugs: http://bugs.launchpad.net/tricircle
- Blueprints: https://blueprints.launchpad.net/tricircle
- Release notes: http://docs.openstack.org/releasenotes/tricircle
- Contributing: http://docs.openstack.org/developer/tricircle/contributing.html