Merge "Don't raise oslo_db exceptions from heat"

This commit is contained in:
Jenkins 2016-03-15 21:17:18 +00:00 committed by Gerrit Code Review
commit 29d8eb8f86
1 changed files with 8 additions and 5 deletions

View File

@ -13,13 +13,12 @@
import uuid
from oslo_db import api as oslo_db_api
from oslo_db import exception as db_exc
from oslo_log import log as logging
from oslo_serialization import jsonutils
from oslo_service import service
from oslo_utils import timeutils
import requests
from retrying import retry
import six
from six.moves.urllib import parse as urlparse
@ -36,6 +35,10 @@ from heat.rpc import api as rpc_api
LOG = logging.getLogger(__name__)
def retry_if_concur_trans_error(ex):
return isinstance(ex, exception.ConcurrentTransaction)
class SoftwareConfigService(service.Service):
def show_software_config(self, cnxt, config_id):
@ -91,7 +94,8 @@ class SoftwareConfigService(service.Service):
result = [api.format_software_config(sd.config) for sd in flt_sd_s]
return result
@oslo_db_api.wrap_db_retry(max_retries=10, retry_on_request=True)
@retry(stop_max_attempt_number=11,
retry_on_exception=retry_if_concur_trans_error)
def _push_metadata_software_deployments(
self, cnxt, server_id, stack_user_project_id):
rs = db_api.resource_get_by_physical_resource_id(cnxt, server_id)
@ -104,8 +108,7 @@ class SoftwareConfigService(service.Service):
cnxt, rs.id, {'rsrc_metadata': md}, rs.atomic_key)
if not rows_updated:
action = "deployments of server %s" % server_id
raise db_exc.RetryRequest(
exception.ConcurrentTransaction(action=action))
raise exception.ConcurrentTransaction(action=action)
metadata_put_url = None
metadata_queue_id = None