OpenStack DNS As A Service (Designate)
Go to file
James Li f40681c3df Improve performance of recordsets API
The performance of /v2/recordsets API was found slow when
filtering on large amount of recordsets. The patch proposes
the following ways to improve the performance,
and was tested with 1M recordsets.

1. To explicitly mention a correct table index in sql queries
for different sort keys and filtering keys.
We found mysql optimizer is not able to choose the most suitable index;

2. Introduce a new header 'OpenStack-DNS-Hide-Counts' to give operators
the flexibility of showing total_count or not, because we found that
the count query does not scale well on a large amount of records.

Performance results are at: https://gist.github.com/jamesyli/2eb9fb474a493477a9beb42fe122180f

DB migration
Change-Id: I7f3a09ce2c7396ff6ad02d3b5d562d186f66ed30
2016-08-12 15:54:36 +00:00
api-ref/source Fix api-ref methods for getting, updating and deleting recordsets 2016-08-03 22:46:43 +00:00
contrib Python 3: dict.itervalues() 2016-07-27 00:37:07 +00:00
designate Improve performance of recordsets API 2016-08-12 15:54:36 +00:00
devstack Python 3: dict.iteritems() 2016-07-23 03:53:03 +00:00
doc Merge "Docs for working with multiple pools" 2016-08-02 13:36:16 +00:00
etc/designate Improve performance of recordsets API 2016-08-12 15:54:36 +00:00
functionaltests Add v2/quotas 2016-07-06 20:06:17 +01:00
rally-jobs Grammar mistakes have been corrected 2015-08-22 21:32:18 +05:30
releasenotes Add v2/quotas 2016-07-06 20:06:17 +01:00
tools Removed old tooling for ks CLI 2016-04-18 20:34:29 +01:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:26:01 +00:00
.gitignore Add etc/designate/*.yaml to .gitignore 2016-06-08 21:52:19 +00:00
.gitreview Update .gitreview for repository move 2014-06-28 16:52:03 +01:00
.testr.conf Add functional tox env 2015-07-14 15:36:08 +01:00
LICENSE Add LICENSE file. 2013-06-18 16:13:03 -04:00
README.rst Update README to RST 2016-02-23 15:16:18 +00:00
babel.cfg Setup for translation 2014-07-04 16:40:02 +02:00
designate.sublime-project Add __pycache__ to ST2 Ignore 2015-07-09 20:19:53 +01:00
ipa-requirements.txt add support for FreeIPA backend - phase 5 - requirements 2014-05-07 17:16:12 -06:00
openstack-common.conf Switch to oslo.reports 2015-11-05 10:55:29 +01:00
requirements.txt Updated from global requirements 2016-08-04 02:34:25 +00:00
setup.cfg Merge "Add Python 3.5 classifier and venv" 2016-07-14 17:38:27 +00:00
setup.py Updated from global requirements 2015-09-17 12:11:31 +00:00
test-requirements.txt Add missing zake lib to t-r 2016-06-28 21:19:45 +01:00
tests-py3.txt Fix rrset serialization, improve mdns tests 2016-05-11 15:06:31 +01:00
tox.ini Add Python 3.5 classifier and venv 2016-07-12 16:01:27 +00:00

README.rst

OpenStack Designate

Designate is an OpenStack project, providing DNSaaS.

IRC: #openstack-dns

Installation: http://docs.openstack.org/developer/designate/getting-started.html

Development

Designate follows the OpenStack Gerrit Workflow

Setup

Setup a working environment:

git clone https://github.com/openstack/designate.git
cd designate
virtualenv .venv
. .venv/bin/activate
pip install -r requirements.txt -r test-requirements.txt
python setup.py develop

Building Docs

To build the documentation from the restructured text source, do the following:

cd doc
pip install -r requirements.txt
sphinx-build  source/ build/html/

now point your browser at html/index.html (the official documentation is published to docs.openstack.org by the maintainers.

Contributing

Install the git-review package to make life easier

pip install git-review

Branch, work, & submit:

# cut a new branch, tracking master
git checkout --track -b bug/id origin/master
# work work work
git add stuff
git commit
# rebase/squash to a single commit before submitting
git rebase -i
# submit
git-review

Testing

Execute a single test using py27 (test is CentralServiceTest.test_count_domains)

tox -e py27 -- designate.tests.test_central.test_service.CentralServiceTest.test_count_zones_policy_check