OpenStack Networking (Neutron)
Go to file
Matthew Booth 41b0994559 Fix invalid JSON generated by quota details
The value fetched by Quotasv2_detail.get_resources() is ultimately
returned by Reservation.get_total_reservations_map. The total_reserved
value is returned by a sqlalchemy sum(), and is of a type defined by
the database driver in use. PyMySQL returns a Decimal here, which
the api layer serialises to JSON as a string.

Note that if a resource has no reservations then its value will be
defaulted in DbQuotaDriver.get_detailed_tenant_quotas to the integer
value 0. This means that the value is an integer if zero, or a string
otherwise. This causes parsing difficulties for client libraries which
do strict type checking.

Testing note:
This method is already covered by the unit test
TestQuotaDbApi.test_get_reservations_for_resource, which also already
tests the return value and, implicitly, its type. However, it does not
currently fail because the unit tests run with SQLite rather than MySQL.
SQLite returns an int where MySQL returns a Decimal, which does not
trigger the bug.

TestQuotaDbApi.test_get_reservations_for_resource is sufficient to
demonstrate that the patch doesn't regress SQLite. We were not able to
think of a deterministic way to write a Tempest test for this, which
would cover MySQL. Ideally we would have the ability to run the DB test
suites under MySQL and PostreSQL in addition to SQLite using oslo.db's
OpportunisticDbFixture, but the scope of that is larger than this
change.

Closes-Bug: #1918565
Change-Id: Icda0d63f2f5ea72bde423296c76aa46646fa98a8
(cherry picked from commit 9ed17cec2d)
2021-03-19 15:11:10 +00:00
api-ref Fix some typos 2016-06-28 22:46:19 +02:00
devstack ovn: Use new OVS commit hash 2020-09-24 09:38:38 +02:00
doc [OVS FW] Allow egress ICMPv6 only for know addresses 2021-02-27 20:10:39 +00:00
etc Migrate "netstat" to oslo.privsep 2021-02-25 09:55:41 +01:00
neutron Fix invalid JSON generated by quota details 2021-03-19 15:11:10 +00:00
playbooks Migrate neutron grenade jobs to be native Zuul v3 2020-06-21 23:55:09 +02:00
rally-jobs [ci] Fix several rally task arguments 2020-07-09 16:12:09 +03:00
releasenotes [OVN] Set mcast_flood_reports on LSPs 2021-03-10 10:13:34 +00:00
roles [OVN] Unify OVN/OVS compilation 2020-07-17 11:40:37 +00:00
tools ovn migration: Fix neutron server container name 2020-09-24 09:06:00 +00:00
vagrant/ovn [OVN] Merge networking-ovn vagrant into neutron 2020-02-18 17:26:15 -05:00
zuul.d Merge "Limit usage of resources in the fullstack tests job" into stable/ussuri 2021-01-21 16:47:13 +00:00
.coveragerc Cleanup coverage configuration 2016-10-17 17:06:19 +05:30
.gitignore Add etc/neutron/*.sample files to be ignored by git 2019-12-12 12:38:24 +01:00
.gitreview Update .gitreview for stable/ussuri 2020-04-24 12:48:14 +00:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Fix pylint R1717 (consider-using-dict-comprehension) refactor messages 2019-03-14 23:19:58 +00:00
.stestr.conf Fix post gate hook to accommodate for new os-testr 2017-09-12 14:20:12 -06:00
CONTRIBUTING.rst [Community goal] Add contributor and PTL guide 2020-03-03 04:43:26 +01:00
HACKING.rst Remove references to unittest2 library 2020-01-14 09:03:26 +00:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
README.rst Start README.rst with a better title 2019-11-19 17:42:57 +01:00
TESTING.rst Dropping lower constraints testing (stable Ussuri) 2021-01-12 15:49:13 +00:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
bindep.txt Merge "Stop testing python 2" 2019-10-28 00:52:16 +00:00
plugin.spec Migrate the OVN migration scripts 2020-03-31 15:35:35 +01:00
requirements.txt Bump neutron-lib to 2.2.0 2020-03-10 14:14:15 +00:00
setup.cfg Migrate the OVN migration scripts 2020-03-31 15:35:35 +01:00
setup.py Updated from global requirements 2017-03-04 11:19:58 +00:00
test-requirements.txt Fix pep8 job 2020-07-10 13:46:34 +00:00
tox.ini Merge "Reduce number of the workers in fullstack gate job" into stable/ussuri 2021-03-19 15:04:16 +00:00

README.rst

OpenStack Neutron

image

Neutron is an OpenStack project to provide "network connectivity as a service" between interface devices (e.g., vNICs) managed by other OpenStack services (e.g., Nova).

To learn more about neutron:

Get in touch via email. Use [Neutron] in your subject.

To learn how to contribute, please read the CONTRIBUTING.rst file.