OpenStack DNS As A Service (Designate)
Go to file
Arjun Baindur 59c5c66465 Make update_status use synchronized_zone
There is a race condition when adding a new recordset to a zone
and when central is processing the update_status from a previous
recordset/zone operation. In the subsequent recordset operation,
central fails to update the zone's action/status in DB to UPDATE/PENDING.
It remains as NONE/ACTIVE, and worker error's out.

Each operation retrieves a different copy in memory of the Zone object
(when it calls self.storage.get_zone). As a result this does not update
the obj_changes field for the zone object for the latter operation.
Therefore the DB update doesn't update any values.

update_status should be synchronized as it updates zone DB

Change-Id: Ib4e0bc567ba8eb54c61c3921d165521bf2f12206
Closes-Bug: #1713875
(cherry picked from commit 12cd654b14)
2018-10-01 00:02:33 -07:00
api-ref/source Merge "Remove the deprecated "giturl" option" 2018-02-03 14:16:52 +00:00
contrib Remove v1 API 2018-01-11 14:13:43 +00:00
designate Make update_status use synchronized_zone 2018-10-01 00:02:33 -07:00
devstack Remove use of unsupported TEMPEST_SERVICES variable 2018-01-23 16:46:20 +03:00
doc Update auth_uri option to www_authenticate_uri 2018-05-15 07:58:22 +00:00
etc/designate Fix policy name 2018-03-15 12:39:37 +00:00
playbooks/legacy Remove v1 API 2018-01-11 14:13:43 +00:00
rally-jobs Add validation to improve pep8 check for designate project 2017-11-20 12:26:16 +00:00
releasenotes Imported Translations from Zanata 2018-03-01 07:12:22 +00:00
tools Refactor NSD4 UT for using upstream eventlet 2017-04-27 17:11:16 +07:00
.coveragerc Update .coveragerc after the removal of respective directory 2016-10-18 17:56:48 +05:30
.gitignore Update .gitignore 2017-12-01 13:20:38 +07:00
.gitreview Update .gitreview for stable/queens 2018-02-08 20:07:47 +00:00
.testr.conf Add functional tox env 2015-07-14 15:36:08 +01:00
.zuul.yaml Remove install-guide-jobs 2018-08-29 20:39:24 +02:00
LICENSE Add LICENSE file. 2013-06-18 16:13:03 -04:00
README.rst Add validation to improve pep8 check for designate project 2017-11-20 12:26:16 +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
requirements.txt Updated from global requirements 2018-01-27 21:08:08 +00:00
setup.cfg Remove v1 API 2018-01-11 14:13:43 +00:00
setup.py Updated from global requirements 2017-03-08 23:22:13 +00:00
test-requirements.txt Updated from global requirements 2018-03-13 05:20:10 +00:00
tox.ini Removing removed bandit plugins to fix gate 2018-08-20 17:42:57 +00:00

README.rst

Team and repository tags

image

OpenStack Designate

Designate is an OpenStack project, providing DNSaaS.

IRC: #openstack-dns

Installation: https://docs.openstack.org/designate/latest/

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