Skip to content

Instantly share code, notes, and snippets.

@rm-you
Created March 29, 2017 15:37
Show Gist options
  • Save rm-you/f57fc3bd85235e801025d0fa020a16ad to your computer and use it in GitHub Desktop.
Save rm-you/f57fc3bd85235e801025d0fa020a16ad to your computer and use it in GitHub Desktop.
def _send_pool_to_handler(self, session, db_pool, listener_id):
try:
LOG.info(_LI("Sending Creation of Pool %s to handler"),
db_pool.id)
self.handler.create(db_pool)
except Exception:
with excutils.save_and_reraise_exception(reraise=False):
lock_session = db_api.get_session(autocommit=False)
try:
self._reset_lb_and_listener_statuses(
session, lb_id=db_pool.load_balancer_id,
listener_ids=[listener_id] if listener_id else [])
# Pool now goes to ERROR
self.repositories.pool.update(
session, db_pool.id,
provisioning_status=constants.ERROR)
lock_session.commit()
except Exception:
with excutils.save_and_reraise_exception():
lock_session.rollback()
db_pool = self._get_db_pool(session, db_pool.id)
result = self._convert_db_to_type(db_pool, pool_types.PoolResponse)
return pool_types.PoolRootResponse(pool=result)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment