How to tell VyOS version

Hello,

I’ve been trying to build the .iso for 1.2.2 version using docker, but after I install the iso on a VM, I was uncertain about the version I built.

Intuitively, I supposed that if it is indeed the right version, it should not have the features included in a higher one. So, I looked for the 1.2.3 features from here https://vyos.readthedocs.io/en/latest/appendix/releasenotes.html#id1 and began testing them on my install. Strangely, all the features and resolved issues tested on my install worked, as if I was using the 1.2.3 version.

I’m new with VyOS, so, either I did something wrong when I build the .iso and ended up with the wrong version, either the way I tested current version is wrong.

Here are the things I’ve done when I tried to install the specific version, and some examples of testing it after installing the .iso.

First, I installed docker on a Centos 7 instance then:

    $ docker build -t vyos-builder docker

    $ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos-builder bash

    $ git clone -b crux --single-branch  https://github.com/vyos/vyos-build.git 

    The ./configure script will warn you if any dependencies are missing.

    $ ./configure --help

    $ ./configure --architecture=amd64 --version=1.2.2 --build-type=release

    $ sudo make iso

After this, I downloaded the ISO and installed it on a VM, then tested it.

As you can see here, this problem was solved in 1.2.3 version: https://phabricator.vyos.net/T1543 , so… it should not work on my install, but guess what:

I don’t think the ./configure --version does what you think it does. It just SETS the version, it doesn’t FORCE a compile TO that version.

You could just as easily say “–version 7.95-Squirrel-42”. (I have tried this!!)

Thank you @rgrant ! But, does this mean that is not possible to force compile to a specific VyOS version (1.2.2)? If so, how do you get the version you need?

I think you should try to use Git.

git checkout “hash”

where “hash” is the commit hash - like 882b223ae9a62fc4331db964311aff20ff9ba3cb for one on July 12th.

I don’t think “versions” really exist, per se - but I could be wrong.

Curious: Why would you want to return to an earlier, probably buggier version?

There can be plenty of reasons why you may want an older version. In my case, I just want to know if this is possible, because I think it is for the best to have control over the version you want to use.

Git clone a specific commit is a great idea, thank you once again! but, how do you know which commit belong to which “version”? Is it possible? Like, something concrete, beside the date and features.

Good question, I think really important when deploying to production machines that you know you are a certain version and with the known issues. Running with different builds every time you generate an ISO wouldn’t be so great.

I also have the same question about the builds. In compilation or git clone? It would be great to have something in the documentation. (https://vyos.readthedocs.io/en/latest/build-vyos.html)