diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-05-30 20:35:25 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-05-30 20:35:25 +0000 |
| commit | c9eef0773aaeeef474936004549ff17d71be8ae4 (patch) | |
| tree | 7d65511ab4269559c8308ea17dac11b4abb238eb | |
| parent | d6cfe4f2e2c7c1b3eb23bf9f864779940a645555 (diff) | |
| parent | 6123c29c1a8caa29e4df34282550890325ef3e01 (diff) | |
Merge "Add <version> arg to keystone-manage db_sync"
| -rw-r--r-- | keystone/catalog/backends/sql.py | 4 | ||||
| -rw-r--r-- | keystone/cli.py | 12 | ||||
| -rw-r--r-- | keystone/credential/backends/sql.py | 4 | ||||
| -rw-r--r-- | keystone/identity/backends/sql.py | 4 | ||||
| -rw-r--r-- | keystone/policy/backends/sql.py | 4 |
5 files changed, 19 insertions, 9 deletions
diff --git a/keystone/catalog/backends/sql.py b/keystone/catalog/backends/sql.py index 63a2ec01..1dad5a80 100644 --- a/keystone/catalog/backends/sql.py +++ b/keystone/catalog/backends/sql.py @@ -50,8 +50,8 @@ class Endpoint(sql.ModelBase, sql.DictBase): class Catalog(sql.Base, catalog.Driver): - def db_sync(self): - migration.db_sync() + def db_sync(self, version=None): + migration.db_sync(version=version) # Services def list_services(self): diff --git a/keystone/cli.py b/keystone/cli.py index 45787f15..82ecc18a 100644 --- a/keystone/cli.py +++ b/keystone/cli.py @@ -47,12 +47,22 @@ class DbSync(BaseApp): name = 'db_sync' + @classmethod + def add_argument_parser(cls, subparsers): + parser = super(DbSync, cls).add_argument_parser(subparsers) + parser.add_argument('version', default=None, nargs='?', + help=('Migrate the database up to a specified ' + 'version. If not provided, db_sync will ' + 'migrate the database to the latest known ' + 'version.')) + return parser + @staticmethod def main(): for k in ['identity', 'catalog', 'policy', 'token', 'credential']: driver = importutils.import_object(getattr(CONF, k).driver) if hasattr(driver, 'db_sync'): - driver.db_sync() + driver.db_sync(CONF.command.version) class BaseCertificateSetup(BaseApp): diff --git a/keystone/credential/backends/sql.py b/keystone/credential/backends/sql.py index cf8d4bd3..eab9dfea 100644 --- a/keystone/credential/backends/sql.py +++ b/keystone/credential/backends/sql.py @@ -34,8 +34,8 @@ class CredentialModel(sql.ModelBase, sql.DictBase): class Credential(sql.Base, credential.Driver): # Internal interface to manage the database - def db_sync(self): - migration.db_sync() + def db_sync(self, version=None): + migration.db_sync(version=version) # credential crud diff --git a/keystone/identity/backends/sql.py b/keystone/identity/backends/sql.py index 670ebb65..71cab057 100644 --- a/keystone/identity/backends/sql.py +++ b/keystone/identity/backends/sql.py @@ -138,8 +138,8 @@ class UserGroupMembership(sql.ModelBase, sql.DictBase): class Identity(sql.Base, identity.Driver): # Internal interface to manage the database - def db_sync(self): - migration.db_sync() + def db_sync(self, version=None): + migration.db_sync(version=version) def _check_password(self, password, user_ref): """Check the specified password against the data store. diff --git a/keystone/policy/backends/sql.py b/keystone/policy/backends/sql.py index c1eff268..267d3fa4 100644 --- a/keystone/policy/backends/sql.py +++ b/keystone/policy/backends/sql.py @@ -31,8 +31,8 @@ class PolicyModel(sql.ModelBase, sql.DictBase): class Policy(sql.Base, rules.Policy): # Internal interface to manage the database - def db_sync(self): - migration.db_sync() + def db_sync(self, version=None): + migration.db_sync(version=version) @sql.handle_conflicts(type='policy') def create_policy(self, policy_id, policy): |
