def get_datastore_version(type=None, version=None, return_inactive=False, version_number=None): datastore = type or CONF.default_datastore if not datastore: raise exception.DatastoreDefaultDatastoreNotDefined() try: datastore = Datastore.load(datastore) except exception.DatastoreNotFound: if not type: raise exception.DatastoreDefaultDatastoreNotFound( datastore=datastore) raise version_id = version or datastore.default_version_id if not version_id: raise exception.DatastoreDefaultVersionNotFound( datastore=datastore.name) datastore_version = DatastoreVersion.load(datastore, version_id, version=version_number) if datastore_version.datastore_id != datastore.id: raise exception.DatastoreNoVersion(datastore=datastore.name, version=datastore_version.name) if not datastore_version.active and not return_inactive: raise exception.DatastoreVersionInactive( version=datastore_version.name) return (datastore, datastore_version)
def get_datastore_version(type=None, version=None): datastore = type or CONF.default_datastore if not datastore: raise exception.DatastoreDefaultDatastoreNotFound() datastore = Datastore.load(datastore) version = version or datastore.default_version_id if not version: raise exception.DatastoreDefaultVersionNotFound(datastore= datastore.name) datastore_version = DatastoreVersion.load(version) if datastore_version.datastore_id != datastore.id: raise exception.DatastoreNoVersion(datastore=datastore.name, version=datastore_version.name) if not datastore_version.active: raise exception.DatastoreVersionInactive(version= datastore_version.name) return (datastore, datastore_version)
def update_datastore(name, default_version): db_api.configure_db(CONF) try: datastore = DBDatastore.find_by(name=name) 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)