def _reset_alembic_log(logger, config, repo_dir): session = get_odb_session_from_server_config( config, get_crypto_manager_from_server_config(config, repo_dir)) with closing(session) as session: query = 'SELECT version_num FROM alembic_version' result = session.execute(query).fetchone() # Check if there is any previous migration and if there is one that indicates # that migrations from previous versions were run (i.e.. from 2.0), delete them. if result: # There will be only one row current_revision = result[0] # All revisions for commit d25de71c have this label in their names if 'git_25de71c' not in current_revision: # Log to user logger.info('Removing old Alembic revisions') # Actually delete query = 'DELETE FROM alembic_version' session.execute(query) # Commit all changes session.commit()
def set_zato_client(self): repo_dir = os.path.join( os.path.abspath(os.path.join(self.server_path)), 'config', 'repo') config = get_config(repo_dir, 'server.conf') self.client = ZatoClient('http://{}'.format(config.main.gunicorn_bind), '/zato/admin/invoke', get_server_client_auth(config, repo_dir), max_response_repr=15000) session = get_odb_session_from_server_config( config, get_crypto_manager_from_server_config(config, repo_dir)) self.client.cluster_id = session.query(odb.model.Server).\ filter(odb.model.Server.token == config.main.token).\ one().cluster_id self.client.odb_session = session # Sanity check self.client.invoke('zato.ping') # ################################################################################################################################
def get_client_from_server_conf(server_dir, client_auth_func, get_config_func, server_url=None): """ Returns a Zato client built out of data found in a given server's config files. """ # To avoid circular references from zato.common.util import get_crypto_manager_from_server_config, get_odb_session_from_server_config class ZatoClient(AnyServiceInvoker): def __init__(self, *args, **kwargs): super(ZatoClient, self).__init__(*args, **kwargs) self.cluster_id = None self.odb_session = None repo_dir = os.path.join(os.path.abspath(os.path.join(server_dir)), 'config', 'repo') config = get_config_func(repo_dir, 'server.conf') server_url = server_url if server_url else config.main.gunicorn_bind client = ZatoClient('http://{}'.format(server_url), '/zato/admin/invoke', client_auth_func(config, repo_dir), max_response_repr=15000) session = get_odb_session_from_server_config( config, get_crypto_manager_from_server_config(config, repo_dir)) client.cluster_id = session.query(Server).\ filter(Server.token == config.main.token).\ one().cluster_id client.odb_session = session return client
def set_zato_client(self): repo_dir = os.path.join(os.path.abspath(os.path.join(self.server_path)), 'config', 'repo') config = get_config(repo_dir, 'server.conf') self.client = ZatoClient('http://{}'.format(config.main.gunicorn_bind), '/zato/admin/invoke', get_server_client_auth(config, repo_dir), max_response_repr=15000) session = get_odb_session_from_server_config( config, get_crypto_manager_from_server_config(config, repo_dir)) self.client.cluster_id = session.query(odb.model.Server).\ filter(odb.model.Server.token == config.main.token).\ one().cluster_id self.client.odb_session = session # Sanity check self.client.invoke('zato.ping')