Comments (6)
@thywyn can you check if that branch works for you locally?
you don't have to run the whole molecule stack, you can just clone it and run molecule dependency
and see how that goes.
Thanks
from atmosphere.
@mnaser
1st error:
[1/3] STEP 3/4: pip install poetry
ERRO[0040] +(UNHANDLED LOGLEVEL) &imagebuilder.Step{Env:[]string{"PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=C.UTF-8", "GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D", "PYTHON_VERSION=3.10.7", "PYTHON_PIP_VERSION=22.2.2", "PYTHON_SETUPTOOLS_VERSION=63.2.0", "PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/5eaac1050023df1f5c98b173b248c260023f2278/public/get-pip.py", "PYTHON_GET_PIP_SHA256=5aefe6ade911d997af080b315ebcb7f882212d070465df544e1175ac2be519b4"}, Command:"pip", Args:[]string{""}, Flags:[]string{}, Attrs:map[string]bool(nil), Message:"PIP ", Original:"pip install poetry"}
Error: error building at STEP "PIP ": Build error: Unknown instruction: "PIP" &imagebuilder.Step{Env:[]string{"PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=C.UTF-8", "GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D", "PYTHON_VERSION=3.10.7", "PYTHON_PIP_VERSION=22.2.2", "PYTHON_SETUPTOOLS_VERSION=63.2.0", "PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/5eaac1050023df1f5c98b173b248c260023f2278/public/get-pip.py", "PYTHON_GET_PIP_SHA256=5aefe6ade911d997af080b315ebcb7f882212d070465df544e1175ac2be519b4"}, Command:"pip", Args:[]string{""}, Flags:[]string{}, Attrs:map[string]bool(nil), Message:"PIP ", Original:"pip install poetry"}
FIX: Podman did not like the '<<EOF blah blah EOF' in the Dockerfile had to modify as below:
...
3 FROM python:3.10-slim AS poetry
4 RUN --mount=type=cache,target=/root/.cache pip install poetry
5
6 FROM poetry AS builder
7 RUN apt-get update && apt-get install -y gcc
8
9 WORKDIR /app
...
2nd Error:
Error: error building at STEP "COPY --from=builder --link /app /app": COPY only supports the --chmod= --chown=uid:gid and the --from=<image|stage> flags"
FIX: Podman 4.2 does not support the --link option for the COPY command, removed the --link from the line:
20 COPY --from=builder /app /app
3rd Error is from a MacOS environment, possibly related to a podman qemu machine being required:
"...could not determine homedir..."
FIX: had to export HOME from the shell in the tox.ini, NOTE: this is not needed using podman on a linux OS:
21 passenv =
22 OS_*
23 TERM
24 ATMOSPHERE_*
25 HOME
from atmosphere.
hrm, okay so I think a big part of this is the fact that we're using Buildkit to build those images (aka docker buildx
) and I think Podman does not support these frontends at all, which means that we can't do a lot of the fancy stuff to allow building things more effectively.
I think we'll have to think about this a bit more, as its' not as straight forward.
from atmosphere.
one other thing is that the mount type "cache" is supported with podman 4.x+. You can get an installable package for 22.04 here: wget http://ftp.us.debian.org/debian/pool/main/libp/libpod/podman_4.2.0+ds1-3_amd64.deb
. For 20.04, podman would have to be built from source.
from atmosphere.
I think the only way to successfully move forward with this would be to create a Containerfile
and write some tests to keep them relatively in sync.
Podman is neat but it seems to be missing a fair bit of features such as Buildkit. I don't know if we can do a whole lot about supporting the podman images out of the box.
If you have a functional Containerfile
that can be used with Podman, could you perhaps send that as a PR? Since I think it will be hard to support two different and distinct build tools for the images and we're mostly all using Docker here.
from atmosphere.
Closing this issue since it is a nice to have and cannot spend time on this as needed. Thanks for the input back.. I have it in my own backlog to follow-up on this
from atmosphere.
Related Issues (20)
- [stable/zed] Add missing deps to Molecule venv
- SRIOV and vGPU devices can't be discover by nova-compute HOT 1
- [stable/2024.1] fix(horizon): apply a patch to fix resource provider panel
- [stable/2023.2] fix(horizon): apply a patch to fix resource provider panel
- [stable/2023.1] fix(horizon): apply a patch to fix resource provider panel
- [stable/zed] fix(horizon): apply a patch to fix resource provider panel HOT 1
- [stable/2024.1] [ATMOSPHERE-302] fix: set variables for cluster issuer name for keycloak and kube-prom-stack
- [stable/2023.2] [ATMOSPHERE-302] fix: set variables for cluster issuer name for keycloak and kube-prom-stack
- [stable/2023.1] [ATMOSPHERE-302] fix: set variables for cluster issuer name for keycloak and kube-prom-stack
- [stable/zed] [ATMOSPHERE-302] fix: set variables for cluster issuer name for keycloak and kube-prom-stack
- [stable/zed] [ATMOSPHERE-307] Add Ironic
- [stable/2023.1] [ATMOSPHERE-307] Add Ironic
- [stable/2023.1] [ATMOSPHERE-327] images(python-openstackclient): Add python-ironicclient
- [stable/zed] [ATMOSPHERE-327] images(python-openstackclient): Add python-ironicclient
- Unable to install atmosphere HOT 6
- [stable/2023.1] Add TLS to node exporter
- [stable/zed] Add TLS to node exporter
- Issue with encrypted volumes be create from encrypted volume types HOT 1
- pxc_strict_mode HOT 1
- Keycloak ingress annotations not being used HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from atmosphere.