summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-07-19 17:37:03 +0000
committerGerrit Code Review <review@openstack.org>2012-07-19 17:37:03 +0000
commit65aef03cac150d96fcdbf49ba22601224cdf878b (patch)
treee0473f33a64f89cf23f9ee54d6bff4f2083fcdb2
parent409687f7baa159069a11dbdd890c5c46aa057d8d (diff)
parentec363aca96d4154118ae14b108fcad2ff0917d92 (diff)
Merge "Import ec2 credentials from old keystone db"
-rw-r--r--keystone/common/sql/legacy.py19
1 files changed, 19 insertions, 0 deletions
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)