def exec_docker_command(docker_cmd): print(docker_cmd) start = time() result = exec_cmd(docker_cmd) print(f'RESULT: {result}') duration = int((time() - start) * 1000) print(f"Command finished successfully time={duration}")
def exec_docker_command(docker_cmd) -> str: print(docker_cmd) start = time.time() result = exec_cmd(docker_cmd) duration = int((time.time() - start) * 1000) print(f"Command finished successfully time={duration}") return result
def test_os_user(vertica_container_name, vertica_setup): print(f"Test OS user named {vertica_setup['db_user']} ...") os_user = exec_cmd( f"docker exec -it {vertica_container_name} whoami").rstrip() if os_user == vertica_setup['db_user']: print('Test passed') else: print(f"Test failed expected={vertica_setup['db_user']} got={os_user}")
def poll_for_db_service(vertica_setup: config.VerticaSetup): service_address = f"{vertica_setup.host}:{vertica_setup.exposed_port}" print(f'Waiting on DB service {service_address}') sleep_delay = 2 multiplier = 2 max_threshold = 20 while True: output = exec_cmd( f"docker logs --tail 1 {vertica_setup.vertica_container_name}" ).rstrip() if output == 'Vertica is now running': return time.sleep(sleep_delay) sleep_delay *= multiplier if sleep_delay > max_threshold: sleep_delay = max_threshold
def poll_for_db(conn_info, vertica_setup, vertica_container_name): start = time.time() while (time.time() - start) < vertica_setup['db_start_timeout']: try: output = exec_cmd( f"docker logs --tail 1 {vertica_container_name}").rstrip() if output == 'Vertica is now running': with vertica_python.connect(**conn_info) as conn: cur = conn.cursor('dict') cur.execute("select 1") else: time.sleep(10) print( f"DB is not yet ready, last msg from container: {output}") continue except vertica_python.errors.ConnectionError: duration = int((time.time() - start) * 1000) time.sleep(10) print(f"DB is not yet ready, duration={duration}, waiting ...") else: return True return False
def test_os_user(self, db: config.DbData): os_user = cmd_utils.exec_cmd(f"docker exec -i {db.vertica_setup.vertica_container_name} whoami").rstrip() assert os_user == db.vertica_setup.db_user