# HG changeset patch # User Drew Fisher # Date 1432675217 25200 # Node ID c3f50d5f75d2a39594f77723a46da670f895d017 # Parent 513380f66f7f4eef7be5aaa63fffe7ad99210d86 21150246 MySQL needs more time to come online diff -r 513380f66f7f -r c3f50d5f75d2 components/openstack/common/files/openstack_common.py --- a/components/openstack/common/files/openstack_common.py Tue May 26 06:49:06 2015 -0700 +++ b/components/openstack/common/files/openstack_common.py Tue May 26 14:20:17 2015 -0700 @@ -69,7 +69,7 @@ import MySQLdb - for _none in range(5): + for _none in range(60): try: db = MySQLdb.connect(host=engine.url.host, user=engine.url.username, diff -r 513380f66f7f -r c3f50d5f75d2 components/openstack/neutron/files/evs/migrate/evs-neutron-migration.py --- a/components/openstack/neutron/files/evs/migrate/evs-neutron-migration.py Tue May 26 06:49:06 2015 -0700 +++ b/components/openstack/neutron/files/evs/migrate/evs-neutron-migration.py Tue May 26 14:20:17 2015 -0700 @@ -22,24 +22,21 @@ # import ConfigParser +import time + +from oslo.config import cfg +from oslo.db import exception as excp +from oslo.db import options as db_options +import rad.bindings.com.oracle.solaris.rad.evscntl as evsc import rad.connect as radcon -import rad.bindings.com.oracle.solaris.rad.evscntl as evsc +import sqlalchemy as sa +from sqlalchemy import MetaData, sql +from sqlalchemy.orm import sessionmaker +from sqlalchemy.schema import DropConstraint from neutron import context as ctx -from neutron.db import common_db_mixin -from neutron.db import api as db -from neutron.db import model_base -from neutron.plugins.evs.migrate import havana_api - -import sqlalchemy as sa -from sqlalchemy import MetaData -from sqlalchemy.orm import sessionmaker -from sqlalchemy.schema import DropConstraint -from sqlalchemy import sql - -from oslo.config import cfg -from oslo.db import options as db_options -from oslo.db import exception as excp +from neutron.db import common_db_mixin, model_base +from neutron.plugins.evs.migrate import havana_api def create_db_network(nw, engine, ext_ro): @@ -54,7 +51,18 @@ from neutron.db import db_base_plugin_v2 from neutron.db import external_net_db as ext_net model_base.BASEV2.metadata.bind = engine - model_base.BASEV2.metadata.create_all(engine) + for _none in range(60): + try: + model_base.BASEV2.metadata.create_all(engine) + break + except sa.exc.OperationalError as err: + # mysql is not ready. sleep for 2 more seconds + time.sleep(2) + else: + print "Unable to connect to MySQL: %s" % err + print ("Please verify MySQL is properly configured and online " + "before using svcadm(1M) to clear this service.") + raise RuntimeError ctxt = ctx.get_admin_context() inst = db_base_plugin_v2.NeutronDbPluginV2() dup = False