Fix Docker and revert openmetadata-start.sh changes (#4518)

* Fix Docker and revert openmetadata-start.sh changes

* Fix Docker - added error handling

* Fix Docker - added error handling

* Added time.sleep

* Resolve Code smell
This commit is contained in:
Ayush Shah 2022-04-27 14:20:09 +05:30 committed by GitHub
parent 55c91b2a27
commit 9cb9792b7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 13 deletions

View File

@ -14,11 +14,6 @@ MYSQL="${MYSQL_HOST:-mysql}":"${MYSQL_PORT:-3306}"
while ! wget -O /dev/null -o /dev/null "${MYSQL}"; while ! wget -O /dev/null -o /dev/null "${MYSQL}";
do echo "Trying to connect to ${MYSQL}"; sleep 5; do echo "Trying to connect to ${MYSQL}"; sleep 5;
done done
ELASTICSEARCH="${ELASTICSEARCH_HOST:-elasticsearch}":"${ELASTICSEARCH_PORT:-9200}"
while ! wget -O /dev/null -o /dev/null "${ELASTICSEARCH}";
do echo "Trying to connect to ${ELASTICSEARCH}"; sleep 5;
done
sleep 5
cd /openmetadata-*/ cd /openmetadata-*/
./bootstrap/bootstrap_storage.sh migrate-all ./bootstrap/bootstrap_storage.sh migrate-all
./bin/openmetadata-server-start.sh conf/openmetadata.yaml ./bin/openmetadata-server-start.sh conf/openmetadata.yaml

View File

@ -6,11 +6,10 @@ import tempfile
import time import time
import traceback import traceback
from base64 import b64encode from base64 import b64encode
from datetime import datetime, timedelta from datetime import timedelta
import click import click
import requests as requests import requests as requests
from requests._internal_utils import to_native_string
from metadata.generated.schema.entity.data.table import Table from metadata.generated.schema.entity.data.table import Table
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import ( from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import (
@ -165,7 +164,6 @@ def run_docker(
docker.compose.stop() docker.compose.stop()
logger.info("Docker compose for OpenMetadata stopped successfully.") logger.info("Docker compose for OpenMetadata stopped successfully.")
if reset_db: if reset_db:
reset_db_om(docker) reset_db_om(docker)
if clean: if clean:
logger.info( logger.info(
@ -230,6 +228,7 @@ def ingest_sample_data() -> None:
""" """
Trigger sample data DAGs Trigger sample data DAGs
""" """
from requests._internal_utils import to_native_string
base_url = "http://localhost:8080/api" base_url = "http://localhost:8080/api"
dags = ["sample_data", "sample_usage", "index_metadata"] dags = ["sample_data", "sample_usage", "index_metadata"]
@ -243,9 +242,20 @@ def ingest_sample_data() -> None:
), ),
) )
client = REST(client_config) client = REST(client_config)
timeout = time.time() + 60 * 5 # Timeout of 5 minutes
while True:
try:
resp = client.get("/dags")
if resp:
break
elif time.time() > timeout:
raise TimeoutError("Ingestion container timed out")
except TimeoutError as err:
print(err)
sys.exit(1)
except Exception:
sys.stdout.write(".")
time.sleep(5)
for dag in dags: for dag in dags:
json_sample_data = { json_sample_data = {"is_paused": False}
"dag_run_id": "{}_{}".format(dag, datetime.now()), client.patch("/dags/{}".format(dag), data=json.dumps(json_sample_data))
}
client.post("/dags/{}/dagRuns".format(dag), data=json.dumps(json_sample_data))