designate/designate
Arjun Baindur 7c2a3be3e4 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-09-23 10:52:54 +00:00
..
agent Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
api Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
backend Merge "correct LOG.warning args in object_manipulator.py" into stable/pike 2018-02-12 14:21:51 +00:00
central Make update_status use synchronized_zone 2018-09-23 10:52:54 +00:00
cmd Bump hacking to new required version 2017-03-07 21:56:28 +00:00
common cors: update default configuration in config 2016-11-03 11:00:21 +08:00
hacking Fix typos in comments 2015-09-03 18:37:27 +09:00
locale/en_GB/LC_MESSAGES Imported Translations from Zanata 2016-05-21 06:16:44 +00:00
manage Delay rpc initialization until config is available 2017-10-24 13:53:57 +02:00
mdns Fix AXFR queries under py3.5 2017-07-24 16:31:36 +02:00
metrics_client Fix noop metrics timed decorator 2017-01-26 16:58:37 -07:00
network_api Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
notification_handler Remove deprecated cfg in notification and add format-v6 test 2017-07-17 06:21:50 +00:00
objects Merge "Make the Zone object py3 compatible" 2017-06-29 02:25:28 +00:00
pool_manager Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
producer Improving auto-genconfig for producer cfg 2017-07-31 19:22:27 +07:00
quota Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
resources Allow api_export_size to be updated 2016-04-21 18:11:16 +01:00
scheduler Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
schema Trivial fix pep8 and typos 2017-05-06 03:30:23 +07:00
sink Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
sqlalchemy Fix DB migration with postgresql 2016-11-11 17:36:54 +01:00
storage PyMySQL 0.8.0 compat fix 2018-01-05 16:30:11 +00:00
tests Show the correct ptr record instead of the first one 2018-01-04 15:04:08 +00:00
worker Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
__init__.py Merge "Auto-generate designate.conf.sample via genconfig testenv" 2017-07-12 20:12:39 +00:00
context.py Make notifications pluggable 2017-01-19 16:10:15 +00:00
coordination.py Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
debug.py Update email addresses hp.com to hpe.com 2016-01-11 14:29:33 +00:00
dnsutils.py Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
exceptions.py Add support for getting Service Status 2016-04-12 16:32:17 +02:00
hookpoints.py Trivial fix pep8 and typos 2017-05-06 03:30:23 +07:00
i18n.py Update email addresses hp.com to hpe.com 2016-01-11 14:29:33 +00:00
loggingutils.py Add Decorator to log RPCAPI Calls 2016-04-21 14:11:35 +01:00
metrics.py Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
notifications.py Make notifications pluggable 2017-01-19 16:10:15 +00:00
opts.py Improving auto-genconfig for producer cfg 2017-07-31 19:22:27 +07:00
plugin.py Drop use of 'oslo' namespace package 2015-04-28 18:32:15 +00:00
policy.py Move successfull policy checks to trace 2016-04-06 14:42:34 +01:00
rpc.py Eliminate annoying oslo.messaging timed out message 2017-06-28 17:45:10 +00:00
service.py Trivial fix pep8 and typos 2017-05-06 03:30:23 +07:00
service_status.py Auto-generate designate.conf.sample via genconfig testenv 2017-07-01 21:32:16 +07:00
utils.py use oslo_utils.uuidutils module 2017-07-27 18:44:49 +05:30
version.py Switch to oslo.reports 2015-11-05 10:55:29 +01:00