We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because of that
breaks the more specific versions used in default environments like
py35 and py36.
Depends-On: https://review.openstack.org/#/c/573012/
Change-Id: I71a6231832fc191633b15904246902a21f8a8130
Some of available checks are disabled by default, like:
[H106] Don’t put vim configuration in source files
[H203] Use assertIs(Not)None to check for None
Change-Id: I6c880ba9fcde60cbebdea4aa459b42c6b92d181c
The policy-and-docs-in-code Queens goal outlines the work required
for projects to move policy into code and document the operations
and defaults.
This commit replaces occurrences of RuleDefault with
DocumentedRuleDefault where appropriate, which requires additional
attributes when used that supply more documentation in rendered
policy files.
Using DocumentedRuleDefault produces more descriptive generated
policy descriptons in 'configuration' section of tricircle docs.
Change-Id: I5be169e996066ff66d165731cf2bf12aaff38fd4
1. What is the problem
Tricircle does not support Service Function Chain
2. What is the solution to the problem
Add Service Function Chain support
3. What the features need to be implemented to the Tricircle
Add create, delete support
Change-Id: I4bbe169040c17d202410bb5a649aca4df8464c3c
1. What is the problem
When running tox for the first time, if you run "tox -e py35" ahead of
"tox -e py27", then "tox -e py27" will fail. And if you run "tox -e
py27" ahead of py35 test, the py35 execution fails with an error saying
"db type could not be determined". In other case, If you execute "tox
run" instead of running py27, py35, pep8 and pypy test respectively, the
py35, pypy and pep8 can all pass the test except the py27. This bug is
reported here[1].
2. What is the solution to the problem
This issue can be solved by removing .testrepository/times.dbm
from tox.ini.
3. What the features need to be implemented to the Tricircle
to realize the solution
None.
[1] https://bugs.launchpad.net/testrepository/+bug/1229445
Change-Id: I497aa835fc5551b7422741216aa1c702f7aa6f0b
1. What is the problem?
There is no mechaninsm to guarantee if the percentage of Unit Tests
is reduced after submitting a patch.
2. What is the solution to the problem?
Add a threshold into the gate job for ensuring a minimal percentage
3. What the features need to be implemented to the Tricircle
to realize the solution?
None
Change-Id: I478d2ba2b9d60867ac3a48ddb19d8cb33ee67301
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
It doesn't print the coverage report to the console when run
tox -ecover for Tricircle.
2. What is the solution to the problem
Add a line of 'coverage report' under the command of 'cover' tox
target in tox.ini
3. What the features need to be implemented to the Tricircle
to realize the solution
None
Change-Id: I85b8d0193eeb2374170fd327509751659f67a9ec
1. What is the problem?
Both the blueprint and implementation of the resource routing
API have been completed, so release notes are required for
these new features. This patch adds the release notes for them.
Moreover, the releasenotes test environment should be added
to the tox.ini. The reno version should be given in
test-requirements.txt.
2. What is the solution to the problem?
Add release notes for the resource routing API in the new
file releasenotes/notes/resource-routing-operation.yaml.
Add the releasenotes test environment to file tox.ini and reno
version to the test-requirements.txt.
3. What the features need to be implemented to the Tricircle
to realize the solution?
No new features.
Change-Id: I23c9b3fb97b33f15a877eb2dbcabbb823c825d6d
To be co-installable with other OpenStack projects and have consistent
testing it's a good idea (tm) to use constraints when creating tox
environments.
Change-Id: I401b0bc729101f31455ffc90b9915981498cf5b2
1. What is the problem
When "from tricircle.common.i18n import _, _LE, _LI, _LW"
The pep8 failed: ./tricircle/network/central_plugin.py:50:36:
H301 one import per line
2. What is the solution to the problem
i18n import in one line is a valid exception, and could be skipped
in pep8 test
3. What the features need to be implemented to the Tricircle
N/A
Closes-Bug: #1646372
Change-Id: I2adeab4d098ff4bbe8abb1d6645a20086ee5a1b7
1. What is the problem?
When writing the manual installation guide, I find that configuration
file generator fails to execute because there is an module import error
in opts.py for local and central plugin configuration. Actually there's
no need to generate configuration sample for plugin since the original
Neutron configuration file will be used, this is left without clearing
during the Tricircle splitting.
2. What is the solution to the problem?
Remove the entry for generating plugin configuration sample in tox.ini.
Also, tox.ini is modified to only install neutron dependency for py27
test, which will speed up pep8, docs and genconfig processes.
3. What the features need to be implemented to the Tricircle to realize
the solution?
No new features
Change-Id: Ie1463a91e7f252943f74f54f80f85e6f10acefd0
1. What is the problem?
Nova API-GW and Cinder API-GW code are still in the repository of
the Tricircle project.
2. What is the solution to the problem?
According to the blueprint for the Tricircle splitting:
https://blueprints.launchpad.net/tricircle/+spec/make-tricircle-dedicated-for-networking-automation-across-neutron
Nova API-GW and Cinder API-GW related code should be removed from
the repository of the Tricircle project.
3. What the features need to be implemented to the Tricircle to realize
the solution?
No new features.
Change-Id: I152bab9c0a7a114f0361a69a3ab2d7037731434f
There is not this directory in debtcollector,so
we should drop it for improving searching efficiency.
Change-Id: Ia72a3cdcf3f5c02e491a535d212b44ee1eb3249c
Neutron is refactoring a lot of its code. For example, common entities
are being moved to neutron-lib. When code is refactored it is marked
with debtcollector, which issues a deprecation warning. In the next
release the old entity will be removed. Consuming projects (like
tricircle) must update to comply with the new entity before the old
one is removed.
Tricircle maintainers must monitor deprecation warnings and act on them
before the next release.
Many deprecations are triggered early (on imports, for example)
before the warnings are enabled by the WarningsFixture in the
base test class.
To make sure all DeprecationWarning messages are emitted we enable
them via the PYTHONWARNINGS environment variable.
Change-Id: Iade909b35a55cebb7dfe13a688f451ad91989b94
1. What is the problem
In the current implementation of the Tricircle plugin for neutron,
network type is not supported so users cannot create networks
with network type specified. In the specification of cross-pod
l2 networking feature[1], we decide to support several network
types like local, shared VLAN, shared VxLAN, etc, the first step
is to make the Tricircle plugin be aware of network type.
2. What is the solution to the problem
Handle network type in the Tricircle plugin for neutron.
3. What the features need to be implemented to the Tricircle
to realize the solution
In this patch, we add a framework to load type driver which
processes different network type. The framework is based on
neutron ML2 implemenation, we inherit the ML2 type manager and
create a new Tricircle type manager. Also the Tricircle plugin
is modified to extract network type parameter from request and
insert network type information to response.
[1] https://github.com/openstack/tricircle/blob/master/specs/cross-pod-l2-networking.rst
Change-Id: Ida9b88df6113db46e637a7841ce5c1adaf651eba
1.What is the purpose of this patch set?
The Tricircle project doesn't provide integration test yet.
To achieve integration test, the Tricircle needs to provide
Tempest plugin, so that the integration test job could
be configured in CI pipeline.
Tempest is a set of integration tests to be run against a live
OpenStack cluster:
http://docs.openstack.org/developer/tempest/overview.html
Tempest has an external test plugin interface which enables project
to integrate an external test suite as part of a tempest run.
http://docs.openstack.org/developer/tempest/plugin.html
This patch set is to create the Tricircle tempest plugin with a sample
test case. And main purpose of the patch set is to make tempest enable
to discover the Tricircle tempest plugin and its test case.
2.What is the benefit of this patch set for the Tricircle project?
Make the Tricircle tempest plugin being able to be discovered by
Tempest, and support later integration test job.
3.What is the platform you tested it out?
It will work on all linux distribution including python venv, docker
container are available.
The procedure to make discovering processes are as follows:
Install the Tricircle after the patch merged (the Tricircle tempest
plugin and the sample tempest test case will be installed together for
they are in the same repository):
1. git clone https://github.com/openstack/tricircle.git
2. sudo pip install -e tricircle/
Install the Tempest in another folder in order to avoid the python
import error:
1. git clone https://github.com/openstack/tempest.git
2. sudo pip install -e tempest/
Then run testr in tempest folder to see if the test case of the Tricircle
has been discovered:
1. cd tempest/
2. testr list-tests | grep Tricircle
The Tricircle devstack plugin is also updated with the Tricircle package
installation in order to simplify the tempest discovering processes.
Change-Id: I977c23f5e55e3ee062190fa9d5e6472e5d5acb33
Signed-off-by: Chaoyi Huang <joehuang@huawei.com>
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>
Change the gate to OpenStack infrastrcuture and update the README.md
to reflect the work on the stateless design proposal and branch.
BP: https://blueprints.launchpad.net/tricircle/+spec/new-design
Change-Id: I51accdf33d8d9e50774c16d7649975ca91c2f5ec
Signed-off-by: Chaoyi Huang <joehuang@huawei.com>