You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2022/05/22 12:15:31 UTC
[airflow] branch main updated: Add better feedback to Breeze users about expected action timing (#23827)
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 fe91db7525 Add better feedback to Breeze users about expected action timing (#23827)
fe91db7525 is described below
commit fe91db752525717cf5b8017f16e4bc60c6a2b26d
Author: Jarek Potiuk <ja...@polidea.com>
AuthorDate: Sun May 22 14:15:24 2022 +0200
Add better feedback to Breeze users about expected action timing (#23827)
There are a few actions in Breeze that might take more or less time
when invoked. This is mostly when you need to upgrade Breeze or
update to latest version of the image because some dependedncies
were added or image was modified.
While we have improved significantly the waiting time involved
now (and caching problems have been fixed to make it as fast
possible), there are still a few situations that you need to have
a good connectivity and a little time to run the upgrade. Which
is often not something you would like to loose your time on in
a number of cases when you need to do things fast.
Usually Breeeze does not force the user to perform such long
actions - it allows to continue without doing them (either by
timeout or by letting user answer "no" to question asked.
Previously Breeze have not informed the user about the exepcted
time of running such operation, but with this change it tells
what is the expected delay - thus allowing the user to make
informed action whether they want to run the upgrade or not.
---
.../src/airflow_breeze/commands/ci_image_commands.py | 19 +++++++++++++------
dev/breeze/src/airflow_breeze/utils/reinstall.py | 9 ++++++---
2 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py b/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
index 1329ba607c..020cd30698 100644
--- a/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/ci_image_commands.py
@@ -383,17 +383,21 @@ def should_we_run_the_build(build_ci_params: BuildCiParams, verbose: bool) -> bo
return False
try:
answer = user_confirm(
- message="Do you want to build the image?", timeout=STANDARD_TIMEOUT, default_answer=Answer.NO
+ message="Do you want to build the image (this works best when you have good connection and "
+ "can take usually from 20 seconds to few minutes depending how old your image is)?",
+ timeout=STANDARD_TIMEOUT,
+ default_answer=Answer.NO,
)
if answer == answer.YES:
if is_repo_rebased(build_ci_params.github_repository, build_ci_params.airflow_branch):
return True
else:
get_console().print(
- "\n[warning]This might take a lot of time, we think you should rebase first.[/]\n"
+ "\n[warning]This might take a lot of time (more than 10 minutes) even if you have"
+ "a good network connection. We think you should attempt to rebase first.[/]\n"
)
answer = user_confirm(
- "But if you really, really want - you can do it. Are you really sure?",
+ "But if you really, really want - you can attempt it. Are you really sure?",
timeout=STANDARD_TIMEOUT,
default_answer=Answer.NO,
)
@@ -401,8 +405,8 @@ def should_we_run_the_build(build_ci_params: BuildCiParams, verbose: bool) -> bo
return True
else:
get_console().print(
- "[info]Please rebase your code before continuing.[/]\n"
- "Check this link to know more "
+ f"[info]Please rebase your code to latest {build_ci_params.airflow_branch} "
+ "before continuing.[/]\nCheck this link to find out how "
"https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#id15\n"
)
get_console().print('[error]Exiting the process[/]\n')
@@ -538,6 +542,9 @@ def rebuild_ci_image_if_needed(
if verbose:
get_console().print(f'[info]{build_params.image_type} image already built locally.[/]')
else:
- get_console().print(f'[warning]{build_params.image_type} image not built locally. Forcing build.[/]')
+ get_console().print(
+ f'[warning]{build_params.image_type} image was never built locally or deleted. '
+ 'Forcing build.[/]'
+ )
ci_image_params.force_build = True
build_ci_image(verbose, dry_run=dry_run, ci_image_params=ci_image_params)
diff --git a/dev/breeze/src/airflow_breeze/utils/reinstall.py b/dev/breeze/src/airflow_breeze/utils/reinstall.py
index 0df3a6a0ea..e58ac2c731 100644
--- a/dev/breeze/src/airflow_breeze/utils/reinstall.py
+++ b/dev/breeze/src/airflow_breeze/utils/reinstall.py
@@ -50,7 +50,8 @@ def ask_to_reinstall_breeze(breeze_sources: Path, timeout: Optional[int] = STAND
otherwise it is yes
"""
answer = user_confirm(
- f"Do you want to reinstall Breeze from {breeze_sources.parent.parent}?",
+ f"Do you want to reinstall Breeze from {breeze_sources.parent.parent} "
+ "(This should usually take couple of seconds)?",
default_answer=Answer.NO if timeout else Answer.YES,
timeout=timeout,
)
@@ -77,7 +78,8 @@ def warn_different_location(installation_airflow_sources: Path, current_airflow_
f"Current Airflow sources : {current_airflow_sources}\n\n"
f"[warning]This might cause various problems!![/]\n\n"
f"If you experience problems - reinstall Breeze with:\n\n"
- f" {NAME} self-upgrade --force --use-current-airflow-sources\n\n"
+ f" {NAME} self-upgrade --force --use-current-airflow-sources\n"
+ f"\nThis should usually take couple of seconds.\n"
)
@@ -86,5 +88,6 @@ def warn_dependencies_changed():
f"\n[warning]Breeze dependencies changed since the installation![/]\n\n"
f"[warning]This might cause various problems!![/]\n\n"
f"If you experience problems - reinstall Breeze with:\n\n"
- f" {NAME} self-upgrade --force\n\n"
+ f" {NAME} self-upgrade --force\n"
+ "\nThis should usually take couple of seconds.\n"
)