Build issue for 1.4.0 epa

Hello team:
Follow the link:Build VyOS — VyOS 1.5.x (circinus) documentation
and build the 1.4.0-epa release, but met the below error:
Build issue for vyos 1.4.0-epa1 · Issue #123 · onedr0p/vyos-build · GitHub
and the image which presented at the dockerhub which is a rolling release.
i just want to build a epa version. thanks a lot.

attatch the building logs:

1 Like

This isn’t a bug but a feature :upside_down_face:

In all honesty you can’t build LTS images. Per VyOS leadership the LTS images are for paid subscribers (more info here VyOS Community)

Your only option is to build from the 1.4 branch. If you time it to just after the announcement you’re essentially getting a like for like build as the official image.

Cheers!

1 Like

@ginko On the “Get VyOS” page (VyOS Community) you just linked it SPECIFICALLY says this:

Or you can build an LTS image from source.

This is a bug.

1 Like

Fair point in pointing that out but I believe the documentation is not sufficiently clear based on the position of the VyOS team discussed in other posts about LTS images.

I believe what they are trying to say in the documentation is that you can build an image from the LTS branch at any time but not that you can build the same release image that the VyOS team release to paid contributors.

Related discussion: Getting LTS as a lowly single user - #23 by Apachez

1 Like

That is simply not true though, you are able to build the LTS but only within a certain timeframe because their APT packages are rolling. If they push breaking changes (like we just observed) you can no longer build the LTS release. Meaning to say building the LTS release is not a repeatable process for us plebeians. I like many others would love to support Vyos but it’s not feasible for home users who want to stick with LTS releases.

2 Likes

This is not (only) in their documentation, this is information posted on how to get VyOS on their home page.

The documentation page about this (Installation — VyOS 1.4.x (sagitta) documentation) says the following:

Non-subscribers can always get the LTS release by building it from source.

And they provide precise instructions on exactly how to do this. These instructions are what’s broken - they don’t work.

The information posted there should be impossible to dispute, and if it’s truly incorrect then it’s a false promise by the VyOS team.

The conclusion of that topic was literally “build it yourself”. It might not equate in hashes, but it should be feature-comparable (e.g. same packages, kernel etc.), and that is what this topic is about - this is currently not possible, and should be regarded as a bug.

3 Likes

limit the traffic could be a compromise.

I haven’t tried specifically building from the 1.4-epa1 tag but I did build what I consider to be a feature-comparable iso from the 1.4 branch a few days after epa1 was posted (version info below). This contains ep1 plus whatever commits happened in those few days after epa1 was posted.

$ uname -a
Linux zeus 6.6.17-amd64-vyos #1 SMP PREEMPT_DYNAMIC Sat Feb 17 20:15:01 UTC 2024 x86_64 GNU/Linux

$ show version
Version:          VyOS 2024.02.27
Release train:    sagitta

Built by:         (redacted)
Built on:         Tue 27 Feb 2024 18:09 UTC
Build UUID:       d3cf81b8-14ee-499b-b366-f63213410f42
Build commit ID:  65d5a9cea20590

Architecture:     x86_64
Boot via:         installed image
System type:      bare metal

The “alias vybld_sagitta” command under Tips and Tricks is what I used and once it finished running I ran the “sudo ./build-vyos-image iso…” command under Start the Build. This produced the ISO I’m running now.

https://docs.vyos.io/en/sagitta/contributing/build-vyos.html

What the problem to do build with the latest code base/fixes and packages ? Do not use specific tag as binary could be completely changed since tag time.
There are many ways to get prebuilt LTS release for contributors, VyOS Community

Yes. with rolling release, it’s fine. but there is no such real-LTS release.

[root@wluo cilium-BGP-Control-Plane-VyOS-1.4-LTS]$ lo clab-cilium-bgp-leaf0 bash 
sroot@leaf0:/# show version    
Version:          VyOS 1.4-rolling-202403030008
Release train:    sagitta

Built by:         Luowei
Built on:         Sun 03 Mar 2024 00:08 UTC
Build UUID:       cb2b01af-c655-4d18-b894-336a9e816463
Build commit ID:  8c829af7b643cb

Architecture:     x86_64
Boot via:         installed image
System type:      VMware guest

Hardware vendor:  VMware, Inc.
Hardware model:   VMware Virtual Platform
Hardware S/N:     VMware-56 4d 81 a9 d1 3b d8 7e-b8 f0 ea 7c 34 0c 4b 93
Hardware UUID:    a9814d56-3bd1-7ed8-b8f0-ea7c340c4b93

Copyright:        VyOS maintainers and contributors
root@leaf0:/# 

@Viacheslav (or anyone on the Vyos team) The simple question is this…

How can I build the LTS for 1.4 on the 1.4.0-epa1 tag right now given Vyos APT repos are “ahead” of this tag which causes the build to fail?

If what you have in the docs here is true, we should be able to build LTS at anytime, if this is not true please update your docs.

2 Likes

The apt repos (rolling-packages.vyos.net/sagitta) contain packages that depend on a newer kernel than the one used to build the LTS image for the 1.4.0-epa1 release, thus making it impossible to build an image on the LTS tag. The name of this apt repo kind of gives away why this is broken in the first place - there are no apt repos for LTS, only rolling.

Here’s a screenshot of some of the packages that depend on the 6.6.19 kernel (from rolling) while the LTS tag uses the 6.6.17 kernel, highlighted in yellow:

In the docs it clearly states that anyone should be able to build an LTS image using these tools, which is currently false. It’s only possible to build rolling images.

So you built a rolling release, which is irrelevant for this discussion.

6 Likes

Anyone from the Vyos team care to comment on the above concerns please?

3 Likes

I know this isn’t quite what you’re asking, but if you absolutely want to build from the EPA1 source, then you can change the kernel value in the defaults.toml file and the build will complete.

This will obviously be even further from a “like for like” version of 1.4 than just having newer packages when doing a build.

That’s not how versioning works at all.

2 Likes

I think part of the actual problem is, that old Debian packages from rolling-packages.vyos.net are being removed before new ones are added: vyos-build/vars/buildPackage.groovy (github.com)

When building VyOS from git tag 1.4.0-epa1 I end up with kernel 6.6.21 instead of 6.6.17 due to packages like vyos-intel-ixgbe which depend on the latest kernel.

The kernel packages however are being retained in the repository (see repositories/sagitta/pool/main/l/linux-upstream • dev.packages.vyos.net

Could this be applied to non-kernel packages as well?

2 Likes

Same here, I cannot build the 1.4.0-epa1 tag as it fails. As I can see from the logs there are two kernel packages fetched from the deb repository: 6.6.17 and 6.6.21:

Get:172 https://rolling-packages.vyos.net/sagitta sagitta/main amd64 linux-image-6.6.21-amd64-vyos amd64 6.6.21-1 [28.6 MB]
. . .
Get:242 https://rolling-packages.vyos.net/sagitta sagitta/main amd64 linux-image-6.6.17-amd64-vyos amd64 6.6.17-1 [28.6 MB]

and these two kernels are passed to update-initramfs which fails to handle this:

I also agree this hardly fits into the statement “non-subscribers can always get the LTS release by building it from source”. Either repo or documentation should be fixed.

4 Likes

Anyone from the Vyos team care to comment on the above concerns please?

2 Likes

I have opened a PR to the docs to avoid confusion on this issue.

3 Likes