summaryrefslogtreecommitdiff
path: root/trove/datastore
diff options
context:
space:
mode:
authorIonuț Arțăriși <iartarisi@suse.cz>2014-02-11 17:49:21 +0100
committerIonuț Arțăriși <iartarisi@suse.cz>2014-02-11 17:51:01 +0100
commit57d7950f85368bd41e8f3660c8bce7f2728f71f3 (patch)
tree18abf40b260a9a9b90e4704f364294d047cda9da /trove/datastore
parente8bd3e6330bc985c3d95351c412c69730b63ca90 (diff)
downloadtrove-57d7950f85368bd41e8f3660c8bce7f2728f71f3.tar.gz
fix traceback when default_version is not in the database
This commit lets the right error be raised which ends up in the cli as e.g: Datastore version '5.5' cannot be found. Change-Id: I636bf43d135b2143f2a3bd1878215d7ec270330e Closes-Bug: #1278965
Diffstat (limited to 'trove/datastore')
-rw-r--r--trove/datastore/models.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/trove/datastore/models.py b/trove/datastore/models.py
index 24807b02..5cf9c029 100644
--- a/trove/datastore/models.py
+++ b/trove/datastore/models.py
@@ -187,19 +187,18 @@ def update_datastore(name, default_version):
db_api.configure_db(CONF)
try:
datastore = DBDatastore.find_by(name=name)
- if default_version:
- version = DatastoreVersion.load(datastore, default_version)
- if not version.active:
- raise exception.DatastoreVersionInactive(version=
- version.name)
- datastore.default_version_id = version.id
except exception.ModelNotFoundError:
# Create a new one
datastore = DBDatastore()
datastore.id = utils.generate_uuid()
datastore.name = name
+
if default_version:
+ version = DatastoreVersion.load(datastore, default_version)
+ if not version.active:
+ raise exception.DatastoreVersionInactive(version=version.name)
datastore.default_version_id = version.id
+
db_api.save(datastore)