This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 7f47006eff Make breeze works with latest docker-compose (#26233)
7f47006eff is described below
commit 7f47006effb330429fb510eb52644d22544f4fad
Author: Jarek Potiuk <[email protected]>
AuthorDate: Thu Sep 8 17:19:39 2022 +0200
Make breeze works with latest docker-compose (#26233)
The latest docker-compose dropped an alias for `docker-compose` and
we need to detect it and use "docker compose" instead.
---
dev/breeze/src/airflow_breeze/commands/developer_commands.py | 8 +++++---
dev/breeze/src/airflow_breeze/commands/testing_commands.py | 5 +++--
dev/breeze/src/airflow_breeze/utils/docker_command_utils.py | 6 +++++-
3 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/dev/breeze/src/airflow_breeze/commands/developer_commands.py
b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
index 3f3c894df8..3a3c95e7bc 100644
--- a/dev/breeze/src/airflow_breeze/commands/developer_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/developer_commands.py
@@ -69,6 +69,7 @@ from airflow_breeze.utils.confirm import set_forced_answer
from airflow_breeze.utils.console import get_console
from airflow_breeze.utils.custom_param_types import BetterChoice,
NotVerifiedBetterChoice
from airflow_breeze.utils.docker_command_utils import (
+ DOCKER_COMPOSE_COMMAND,
check_docker_resources,
get_env_variables_for_docker_commands,
get_extra_docker_flags,
@@ -468,7 +469,8 @@ def compile_www_assets(
is_flag=True,
)
def stop(verbose: bool, dry_run: bool, preserve_volumes: bool):
- command_to_execute = ['docker-compose', 'down', "--remove-orphans"]
+ perform_environment_checks(verbose=verbose)
+ command_to_execute = [*DOCKER_COMPOSE_COMMAND, 'down', "--remove-orphans"]
if not preserve_volumes:
command_to_execute.append("--volumes")
shell_params = ShellParams(verbose=verbose, backend="all",
include_mypy_volume=True)
@@ -544,7 +546,7 @@ def run_shell(verbose: bool, dry_run: bool, shell_params:
ShellParams) -> RunCom
:param shell_params: parameters of the execution
"""
shell_params.print_badge_info()
- cmd = ['docker-compose', 'run', '--service-ports', "-e", "BREEZE", '--rm',
'airflow']
+ cmd = [*DOCKER_COMPOSE_COMMAND, 'run', '--service-ports', "-e", "BREEZE",
'--rm', 'airflow']
cmd_added = shell_params.command_passed
env_variables = get_env_variables_for_docker_commands(shell_params)
if cmd_added is not None:
@@ -578,7 +580,7 @@ def find_airflow_container(verbose, dry_run) ->
Optional[str]:
check_docker_resources(exec_shell_params.airflow_image_name,
verbose=verbose, dry_run=dry_run)
exec_shell_params.print_badge_info()
env_variables = get_env_variables_for_docker_commands(exec_shell_params)
- cmd = ['docker-compose', 'ps', '--all', '--filter', 'status=running',
'airflow']
+ cmd = [*DOCKER_COMPOSE_COMMAND, 'ps', '--all', '--filter',
'status=running', 'airflow']
docker_compose_ps_command = run_command(
cmd, verbose=verbose, dry_run=dry_run, text=True, capture_output=True,
env=env_variables, check=False
)
diff --git a/dev/breeze/src/airflow_breeze/commands/testing_commands.py
b/dev/breeze/src/airflow_breeze/commands/testing_commands.py
index a727585df1..7b73ad2e8d 100644
--- a/dev/breeze/src/airflow_breeze/commands/testing_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/testing_commands.py
@@ -50,6 +50,7 @@ from airflow_breeze.utils.common_options import (
from airflow_breeze.utils.console import get_console,
message_type_from_return_code
from airflow_breeze.utils.custom_param_types import NotVerifiedBetterChoice
from airflow_breeze.utils.docker_command_utils import (
+ DOCKER_COMPOSE_COMMAND,
get_env_variables_for_docker_commands,
perform_environment_checks,
)
@@ -269,7 +270,7 @@ def tests(
if db_reset:
env_variables["DB_RESET"] = "true"
perform_environment_checks(verbose=verbose)
- cmd = ['docker-compose', 'run', '--service-ports', '--rm', 'airflow']
+ cmd = [*DOCKER_COMPOSE_COMMAND, 'run', '--service-ports', '--rm',
'airflow']
cmd.extend(list(extra_pytest_args))
version = (
mssql_version
@@ -326,7 +327,7 @@ def helm_tests(
env_variables['RUN_TESTS'] = "true"
env_variables['TEST_TYPE'] = 'Helm'
perform_environment_checks(verbose=verbose)
- cmd = ['docker-compose', 'run', '--service-ports', '--rm', 'airflow']
+ cmd = [*DOCKER_COMPOSE_COMMAND, 'run', '--service-ports', '--rm',
'airflow']
cmd.extend(list(extra_pytest_args))
result = run_command(cmd, verbose=verbose, dry_run=dry_run,
env=env_variables, check=False)
sys.exit(result.returncode)
diff --git a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
index 0eb14c51cf..8172a40685 100644
--- a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
+++ b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
@@ -266,6 +266,9 @@ Please upgrade to at least {MIN_DOCKER_VERSION}[/]
)
+DOCKER_COMPOSE_COMMAND = ["docker-compose"]
+
+
def check_docker_compose_version(verbose: bool):
"""
Checks if the docker compose version is as expected, including some
specific modifications done by
@@ -293,7 +296,8 @@ def check_docker_compose_version(verbose: bool):
capture_output=True,
text=True,
)
-
+ DOCKER_COMPOSE_COMMAND.clear()
+ DOCKER_COMPOSE_COMMAND.extend(['docker', 'compose'])
if docker_compose_version_result.returncode == 0:
docker_compose_version = docker_compose_version_result.stdout
version_extracted = version_pattern.search(docker_compose_version)