11. 다시 keystone-manage 명령어를 이용해 테이블을 생성합니다. 그런데 이번에는 테이블 생성문에 문제가 있다면서 오류 메시지를 표시합니다. 메시지를 잘 읽어 보니 Specified key was too long; max key length is 767 bytes 문장이 있네요. 오류 메시지를 해석하면 생성하려는 테이블은 migrate_version이고, repository_id는 VARCHAR 형의 250자를 입력할 수 있으며, 기본 키입니다.
root@controller:~# su -s /bin/sh -c “keystone-manage db_sync” keystone 2016-05-30 21:33:40.832 13866 ERROR oslo_db.sqlalchemy.exc_filters [-] DBAPIError exception wrapped from (pymysql.err.InternalError) (1071, u’Specified key was too long; max key length is 767 bytes’) [SQL: u’\nCREATE TABLE migrate_version (\n\trepository_id VARCHAR(250) NOT NULL, \n\trepository_path TEXT, \n\tversion INTEGER, \n\tPRIMARY KEY (repository_id)\n)\n\n’] 2016-05-30 21:33:40.832 13866 ERROR oslo_db.sqlalchemy.exc_filters Traceback (most recent call last): 2016-05-30 21:33:40.832 13866 ERROR oslo_db.sqlalchemy.exc_filters File “/usr/ lib/python2.7/dist-packages/sqlalchemy/engine/base.py”, line 1139, in execute context … 2016-05-30 21:33:40.834 13866 ERROR keystone raise InternalError(errno, errorvalue) 2016-05-30 21:33:40.834 13866 ERROR keystone DBError: (pymysql.err. InternalError) (1071, u’Specified key was too long; max key length is 767 bytes’) [SQL: u’\nCREATE TABLE migrate_version (\n\trepository_id VARCHAR(250) NOT NULL, \n\trepository_path TEXT, \n\tversion INTEGER, \n\tPRIMARY KEY (repository_id)
n)\n\n’] 2016-05-30 21:33:40.834 13866 ERROR keystone