Skip to content

Commit 8cbe785

Browse files
authored
Add more diagnostics for Airflow installation inside CI image (apache#52223)
1 parent a8588fb commit 8cbe785

File tree

1 file changed

+38
-7
lines changed

1 file changed

+38
-7
lines changed

scripts/in_container/install_airflow_and_providers.py

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,9 @@ def calculate_constraints_location(
121121
):
122122
constraints_base = f"https://raw.githubusercontent.com/{github_repository}/{constraints_reference}"
123123
location = f"{constraints_base}/{constraints_mode}-{python_version}.txt"
124-
console.print(f"[info]Determined {'providers' if providers else 'airflow'} constraints as: {location}")
124+
console.print(
125+
f"[bright_blue]Determined {'providers' if providers else 'airflow'} constraints as: {location}"
126+
)
125127
return location
126128

127129

@@ -143,25 +145,27 @@ def get_airflow_constraints_location(
143145
* DEFAULT_CONSTRAINT_BRANCH + constraints mode - as fallback
144146
* constraints-main + constraints mode - as fallback
145147
"""
148+
console.print("[bright_blue]Determining airflow constraints location")
146149
if airflow_skip_constraints:
150+
console.print("[bright_blue]Skipping airflow constraints.")
147151
return None
148152
if airflow_constraints_location:
149-
console.print(f"[info]Using constraints from location: {airflow_constraints_location}")
153+
console.print(f"[bright_blue]Using constraints from location: {airflow_constraints_location}")
150154
return airflow_constraints_location
151155
if airflow_constraints_reference:
152156
console.print(
153-
f"[info]Building constraints location from constraints reference: {airflow_constraints_reference}"
157+
f"[bright_blue]Building constraints location from constraints reference: {airflow_constraints_reference}"
154158
)
155159
elif airflow_package_version:
156160
if re.match(r"[0-9]+\.[0-9]+\.[0-9]+[0-9a-z.]*|main|v[0-9]_.*", airflow_package_version):
157161
airflow_constraints_reference = f"constraints-{airflow_package_version}"
158162
console.print(
159-
f"[info]Determined constraints reference from airflow package version "
163+
f"[bright_blue]Determined constraints reference from airflow package version "
160164
f"{airflow_package_version} as: {airflow_constraints_reference}"
161165
)
162166
else:
163167
airflow_constraints_reference = default_constraints_branch
164-
console.print(f"[info]Falling back tp: {default_constraints_branch}")
168+
console.print(f"[bright_blue]Falling back to constraints branch: {default_constraints_branch}")
165169
return calculate_constraints_location(
166170
constraints_mode=airflow_constraints_mode,
167171
constraints_reference=airflow_constraints_reference,
@@ -188,9 +192,10 @@ def get_providers_constraints_location(
188192
* constraints-main + constraints mode - as fallback
189193
"""
190194
if providers_skip_constraints:
195+
console.print("[bright_blue]Skipping providers constraints.")
191196
return None
192197
if providers_constraints_location:
193-
console.print(f"[info]Using constraints from location: {providers_constraints_location}")
198+
console.print(f"[bright_blue]Using constraints from location: {providers_constraints_location}")
194199
return providers_constraints_location
195200
if not providers_constraints_reference:
196201
providers_constraints_reference = default_constraints_branch
@@ -237,6 +242,7 @@ def find_installation_spec(
237242
use_airflow_version: str,
238243
use_distributions_from_dist: bool,
239244
) -> InstallationSpec:
245+
console.print("[bright_blue]Finding installation specification")
240246
if use_distributions_from_dist:
241247
console.print("[bright_blue]Using distributions from dist folder")
242248
else:
@@ -250,6 +256,7 @@ def find_installation_spec(
250256
sys.exit(1)
251257
extension = "whl" if distribution_format == "wheel" else "tar.gz"
252258
pre_release = os.environ.get("ALLOW_PRE_RELEASES", "false").lower() == "true"
259+
console.print("[bright_blue]Pre-release: ", pre_release)
253260
if airflow_extras:
254261
console.print(f"[bright_blue]Using airflow extras: {airflow_extras}")
255262
airflow_extras = f"[{airflow_extras}]"
@@ -263,6 +270,7 @@ def find_installation_spec(
263270
console.print("[red]This is not supported. Please use --mount-sources=remove flag in breeze.")
264271
sys.exit(1)
265272
if use_airflow_version in ["wheel", "sdist"] and use_distributions_from_dist:
273+
console.print("[bright_blue]Finding specification from local distribution files in dist folder")
266274
airflow_distribution_spec, airflow_core_distribution_spec = find_airflow_package(extension)
267275
if use_airflow_version != distribution_format:
268276
console.print(
@@ -273,6 +281,7 @@ def find_installation_spec(
273281
if airflow_distribution_spec:
274282
airflow_version = get_airflow_version_from_package(airflow_distribution_spec)
275283
if airflow_version:
284+
console.print(f"[bright_blue]Using airflow version retrieved from package: {airflow_version}")
276285
airflow_constraints_location = get_airflow_constraints_location(
277286
airflow_skip_constraints=airflow_skip_constraints,
278287
airflow_constraints_mode=airflow_constraints_mode,
@@ -422,7 +431,7 @@ def find_installation_spec(
422431
else:
423432
console.print("\n[bright_blue]No preselected providers\n")
424433
provider_distributions_list = find_provider_distributions(extension, selected_providers_list)
425-
return InstallationSpec(
434+
installation_spec = InstallationSpec(
426435
airflow_distribution=airflow_distribution_spec,
427436
airflow_core_distribution=airflow_core_distribution_spec,
428437
airflow_constraints_location=airflow_constraints_location,
@@ -442,6 +451,8 @@ def find_installation_spec(
442451
),
443452
pre_release=pre_release,
444453
)
454+
console.print("[bright_blue]Installation specification:[/]", installation_spec)
455+
return installation_spec
445456

446457

447458
ALLOWED_DISTRIBUTION_FORMAT = ["wheel", "sdist", "both"]
@@ -633,12 +644,31 @@ def install_airflow_and_providers(
633644
use_distributions_from_dist=use_distributions_from_dist,
634645
)
635646
if installation_spec.airflow_distribution and install_airflow_with_constraints:
647+
console.print("[bright_blue]Installing airflow with constraints")
648+
console.print(
649+
"[bright_blue]Airflow constraints location: ", installation_spec.airflow_constraints_location
650+
)
651+
console.print("[bright_blue]Airflow distribution", installation_spec.airflow_distribution)
652+
console.print("[bright_blue]Airflow core distribution", installation_spec.airflow_core_distribution)
653+
console.print(
654+
"[bright_blue]Airflow task-sdk constraints location: ",
655+
installation_spec.airflow_task_sdk_constraints_location,
656+
)
657+
console.print(
658+
"[bright_blue]Airflow task-sdk distribution", installation_spec.airflow_task_sdk_distribution
659+
)
660+
console.print(
661+
"[bright_blue]Airflow ctl constraints location: ",
662+
installation_spec.airflow_ctl_constraints_location,
663+
)
664+
console.print("[bright_blue]Airflow ctl distribution", installation_spec.airflow_ctl_distribution)
636665
base_install_airflow_cmd = [
637666
"/usr/local/bin/uv",
638667
"pip",
639668
"install",
640669
]
641670
if installation_spec.pre_release:
671+
console.print("[bright_blue]Allowing pre-release versions of airflow")
642672
base_install_airflow_cmd.append("--pre")
643673
base_install_airflow_cmd.append(installation_spec.airflow_distribution)
644674
console.print(
@@ -718,6 +748,7 @@ def install_airflow_and_providers(
718748
)
719749
run_command(base_install_airflow_cmd, github_actions=github_actions, check=True)
720750
if installation_spec.provider_distributions or not install_airflow_with_constraints:
751+
console.print("[bright_blue]Installing airflow without constraints")
721752
base_install_providers_cmd = [
722753
"/usr/local/bin/uv",
723754
"pip",

0 commit comments

Comments
 (0)