1. What is the problem?
VLAN network has some restrictions that VxLAN network doesn't have.
For more flexible networking deployment, we consider supporting
cross-pod VxLAN network.
We are going to use shadow agent/port mechanism to synchronize VTEP
information and make cross-pod VxLAN networking available, as discussed
in the specification document[1].
With the previous parts[2, 3, 4], VxLAN network already works for
tenant network, but bridge network still lacks VxLAN network support.
2. What is the solution to the problem?
We need to build VxLAN tunnels for bridge ports, so bridge port
creation should also trigger shadow agent and shadow port setup.
3. What the features need to be implemented to the Tricircle
to realize the solution?
This is the forth patch for cross-pod VxLAN networking support, which
introduces the following changes:
(1) Make bridge network gateway port creation also trigger shadow
agent and shadow port setup, so we can use VxLAN type bridge network
(2) Delete shadow bridge ports when clearing bridge network/subnet
[1] https://review.openstack.org/#/c/429155/
[2] https://review.openstack.org/#/c/425128/
[3] https://review.openstack.org/#/c/425129/
[4] https://review.openstack.org/#/c/425130/
Change-Id: I3f3054c9300566ddbdd5b6d523f547485462447c
1. What is the problem
Tricircle does not have get pod unit test case
2. What is the solution to the problem
Implement related test case
3. What the features need to be implemented to the Tricircle
No new features
Change-Id: Icf68127871d3c3393f43d54ee0a853215c6bad2f
1. What is the problem
Tricircle does not have update pod unit test case
2. What is the solution to the problem
Implement related test case
3. What the features need to be implemented to the Tricircle
No new features
Change-Id: Ifdfa599fb3ebe78ee5810066c885f4f84e4050c4
1. What is the problem
Tricircle does not have delete mappings unit test case
2. What is the solution to the problem
Implement related test case
3. What the features need to be implemented to the Tricircle
No new features
Change-Id: I597a25e4dbf0794a5dde4968db502672a28f4563
1. What is the problem
The current implementation of "get_pod_by_top_id" method uses a
hard-coded "RT_VOLUME" value to pass to "get_bottom_mappings_by_top_id"
method as the "resource_type" parameter, however "RT_VOLUME" no longer
exists in common.constants module.
2. What is the solution to the problem
Considering that resource ID will not be reused, this patch rewrites the
logic to only query resource routing entries by resource ID. Also this
patch moves "get_pod_by_top_id" method to db.api module.
3. What the features need to be implemented to the Tricircle
No new features.
Change-Id: Ie5663a72090a0a44678de5f78f701b50c27b962a
1. What is the problem
Tricircle does not have get pod by region name test case
2. What is the solution to the problem
Implement related test case
3. What the features need to be implemented to the Tricircle
No new features
Change-Id: I2d0f529d465e29c75169091ac6c95e5368d7e57b
1. What is the problem
Tricircle does not have get bottom id by top_id and
region_name test case
2. What is the solution to the problem
Implement related test case
3. What the features need to be implemented to the Tricircle
No new features
Change-Id: I0ec873f16ff596c28e4c517d6790a3cc1d5f13df
1. What is the problem
Tricircle does not have get top pod test case
2. What is the solution to the problem
Implement related test case
3. What the features need to be implemented to the Tricircle
No new features
Change-Id: I5c48c67095733823c14ab8a8dca87838b0aa2541
1. What is the problem
Tricircle does not have find pod by az_region test case
2. What is the solution to the problem
Implement related test case
3. What the features need to be implemented to the Tricircle
No new features
Change-Id: I65e7eb5d2018ddc554b225cea712d1e413c10e33
1.What is the problem?
Tricircle doesn't support python3 yet, but python2 support will
be stopped in 2020. OpenStack community has put the support of
python3 as the community wide goal in Pike release, Tricircle
needs to be ready for this.
2.What is the solution to the problem?
Port the code to be compatible with both python2 and python3, for
python3, only the python3.5 version will be supported.
After this patch is merged, a new gate/check job for python3.5
should be enabled too.
3.What the features need to be implemented to the Tricircle
to realize the solution?
No new features.
Change-Id: I18cb59cadb7a1c06f6cd729c4bda2c8e95d41e1e
Signed-off-by: joehuang <joehuang@huawei.com>
1. What is the problem?
Tricircle now is dedicated for networking automation across Neutron. Some
tables used in APIs gateway should be removed, like aggregation table, pod
binding table, etc. They should not reside in the Tricircle any more. Other
tables containing old meanings but are still in use should be renamed for
better understanding. We can see the blueprint[1] for further explanation.
2. What is the solution to the problem?
The data models, tables and APIs about aggregation, pod binding, etc. should
be removed. After the pod binding table is removed, the az_hint used for
external network creation is hard to match. So special handle needs to be
implemented. Other tables will have vague meaning after this splitting, but
they still take effective in the Tricircle, So they should be renamed for
better understanding. What's more, the pod_name in the pod table is renamed
to region_name, which coordinates better with its availability zone.
1)Tables to be removed:
*aggregates
*aggregate_metadata
*instance_types
*instance_type_projects
*instance_type_extra_specs
*key_pairs
*pod_binding
2)Tables need to be renamed:
*cascaded_pod_service_configuration (new name: cached_endpoints)
*cascaded_pods (new name: pods)
*cascaded_pods_resource_routing (new name: resource_routings)
*job (new name: async_jobs)
3. What the features need to be implemented to the Tricircle to realize
the solution?
After the pod binding table is removed, the az_hint used for external
network creation is hard to match. New features will be implemented to solve
this problem.
[1] https://blueprints.launchpad.net/tricircle/+spec/clean-legacy-tables
Change-Id: I025b4fb48c70abf424bd458fac0dc888e5fa19fd
1. What is the problem?
Tricircle provides networking deployment, quota management is
no need in Tricircle project. We should remove it from the Tricircle.
2. What is the solution to the problem?
Remove quota related files and some related unit test files
from Tricircle project.
3. What the features need to be implemented to the Tricircle to realize
the solution?
No new features.
Change-Id: Iee1ff838ee9643d78016b0b33cd104b03a2ee086
The statless design was developed in the experiment branch, the experiment
shows advantage in removing the status synchronization, uuid mapping
compared to the stateful design, and also fully reduce the coupling with
OpenStack services like Nova, Cinder. The overhead query latency for
resources also acceptable. It's time to move the statless design to the
master branch
BP: https://blueprints.launchpad.net/tricircle/+spec/implement-stateless
Change-Id: I51bbb60dc07da5b2e79f25e02209aa2eb72711ac
Signed-off-by: Chaoyi Huang <joehuang@huawei.com>
Implement site create RPC. Now tricircle api can utilize RPC
to notify cascade service to start rpc server for new site.
Partially implements: blueprint implement-api
Ref: https://blueprints.launchpad.net/tricircle/+spec/implement-api
Change-Id: I73879a84d31b5ac9004cfe3f18cb9a984d53099c
Implement site create API. This patch only covers database model
creation and aggregate creation.
Partially implements: blueprint implement-api
Change-Id: I299f367900b7b15ea992fe6f0eaf614f83a1a70e
Make client wrapper support create and delete operation so we
can create and delete aggregate in top OpenStack layer via DAL.
Change-Id: I13b7a0256e366f834965b817a6cd0237e52a6002
Implement client wrapper in DAL to access resources in top
OpenStack layer.
Partially implements: blueprint implement-dal
Change-Id: I8b6f5efdb49c87b6aeb4b7aad38f54c842c21d40
Base DAL implementation and DevStack integration. Our database
schema is under design so the models may be changed later.
Partially implements: blueprint implement-dal
Change-Id: I8b16b3217e6b72e04bd8886d01d638f2d5a5c388