breeze shell fails with production image
See original GitHub issueApache Airflow version
2.2.3 (latest released)
What happened
When use the production image for breeze shell, the container could not start. The error is ./breeze: line 3407: /Users/xxx/repos/github/airflow/.build/: Is a directory
Files in .build
:
❯ ls .build
dc_ci tmp_mssql_volume
What you expected to happen
The container could start.
How to reproduce
On the main branch (sha: 4e959358ac4ef), run ./breeze shell -I
.
Log:
❯ ./breeze shell -I
Good version of docker 20.10.12.
*************** PRODUCTION IMAGE *************************
@&&&&&&@
@&&&&&&&&&&&@
&&&&&&&&&&&&&&&&
&&&&&&&&&&
&&&&&&&
&&&&&&&
@@@@@@@@@@@@@@@@ &&&&&&
@&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&&
&&&&&&&&&&&&
@@&&&&&&&&&&&&&&&@
@&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&
&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&
&&&&&&
&&&&&&&
@&&&&&&&&
@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@&&&@ && @&&&&&&&&&&& &&&&&&&&&&&& && &&&&&&&&&& &&& &&& &&&
&&& &&& && @&& &&& && && &&& &&&@ &&& &&&&& &&&
&&& &&& && @&&&&&&&&&&&& &&&&&&&&&&& && && &&& &&& &&& &&@ &&&
&&&&&&&&&&& && @&&&&&&&&& && && &&@ &&& &&@&& &&@&&
&&& &&& && @&& &&&@ && &&&&&&&&&&& &&&&&&&&&&&& &&&& &&&&
&&&&&&&&&&&& &&&&&&&&&&&& &&&&&&&&&&&@ &&&&&&&&&&&& &&&&&&&&&&& &&&&&&&&&&&
&&& &&& && &&& && &&& &&&& &&
&&&&&&&&&&&&@ &&&&&&&&&&&& &&&&&&&&&&& &&&&&&&&&&& &&&& &&&&&&&&&&
&&& && && &&&& && &&& &&&& &&
&&&&&&&&&&&&& && &&&&@ &&&&&&&&&&&@ &&&&&&&&&&&& @&&&&&&&&&&& &&&&&&&&&&&
Unable to find image 'ghcr.io/apache/airflow/main/prod/python3.7:latest' locally
latest: Pulling from apache/airflow/main/prod/python3.7
6552179c3509: Already exists
c4887dad22fd: Already exists
83fecc69c367: Already exists
a9d24969a226: Already exists
af77bcde342c: Already exists
3d8819813184: Pulling fs layer
42a0553bd411: Pulling fs layer
a39d5bf6206f: Pulling fs layer
64f982711403: Pulling fs layer
c5ddb3493dbf: Pulling fs layer
ad7d5ec7545b: Pulling fs layer
2ea32c3d676b: Pulling fs layer
56a6fcee9116: Pulling fs layer
64f982711403: Waiting
ad7d5ec7545b: Waiting
2ea32c3d676b: Waiting
c5ddb3493dbf: Waiting
42a0553bd411: Verifying Checksum
42a0553bd411: Download complete
3d8819813184: Verifying Checksum
3d8819813184: Download complete
c5ddb3493dbf: Verifying Checksum
c5ddb3493dbf: Download complete
ad7d5ec7545b: Verifying Checksum
ad7d5ec7545b: Download complete
2ea32c3d676b: Verifying Checksum
2ea32c3d676b: Download complete
a39d5bf6206f: Verifying Checksum
a39d5bf6206f: Download complete
56a6fcee9116: Verifying Checksum
56a6fcee9116: Download complete
3d8819813184: Pull complete
42a0553bd411: Pull complete
64f982711403: Verifying Checksum
64f982711403: Download complete
a39d5bf6206f: Pull complete
64f982711403: Pull complete
c5ddb3493dbf: Pull complete
ad7d5ec7545b: Pull complete
2ea32c3d676b: Pull complete
56a6fcee9116: Pull complete
Digest: sha256:e569a99553e07d79f3f9d5cf876c3ca188ef0ee04ee3e1a75ed81248b2de3df4
Status: Downloaded newer image for ghcr.io/apache/airflow/main/prod/python3.7:latest
Use production image.
Branch name: main
Docker image: ghcr.io/apache/airflow/main/prod/python3.7
Airflow source version: 2.3.0.dev0
Python version: 3.7
Backend: sqlite
<skip cheatsheet messages>
Unable to find image 'ghcr.io/apache/airflow/main/ci/python3.7:latest' locally
latest: Pulling from apache/airflow/main/ci/python3.7
6552179c3509: Already exists
c4887dad22fd: Already exists
83fecc69c367: Already exists
a9d24969a226: Already exists
af77bcde342c: Already exists
b8797f7aaf3b: Pull complete
7aa60a7eb179: Pull complete
e17aa65b6f9e: Pull complete
cfeac562c98a: Pull complete
20974282c45c: Pull complete
e8a77142806e: Pull complete
c88283731f11: Pull complete
f264c85f13c8: Pull complete
8b94053432f4: Pull complete
560f0ba4744f: Pull complete
fe471bf11bf5: Pull complete
41c8eee50012: Pull complete
219c001c0d84: Pull complete
bd9156002c1b: Pull complete
d0a64492c53e: Pull complete
ad72a746ad5d: Pull complete
f62bc8725185: Pull complete
f67fe8db413d: Pull complete
bb264f6b4dc0: Pull complete
c16ed58d1eb1: Pull complete
d957f17ad7c5: Pull complete
d05f4914d743: Pull complete
4fbd9556d3fc: Pull complete
25b10cf6bcba: Pull complete
935a9d7ab47f: Pull complete
970ddab8a3c2: Pull complete
76f00f4a2fc3: Pull complete
9650de94a70c: Pull complete
608317699c60: Pull complete
Digest: sha256:be571982eb005551c806108047b1780a3229379cc8e2dae160207c3bf0e69b31
Status: Downloaded newer image for ghcr.io/apache/airflow/main/ci/python3.7:latest
Checking resources.
* Memory available 11GB. OK.
* Cpus available 8. OK.
* Disk available 44GB. OK.
Resource check successful.
./breeze: line 3407: /Users/xxxx/repos/github/airflow/.build/: Is a directory
ERROR: The previous step completed with error. Please take a look at output above
Operating System
Mac OS 12.1
Versions of Apache Airflow Providers
No response
Deployment
Docker-Compose
Deployment details
No response
Anything else
No response
Are you willing to submit PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project’s Code of Conduct
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (4 by maintainers)
Top Results From Across the Web
Production Deployment — Airflow Documentation
The easiest way to build the image image is to use breeze script, but you can also build such customized image by running...
Read more >BREEZE.rst - airflow
Managing Prod environment (with ``--production-image`` flag):. * Build CI docker image with ``breeze build-image`` command. * Enter interactive shell in ...
Read more >How to make Docker Hub rate limit monitoring a breeze - GitLab
A similar problem happens with watchtower tools which try to keep your container images updated, for example on your self-managed GitLab Runner.
Read more >Studio Fail Photos
The snare's '57 aiming at the side shell almost and the kick's '52 about to kiss the head from the inside with the...
Read more >the care and cleaning of pgt® eze-breeze® sliding panels
You have just purchased the best vinyl-glazed sliding panel available today. With proper care and cleaning, PGT Eze-Breeze Sliding Panels.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
This is not really convenient/easy and you will not get what you want, because prod image of Airlfow has different way of installing sources. Sources in CI are just mounted in /opt/airflow. But Production image “airflow” is installed from packages (separately airflow packages amd separately provider package) - so mounting sources to prod image is not a good idea, because it contains both providers, and airlfow sources from main - where in the production image sources of airlfow are diffferent than sources of providers (they might come from completely different commits)
I guess you do not want to mount “airlfow” sources, but your own sources, and in order to do that it is FAR easier to use plain docker commands rather than breeze:
^^ this will mount your sources to
/your_sources
in the image. No need to get Breeze involved.Added better handling of this case in #21848