This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch v2-3-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit c37ccff9f9b7972bacdee429382c081818e71a47 Author: Jarek Potiuk <[email protected]> AuthorDate: Fri Apr 29 19:45:37 2022 +0200 Fix mssql in the new Breeze (#23368) The new Breeze did not use conditionally debian version to run MsSQL docker compose. This PR fixes it (cherry picked from commit 9e11d208dac0951d4f3a5beda0d8801f4e70cb0a) --- .../airflow_breeze/commands/developer_commands.py | 6 +++ dev/breeze/src/airflow_breeze/commands/main.py | 2 + .../src/airflow_breeze/shell/shell_params.py | 9 +++- images/breeze/output-commands.svg | 53 +++++++++++----------- images/breeze/output-shell.svg | 53 +++++++++++----------- 5 files changed, 70 insertions(+), 53 deletions(-) diff --git a/dev/breeze/src/airflow_breeze/commands/developer_commands.py b/dev/breeze/src/airflow_breeze/commands/developer_commands.py index f2c8715f95..13ed9c5937 100644 --- a/dev/breeze/src/airflow_breeze/commands/developer_commands.py +++ b/dev/breeze/src/airflow_breeze/commands/developer_commands.py @@ -27,6 +27,7 @@ from airflow_breeze.commands.common_options import ( option_answer, option_backend, option_db_reset, + option_debian_version, option_dry_run, option_force_build, option_forward_credentials, @@ -84,6 +85,7 @@ DEVELOPER_PARAMETERS = { "--postgres-version", "--mysql-version", "--mssql-version", + "--debian-version", "--forward-credentials", "--db-reset", ], @@ -107,6 +109,7 @@ DEVELOPER_PARAMETERS = { "--postgres-version", "--mysql-version", "--mssql-version", + "--debian-version", "--forward-credentials", "--db-reset", ], @@ -192,6 +195,7 @@ DEVELOPER_PARAMETERS = { @option_dry_run @option_python @option_backend +@option_debian_version @option_github_repository @option_postgres_version @option_mysql_version @@ -214,6 +218,7 @@ def shell( postgres_version: str, mysql_version: str, mssql_version: str, + debian_version: str, forward_credentials: bool, mount_sources: str, use_airflow_version: str, @@ -244,6 +249,7 @@ def shell( db_reset=db_reset, extra_args=extra_args, answer=answer, + debian_version=debian_version, ) diff --git a/dev/breeze/src/airflow_breeze/commands/main.py b/dev/breeze/src/airflow_breeze/commands/main.py index 6434e5a63e..22baa02edd 100644 --- a/dev/breeze/src/airflow_breeze/commands/main.py +++ b/dev/breeze/src/airflow_breeze/commands/main.py @@ -19,6 +19,7 @@ from airflow_breeze.commands.common_options import ( option_answer, option_backend, option_db_reset, + option_debian_version, option_dry_run, option_force_build, option_forward_credentials, @@ -45,6 +46,7 @@ from airflow_breeze.utils.path_utils import create_directories @option_postgres_version @option_mysql_version @option_mssql_version +@option_debian_version @option_forward_credentials @option_force_build @option_use_airflow_version diff --git a/dev/breeze/src/airflow_breeze/shell/shell_params.py b/dev/breeze/src/airflow_breeze/shell/shell_params.py index 28e9478317..129ef46097 100644 --- a/dev/breeze/src/airflow_breeze/shell/shell_params.py +++ b/dev/breeze/src/airflow_breeze/shell/shell_params.py @@ -22,6 +22,7 @@ from typing import Optional, Tuple from airflow_breeze.branch_defaults import AIRFLOW_BRANCH from airflow_breeze.global_constants import ( ALLOWED_BACKENDS, + ALLOWED_DEBIAN_VERSIONS, ALLOWED_MSSQL_VERSIONS, ALLOWED_MYSQL_VERSIONS, ALLOWED_POSTGRES_VERSIONS, @@ -51,6 +52,7 @@ class ShellParams: mysql_version: str = ALLOWED_MYSQL_VERSIONS[0] backend: str = ALLOWED_BACKENDS[0] python: str = ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS[0] + debian_version: str = ALLOWED_DEBIAN_VERSIONS[0] dry_run: bool = False load_example_dags: bool = False load_default_connections: bool = False @@ -156,7 +158,12 @@ class ShellParams: def compose_files(self): compose_ci_file = [] main_ci_docker_compose_file = f"{str(SCRIPTS_CI_DIR)}/docker-compose/base.yml" - backend_docker_compose_file = f"{str(SCRIPTS_CI_DIR)}/docker-compose/backend-{self.backend}.yml" + if self.backend == "mssql": + backend_docker_compose_file = ( + f"{str(SCRIPTS_CI_DIR)}/docker-compose/backend-{self.backend}-{self.debian_version}.yml" + ) + else: + backend_docker_compose_file = f"{str(SCRIPTS_CI_DIR)}/docker-compose/backend-{self.backend}.yml" backend_port_docker_compose_file = ( f"{str(SCRIPTS_CI_DIR)}/docker-compose/backend-{self.backend}-port.yml" ) diff --git a/images/breeze/output-commands.svg b/images/breeze/output-commands.svg index ce8af6ddff..66b560b308 100644 --- a/images/breeze/output-commands.svg +++ b/images/breeze/output-commands.svg @@ -1,4 +1,4 @@ -<svg width="1720.0" height="1836" viewBox="0 0 1720.0 1836" +<svg width="1720.0" height="1858" viewBox="0 0 1720.0 1858" xmlns="http://www.w3.org/2000/svg"> <style> @font-face { @@ -17,30 +17,30 @@ font-style: bold; font-weight: 700; } - .rich-svg-1828580335-terminal-wrapper span { + .rich-svg-3448604350-terminal-wrapper span { display: inline-block; white-space: pre; vertical-align: top; font-size: 18px; font-family:'Rich Fira Code','Cascadia Code',Monaco,Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace; } - .rich-svg-1828580335-terminal-wrapper a { + .rich-svg-3448604350-terminal-wrapper a { text-decoration: none; color: inherit; } - .rich-svg-1828580335-terminal-body .blink { - animation: rich-svg-1828580335-blinker 1s infinite; + .rich-svg-3448604350-terminal-body .blink { + animation: rich-svg-3448604350-blinker 1s infinite; } - @keyframes rich-svg-1828580335-blinker { + @keyframes rich-svg-3448604350-blinker { from { opacity: 1.0; } 50% { opacity: 0.3; } to { opacity: 1.0; } } - .rich-svg-1828580335-terminal-wrapper { + .rich-svg-3448604350-terminal-wrapper { padding: 140px; padding-top: 100px; } - .rich-svg-1828580335-terminal { + .rich-svg-3448604350-terminal { position: relative; display: flex; flex-direction: column; @@ -49,7 +49,7 @@ border-radius: 14px; box-shadow: 0 0 0 1px #484848; } - .rich-svg-1828580335-terminal:after { + .rich-svg-3448604350-terminal:after { position: absolute; width: 100%; height: 100%; @@ -60,7 +60,7 @@ transform: rotate(-4.5deg); z-index: -1; } - .rich-svg-1828580335-terminal-header { + .rich-svg-3448604350-terminal-header { position: relative; width: 100%; background-color: #2e2e2e; @@ -72,7 +72,7 @@ box-shadow: inset 0px -1px 0px 0px #4e4e4e, inset 0px -4px 8px 0px #1a1a1a; } - .rich-svg-1828580335-terminal-title-tab { + .rich-svg-3448604350-terminal-title-tab { display: inline-block; margin-top: 14px; margin-left: 124px; @@ -85,36 +85,36 @@ inset 1px 0px 0px 0px #4e4e4e, inset -1px 0px 0px 0px #4e4e4e; } - .rich-svg-1828580335-terminal-traffic-lights { + .rich-svg-3448604350-terminal-traffic-lights { position: absolute; top: 24px; left: 20px; } - .rich-svg-1828580335-terminal-body { + .rich-svg-3448604350-terminal-body { line-height: 22px; padding: 14px; } - .rich-svg-1828580335-terminal-body .r1 {color: #f2f2f2; text-decoration-color: #f2f2f2;background-color: #0c0c0c;} -.rich-svg-1828580335-terminal-body .r2 {font-weight: bold;color: #f2f2f2; text-decoration-color: #f2f2f2;;background-color: #0c0c0c;} -.rich-svg-1828580335-terminal-body .r3 {color: #e5e510; text-decoration-color: #e5e510; font-weight: bold;background-color: #0c0c0c;} -.rich-svg-1828580335-terminal-body .r4 {color: #7f7f7f; text-decoration-color: #7f7f7f;color: #f2f2f2; text-decoration-color: #f2f2f2;;background-color: #0c0c0c;} -.rich-svg-1828580335-terminal-body .r5 {color: #11a8cd; text-decoration-color: #11a8cd; font-weight: bold;background-color: #0c0c0c;} -.rich-svg-1828580335-terminal-body .r6 {color: #0dbc79; text-decoration-color: #0dbc79; font-weight: bold;background-color: #0c0c0c;} -.rich-svg-1828580335-terminal-body .r7 {color: #78780e; text-decoration-color: #78780e;background-color: #0c0c0c;} + .rich-svg-3448604350-terminal-body .r1 {color: #f2f2f2; text-decoration-color: #f2f2f2;background-color: #0c0c0c;} +.rich-svg-3448604350-terminal-body .r2 {font-weight: bold;color: #f2f2f2; text-decoration-color: #f2f2f2;;background-color: #0c0c0c;} +.rich-svg-3448604350-terminal-body .r3 {color: #e5e510; text-decoration-color: #e5e510; font-weight: bold;background-color: #0c0c0c;} +.rich-svg-3448604350-terminal-body .r4 {color: #7f7f7f; text-decoration-color: #7f7f7f;color: #f2f2f2; text-decoration-color: #f2f2f2;;background-color: #0c0c0c;} +.rich-svg-3448604350-terminal-body .r5 {color: #11a8cd; text-decoration-color: #11a8cd; font-weight: bold;background-color: #0c0c0c;} +.rich-svg-3448604350-terminal-body .r6 {color: #0dbc79; text-decoration-color: #0dbc79; font-weight: bold;background-color: #0c0c0c;} +.rich-svg-3448604350-terminal-body .r7 {color: #78780e; text-decoration-color: #78780e;background-color: #0c0c0c;} </style> <foreignObject x="0" y="0" width="100%" height="100%"> <body xmlns="http://www.w3.org/1999/xhtml"> - <div class="rich-svg-1828580335-terminal-wrapper"> - <div class="rich-svg-1828580335-terminal"> - <div class="rich-svg-1828580335-terminal-header"> - <svg class="rich-svg-1828580335-terminal-traffic-lights" width="90" height="21" viewBox="0 0 90 21" xmlns="http://www.w3.org/2000/svg"> + <div class="rich-svg-3448604350-terminal-wrapper"> + <div class="rich-svg-3448604350-terminal"> + <div class="rich-svg-3448604350-terminal-header"> + <svg class="rich-svg-3448604350-terminal-traffic-lights" width="90" height="21" viewBox="0 0 90 21" xmlns="http://www.w3.org/2000/svg"> <circle cx="14" cy="8" r="8" fill="#ff6159"/> <circle cx="38" cy="8" r="8" fill="#ffbd2e"/> <circle cx="62" cy="8" r="8" fill="#28c941"/> </svg> - <div class="rich-svg-1828580335-terminal-title-tab">Breeze commands</div> + <div class="rich-svg-3448604350-terminal-title-tab">Breeze commands</div> </div> - <div class="rich-svg-1828580335-terminal-body"> + <div class="rich-svg-3448604350-terminal-body"> <div><span class="r2"> </span></div> <div><span class="r2"> </span><span class="r3">Usage: </span><span class="r2">breeze [OPTIONS] COMMAND [ARGS]... </span></div> <div><span class="r2"> </span></div> @@ -126,6 +126,7 @@ <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--postgres-version</span><span class="r1"> </span><span class="r6">-P</span><span class="r1"> </span><span class="r1">Version of Postgres used.</span><span class="r1"> </span><span class="r7">(>10< | 11 | 12 | 13)</span><span class="r1"> </span><span class="r4">[default: 10]</span><span class="r1"> </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--mysql-version</span><span class="r1"> </span><span class="r6">-M</span><span class="r1"> </span><span class="r1">Version of MySQL used.</span><span class="r1"> </span><span class="r7">(>5.7< | 8)</span><span class="r1"> </span><span class="r4">[default: 5.7]</span><span class="r1"> </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--mssql-version</span><span class="r1"> </span><span class="r6">-S</span><span class="r1"> </span><span class="r1">Version of MsSQL used.</span><span class="r1"> </span><span class="r7">(>2017-latest< | 2019-latest)</span><span class="r1"> </span><span class="r4">[default: 2017-latest]</span><span class="r1"> </span><span class="r1"> </span><span class="r4">│</span></div> +<div><span class="r4">│</span><span class="r1"> </span><span class="r5">--debian-version</span><span class="r1"> </span><span class="r6">-d</span><span class="r1"> </span><span class="r1">Debian version used for the image.</span><span class="r1"> </span><span class="r7">(bullseye | buster)</span><span class="r1"> </span><span class="r4">[default: bullseye]</span><span class="r1"> </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--forward-credentials</span><span class="r1"> </span><span class="r6">-f</span><span class="r1"> </span><span class="r1">Forward local credentials to container when running. </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--db-reset</span><span class="r1"> </span><span class="r6">-d</span><span class="r1"> </span><span class="r1">Reset DB when entering the container. </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span></div> diff --git a/images/breeze/output-shell.svg b/images/breeze/output-shell.svg index c0a7da761a..aee6d87e98 100644 --- a/images/breeze/output-shell.svg +++ b/images/breeze/output-shell.svg @@ -1,4 +1,4 @@ -<svg width="1720.0" height="1022" viewBox="0 0 1720.0 1022" +<svg width="1720.0" height="1044" viewBox="0 0 1720.0 1044" xmlns="http://www.w3.org/2000/svg"> <style> @font-face { @@ -17,30 +17,30 @@ font-style: bold; font-weight: 700; } - .rich-svg-379414012-terminal-wrapper span { + .rich-svg-2505769163-terminal-wrapper span { display: inline-block; white-space: pre; vertical-align: top; font-size: 18px; font-family:'Rich Fira Code','Cascadia Code',Monaco,Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace; } - .rich-svg-379414012-terminal-wrapper a { + .rich-svg-2505769163-terminal-wrapper a { text-decoration: none; color: inherit; } - .rich-svg-379414012-terminal-body .blink { - animation: rich-svg-379414012-blinker 1s infinite; + .rich-svg-2505769163-terminal-body .blink { + animation: rich-svg-2505769163-blinker 1s infinite; } - @keyframes rich-svg-379414012-blinker { + @keyframes rich-svg-2505769163-blinker { from { opacity: 1.0; } 50% { opacity: 0.3; } to { opacity: 1.0; } } - .rich-svg-379414012-terminal-wrapper { + .rich-svg-2505769163-terminal-wrapper { padding: 140px; padding-top: 100px; } - .rich-svg-379414012-terminal { + .rich-svg-2505769163-terminal { position: relative; display: flex; flex-direction: column; @@ -49,7 +49,7 @@ border-radius: 14px; box-shadow: 0 0 0 1px #484848; } - .rich-svg-379414012-terminal:after { + .rich-svg-2505769163-terminal:after { position: absolute; width: 100%; height: 100%; @@ -60,7 +60,7 @@ transform: rotate(-4.5deg); z-index: -1; } - .rich-svg-379414012-terminal-header { + .rich-svg-2505769163-terminal-header { position: relative; width: 100%; background-color: #2e2e2e; @@ -72,7 +72,7 @@ box-shadow: inset 0px -1px 0px 0px #4e4e4e, inset 0px -4px 8px 0px #1a1a1a; } - .rich-svg-379414012-terminal-title-tab { + .rich-svg-2505769163-terminal-title-tab { display: inline-block; margin-top: 14px; margin-left: 124px; @@ -85,36 +85,36 @@ inset 1px 0px 0px 0px #4e4e4e, inset -1px 0px 0px 0px #4e4e4e; } - .rich-svg-379414012-terminal-traffic-lights { + .rich-svg-2505769163-terminal-traffic-lights { position: absolute; top: 24px; left: 20px; } - .rich-svg-379414012-terminal-body { + .rich-svg-2505769163-terminal-body { line-height: 22px; padding: 14px; } - .rich-svg-379414012-terminal-body .r1 {color: #f2f2f2; text-decoration-color: #f2f2f2;background-color: #0c0c0c;} -.rich-svg-379414012-terminal-body .r2 {font-weight: bold;color: #f2f2f2; text-decoration-color: #f2f2f2;;background-color: #0c0c0c;} -.rich-svg-379414012-terminal-body .r3 {color: #e5e510; text-decoration-color: #e5e510; font-weight: bold;background-color: #0c0c0c;} -.rich-svg-379414012-terminal-body .r4 {color: #7f7f7f; text-decoration-color: #7f7f7f;color: #f2f2f2; text-decoration-color: #f2f2f2;;background-color: #0c0c0c;} -.rich-svg-379414012-terminal-body .r5 {color: #11a8cd; text-decoration-color: #11a8cd; font-weight: bold;background-color: #0c0c0c;} -.rich-svg-379414012-terminal-body .r6 {color: #0dbc79; text-decoration-color: #0dbc79; font-weight: bold;background-color: #0c0c0c;} -.rich-svg-379414012-terminal-body .r7 {color: #78780e; text-decoration-color: #78780e;background-color: #0c0c0c;} + .rich-svg-2505769163-terminal-body .r1 {color: #f2f2f2; text-decoration-color: #f2f2f2;background-color: #0c0c0c;} +.rich-svg-2505769163-terminal-body .r2 {font-weight: bold;color: #f2f2f2; text-decoration-color: #f2f2f2;;background-color: #0c0c0c;} +.rich-svg-2505769163-terminal-body .r3 {color: #e5e510; text-decoration-color: #e5e510; font-weight: bold;background-color: #0c0c0c;} +.rich-svg-2505769163-terminal-body .r4 {color: #7f7f7f; text-decoration-color: #7f7f7f;color: #f2f2f2; text-decoration-color: #f2f2f2;;background-color: #0c0c0c;} +.rich-svg-2505769163-terminal-body .r5 {color: #11a8cd; text-decoration-color: #11a8cd; font-weight: bold;background-color: #0c0c0c;} +.rich-svg-2505769163-terminal-body .r6 {color: #0dbc79; text-decoration-color: #0dbc79; font-weight: bold;background-color: #0c0c0c;} +.rich-svg-2505769163-terminal-body .r7 {color: #78780e; text-decoration-color: #78780e;background-color: #0c0c0c;} </style> <foreignObject x="0" y="0" width="100%" height="100%"> <body xmlns="http://www.w3.org/1999/xhtml"> - <div class="rich-svg-379414012-terminal-wrapper"> - <div class="rich-svg-379414012-terminal"> - <div class="rich-svg-379414012-terminal-header"> - <svg class="rich-svg-379414012-terminal-traffic-lights" width="90" height="21" viewBox="0 0 90 21" xmlns="http://www.w3.org/2000/svg"> + <div class="rich-svg-2505769163-terminal-wrapper"> + <div class="rich-svg-2505769163-terminal"> + <div class="rich-svg-2505769163-terminal-header"> + <svg class="rich-svg-2505769163-terminal-traffic-lights" width="90" height="21" viewBox="0 0 90 21" xmlns="http://www.w3.org/2000/svg"> <circle cx="14" cy="8" r="8" fill="#ff6159"/> <circle cx="38" cy="8" r="8" fill="#ffbd2e"/> <circle cx="62" cy="8" r="8" fill="#28c941"/> </svg> - <div class="rich-svg-379414012-terminal-title-tab">Command: shell</div> + <div class="rich-svg-2505769163-terminal-title-tab">Command: shell</div> </div> - <div class="rich-svg-379414012-terminal-body"> + <div class="rich-svg-2505769163-terminal-body"> <div><span class="r2"> </span></div> <div><span class="r2"> </span><span class="r3">Usage: </span><span class="r2">breeze shell [OPTIONS] [EXTRA_ARGS]... </span></div> <div><span class="r2"> </span></div> @@ -128,6 +128,7 @@ <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--postgres-version</span><span class="r1"> </span><span class="r6">-P</span><span class="r1"> </span><span class="r1">Version of Postgres used.</span><span class="r1"> </span><span class="r7">(>10< | 11 | 12 | 13)</span><span class="r1"> </span><span class="r4">[default: 10]</span><span class="r1"> </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--mysql-version</span><span class="r1"> </span><span class="r6">-M</span><span class="r1"> </span><span class="r1">Version of MySQL used.</span><span class="r1"> </span><span class="r7">(>5.7< | 8)</span><span class="r1"> </span><span class="r4">[default: 5.7]</span><span class="r1"> </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--mssql-version</span><span class="r1"> </span><span class="r6">-S</span><span class="r1"> </span><span class="r1">Version of MsSQL used.</span><span class="r1"> </span><span class="r7">(>2017-latest< | 2019-latest)</span><span class="r1"> </span><span class="r4">[default: 2017-latest]</span><span class="r1"> </span><span class="r1"> </span><span class="r4">│</span></div> +<div><span class="r4">│</span><span class="r1"> </span><span class="r5">--debian-version</span><span class="r1"> </span><span class="r6">-d</span><span class="r1"> </span><span class="r1">Debian version used for the image.</span><span class="r1"> </span><span class="r7">(bullseye | buster)</span><span class="r1"> </span><span class="r4">[default: bullseye]</span><span class="r1"> </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--forward-credentials</span><span class="r1"> </span><span class="r6">-f</span><span class="r1"> </span><span class="r1">Forward local credentials to container when running. </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">│</span><span class="r1"> </span><span class="r5">--db-reset</span><span class="r1"> </span><span class="r6">-d</span><span class="r1"> </span><span class="r1">Reset DB when entering the container. </span><span class="r1"> </span><span class="r4">│</span></div> <div><span class="r4">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span></div>
