in scripts/testing/cli.py [0:0]
def setup_stack(name, vm_zone, es_version, connectors_ref, es_host):
with click.progressbar(label="Setting up the stack...", length=100) as steps:
# Upload pull-connectors file
cmd = [
"gcloud",
"compute",
"scp",
PULL_CONNECTORS_SCRIPT,
f"{name}:~/",
"--zone",
vm_zone,
]
run_gcloud_cmd(cmd)
steps.update(1)
# pull connectors repo
cmd = [
"gcloud",
"compute",
"ssh",
name,
"--zone",
vm_zone,
"--command",
f"sudo ./{os.path.basename(PULL_CONNECTORS_SCRIPT)} {connectors_ref}",
]
run_gcloud_cmd(cmd)
steps.update(9)
# check if it's a cloud/serverless deployment
if es_host != ES_DEFAULT_HOST:
steps.update(90)
return
# upload Elasticsearch docker compose file
cmd = [
"gcloud",
"compute",
"scp",
DOCKER_COMPOSE_FILE,
f"{name}:~/",
"--zone",
vm_zone,
]
run_gcloud_cmd(cmd)
steps.update(1)
# run docker compose file
cmd = [
"gcloud",
"compute",
"ssh",
name,
"--zone",
vm_zone,
"--command",
f"sudo ES_VERSION={es_version} docker compose -f ~/{os.path.basename(DOCKER_COMPOSE_FILE)} up -d",
]
run_gcloud_cmd(cmd)
steps.update(9)
# wait when Elasticsearch starts
for _i in range(1, 16):
time.sleep(SLEEP_TIMEOUT)
steps.update(4)
steps.update(20)