Ok,
I'm getting a bit confused now....
Using the same config as yesterday with the tumbleweed box worked just fine.
kiwi-ng --loglevel=10 --debug --profile kvm system boxbuild --box tumbleweed -- --description ./sles --target-dir ./img-out
I also managed to reproduce the error with the attached Debian
Bookworm config. This is an enhanced version of the one in the
kiwi-descriptions Github Repo and has no internal apt mirrors
configured. So it should be possible to reproduce the behavior
with
kiwi-ng --loglevel=10 --debug --profile kvm system boxbuild --box universal -- --description ./<folder with attached config> --target-dir ./img-out
As I write this I try to use this config with the ubuntu box in the hope of having a tumbleweed box with sles description miracle but the build is stuck at the apt-get update step for over 30 minutes.
Trying to set the kiwi version with
kiwi-ng system boxbuild ... --kiwi-version 10.2.7 ...
did not work. I'm behind a corporate proxy and it seems pip does
not like that fact.
In fact pip doesn't even use the proxy env vars on my sles host and I have to explicitly tell pip to use my proxy with the --proxy option. But I have no idea how to pass that to the boxbuild environment.
@Marcus: Would you be so kind and try the attached debian config? At the moment I'm suspecting a problem with the installed python version in the universal box but that is just a wild guess.
Regards
Sven
--
You received this message because you are subscribed to a topic in the Google Groups "kiwi" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/kiwi-images/ZQS28FX4Q-g/unsubscribe.
To unsubscribe from this group and all its topics, send an email to kiwi-images...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kiwi-images/b0633ca1-c39e-46ec-a300-02a7b37b9633n%40googlegroups.com.
Ok, another update:
Using the sles config.xml and a regular system build (kiwi-ng --profile kvm system build --description ./sles )on a sles 15 SP6 host with python 3.11.10 and kiwi-ng version 10.2.7 works as well.
The previous posted Debian config works as well when using the
ubuntu box for the boxbuild. Although I had to press enter once at
the apt-get update phase for it to continue the build, otherwise
it is stuck at this phase.
So in summary:
- sles build on tumbleweed box works
- debian build on ubuntu box works (although weird behaviour at the apt-get update phase)
- sles build without boxbuild works as well
- debian without boxbuild can not be tested atm since I don't have a apt based host at hand that could serve as the build host and kiwi-ng moved away from debootstrap
- sles and debian build fail with a boxbuild on the universal box
Regards
Sven
Hi Marcus.
thank you for the fast follow up!
> I found the issue with the unexpected error. The problem is
> that there is no PATH set in the environment of the box. In
> a recent change in kiwi we use os.defpath in such a case.
> However, this now leads to the problem that Path.which()
> searches only in
> ```
> print(os.defpath)
> :/bin:/usr/bin
> ```
>
> but tools like grub-mkconfig are found in /usr/sbin. That
> results in Path.which() to return a None value which is then
> later used in a join which raises an exception and that's the
> point where you ended up with a weird stack trace.
Ok I was way of with me suspecting the python version of the universal box being the culprit...
> Stay tuned, I'm on it
Thank you!
Regards
Sven
Ok,
I now know what happened and got it fixed. We got an exception
for the boxbuild mirror in our company proxy/firewall solution.
This was a bigger problem than I initially thought, and it also
affected our RMT server.
Hi,requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(15251620 bytes read, 45736836 more expected)', IncompleteRead(15251620 bytes read, 45736836 more expected))Whot, never could that type of error from requests, which is also the reason why it's not handled and gives you that stack traceWhen trying again the download works.great ;)
Yes and no. Yes the download worked, but it didn't download the Universal-Box.x86_64-Kernel.tar.xz but instead a webpage. The proxy/firewall suite our company uses deemed the file Universal-Box.x86_64-Kernel.tar.xz a potential virus and informed me with a website that it prevented the download of it.
wget saves this page as Universal-Box.x86_64-Kernel.tar.xz and
hence the tar extract command later on fails, since it is just a
tar by name not by content.
I know this is a pretty exotic
use case but shouldn't there be a checksum test in place like
for the squashfs image of the box?
So you are building via boxbuild and the proxy setup must be effective inside the box. To bring in that setup into the box prior kiwi is called you can do the following: * Add a directory named boxroot/ to your image description. All data that is inside boxroot will be rsynced into the box prior the kiwi call * In addition add boxroot/etc/boxprofile. This file gets shell sourced and allows to influence the runtime environment. For example setting HTTP_PROXY As it's sourced you can also invoke code in the box if need be With that you should have a way to setup everything to meet your company requirements withou us having to modify the boxes.
The problem is not with the boxbuild but at the stage when kiwi
pulls the box kernel and rootfs. But from what I can tell by the
behavior kiwi showed it must get the proxy settings from the
environment of the shell that executes kiwi.
Hope this helps
Yes, as always. Thank you!
Regards
Sven