From ec363aca96d4154118ae14b108fcad2ff0917d92 Mon Sep 17 00:00:00 2001 From: Dmitry Khovyakov Date: Wed, 11 Jul 2012 14:17:46 +0300 Subject: Import ec2 credentials from old keystone db Fix bug #1016056 Change-Id: Iebf31ccbdeff274b2c8f265911d3411963dd4844 --- keystone/common/sql/legacy.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/keystone/common/sql/legacy.py b/keystone/common/sql/legacy.py index c7c3d87f..cfd05d98 100644 --- a/keystone/common/sql/legacy.py +++ b/keystone/common/sql/legacy.py @@ -17,10 +17,16 @@ import re import sqlalchemy +from sqlalchemy import exc +from keystone.common import logging +from keystone.contrib.ec2.backends import sql as ec2_sql from keystone.identity.backends import sql as identity_sql +LOG = logging.getLogger(__name__) + + def export_db(db): table_names = db.table_names() @@ -50,6 +56,7 @@ class LegacyMigration(object): self.db = sqlalchemy.create_engine(db_string) self.identity_driver = identity_sql.Identity() self.identity_driver.db_sync() + self.ec2_driver = ec2_sql.Ec2() self._data = {} self._user_map = {} self._tenant_map = {} @@ -62,6 +69,7 @@ class LegacyMigration(object): self._migrate_roles() self._migrate_user_roles() self._migrate_tokens() + self._migrate_ec2() def dump_catalog(self): """Generate the contents of a catalog templates file.""" @@ -153,3 +161,14 @@ class LegacyMigration(object): def _migrate_tokens(self): pass + + def _migrate_ec2(self): + for x in self._data['credentials']: + new_dict = {'user_id': x['user_id'], + 'tenant_id': x['tenant_id'], + 'access': x['key'], + 'secret': x['secret']} + try: + self.ec2_driver.create_credential(None, new_dict) + except exc.IntegrityError: + LOG.exception('Cannot migrate EC2 credential: %s' % x) -- cgit