summaryrefslogtreecommitdiff
path: root/trove/datastore
diff options
context:
space:
mode:
authorLingxian Kong <anlin.kong@gmail.com>2020-10-07 18:50:53 +1300
committerLingxian Kong <anlin.kong@gmail.com>2020-10-09 11:43:48 +1300
commit1d24b65052bbfb8f7dff5744c7bb44a58a2336c6 (patch)
treeaaa0fe3f8feb9b6640ca11aa69bf122ce0505ad9 /trove/datastore
parent680c7b8361521c494ae93d13b5d33c43a27d35ad (diff)
downloadtrove-1d24b65052bbfb8f7dff5744c7bb44a58a2336c6.tar.gz
Image tags support in datastore version
Change-Id: I0e51d08515c121e3a7b0e82b6e4c4161bb4fbc4a
Diffstat (limited to 'trove/datastore')
-rw-r--r--trove/datastore/models.py15
-rw-r--r--trove/datastore/views.py5
2 files changed, 15 insertions, 5 deletions
diff --git a/trove/datastore/models.py b/trove/datastore/models.py
index 5a53a9f1..bf989133 100644
--- a/trove/datastore/models.py
+++ b/trove/datastore/models.py
@@ -62,9 +62,8 @@ class DBCapabilityOverrides(dbmodels.DatabaseModelBase):
class DBDatastoreVersion(dbmodels.DatabaseModelBase):
-
- _data_fields = ['datastore_id', 'name', 'image_id', 'packages',
- 'active', 'manager']
+ _data_fields = ['datastore_id', 'name', 'image_id', 'image_tags',
+ 'packages', 'active', 'manager']
_table_name = 'datastore_versions'
@@ -448,6 +447,10 @@ class DatastoreVersion(object):
return self.db_info.image_id
@property
+ def image_tags(self):
+ return self.db_info.image_tags
+
+ @property
def packages(self):
return self.db_info.packages
@@ -577,8 +580,8 @@ def update_datastore(name, default_version):
db_api.save(datastore)
-def update_datastore_version(datastore, name, manager, image_id, packages,
- active):
+def update_datastore_version(datastore, name, manager, image_id, image_tags,
+ packages, active):
db_api.configure_db(CONF)
datastore = Datastore.load(datastore)
try:
@@ -592,6 +595,8 @@ def update_datastore_version(datastore, name, manager, image_id, packages,
version.datastore_id = datastore.id
version.manager = manager
version.image_id = image_id
+ version.image_tags = (",".join(image_tags)
+ if type(image_tags) is list else image_tags)
version.packages = packages
version.active = active
diff --git a/trove/datastore/views.py b/trove/datastore/views.py
index 6b4ebb6c..3dfb321a 100644
--- a/trove/datastore/views.py
+++ b/trove/datastore/views.py
@@ -90,6 +90,11 @@ class DatastoreVersionView(object):
datastore_version_dict['packages'] = (self.datastore_version.
packages)
datastore_version_dict['image'] = self.datastore_version.image_id
+
+ image_tags = []
+ if self.datastore_version.image_tags:
+ image_tags = self.datastore_version.image_tags.split(',')
+ datastore_version_dict['image_tags'] = image_tags
return {"version": datastore_version_dict}
def _build_links(self):