help='Services to be added to the available pool on create'), cfg.StrOpt('storage_name_template', default='storage-%s', help='Template string to be used to generate storage names'), cfg.StrOpt('snapshot_name_template', default='snapshot-%s', help='Template string to be used to generate snapshot names'), cfg.StrOpt('backup_name_template', default='backup-%s', help='Template string to be used to generate backup names'), ] FLAGS = flags.FLAGS FLAGS.register_opts(db_opts) IMPL = utils.LazyPluggable('db_backend', sqlalchemy='vsm.db.sqlalchemy.api') class NoMoreTargets(exception.VsmException): """No more available targets""" pass ################### def device_get_by_name(context, device_name): return IMPL.device_get_by_name(context, device_name) def service_destroy(context, service_id):
# # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """Database setup and migration commands.""" from vsm import utils IMPL = utils.LazyPluggable('db_backend', sqlalchemy='vsm.db.sqlalchemy.migration') INIT_VERSION = 000 def db_sync(version=None): """Migrate the database to `version` or the most recent version.""" return IMPL.db_sync(version=version) def db_version(): """Display the current database version.""" return IMPL.db_version()