diff options
author | Lingxian Kong <anlin.kong@gmail.com> | 2020-10-07 18:50:53 +1300 |
---|---|---|
committer | Lingxian Kong <anlin.kong@gmail.com> | 2020-10-09 11:43:48 +1300 |
commit | 1d24b65052bbfb8f7dff5744c7bb44a58a2336c6 (patch) | |
tree | aaa0fe3f8feb9b6640ca11aa69bf122ce0505ad9 /trove/datastore | |
parent | 680c7b8361521c494ae93d13b5d33c43a27d35ad (diff) | |
download | trove-1d24b65052bbfb8f7dff5744c7bb44a58a2336c6.tar.gz |
Image tags support in datastore version
Change-Id: I0e51d08515c121e3a7b0e82b6e4c4161bb4fbc4a
Diffstat (limited to 'trove/datastore')
-rw-r--r-- | trove/datastore/models.py | 15 | ||||
-rw-r--r-- | trove/datastore/views.py | 5 |
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): |