1.3 Azure Image build error

Hello team,

I have encountered some errors while building an Azure Image for VyOS 1.3 for my Lab environment but I’m unable to troubleshoot the issue and any help would be very appreciated

Note: I’m aware that there’s a supported image from Sentrium but my MSDN subscription credits are not eligible for using it, so that’s why I have decided to pursue this path

The observed behavior is that, after provisioning, several messages are displayed in the console log with the following information:

2022/04/29 17:57:29.945980 ERROR /proc/net/route contains no routes
2022/04/29 17:57:31.956303 ERROR /proc/net/route contains no routes
[ 1082.249001] vyos-config[3150]: Configuration success
2022/04/29 17:57:33.966396 ERROR /proc/net/route contains no routes
2022/04/29 17:57:35.976681 ERROR /proc/net/route contains no routes
2022/04/29 17:57:37.987972 ERROR /proc/net/route contains no routes
[ 1087.280432] vyos-config[3155]: Configuration success
2022/04/29 17:57:39.998626 ERROR /proc/net/route contains no routes
2022/04/29 17:57:42.009282 ERROR /proc/net/route contains no routes
[ 1092.313556] vyos-config[3161]: Configuration success
2022/04/29 17:57:44.019773 ERROR /proc/net/route contains no routes
2022/04/29 17:57:46.030507 ERROR /proc/net/route contains no routes
2022/04/29 17:57:48.041830 ERROR /proc/net/route contains no routes
[ 1097.347696] vyos-config[3166]: Configuration success
2022/04/29 17:57:50.052624 ERROR /proc/net/route contains no routes
2022/04/29 17:57:52.063792 ERROR /proc/net/route contains no routes
[ 1102.379570] vyos-config[3172]: Configuration success

I have found some articles that could help in determining the root cause (most likely a DHCP client issue) but considering that I’m unable to connect to this machine using serial console because credentials specified during deployment are not working (possibly due uncomplete deployment) I can’t figure out the root cause to fix this.

Below is the procedure I have used to create and upload the image, resulting in this error after provisioning:

  1. Built image using the commands below

    # Pull the latest Docker Image
    docker pull vyos/vyos-build:equuleus
    
    # Cloned latest Branch version
    git clone -b equuleus --single-branch https://github.com/vyos/vyos-build
    
    # Fixed walinuxagent dependency, replaced by waagent from debian base repository
    ## I expect to file a Phabricator issue and a Repository PR as soon as I get this fixed :)
    sed -i 's/walinuxagent/waagent/' ./tools/cloud-init/azure/vyos-azure.list.chroot
    
    # Run build process and exit docker container
    cd vyos-build
    docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:equuleus bash
    ./configure --architecture amd64 --build-by "john@doe.com"
    sudo make azure
    exit
    
  2. Uploaded image to Azure

    # Azure CLI Login
    az login
    az account set --subscription "Subscription Name"
    
    # Variable definition
    RG=rg-vyos-image
    DATE=$(date +%Y%m%d)
    DISK=vyos-equuleus-rolling-$DATE
    LOCATION=eastus2
    
    # Disk Creation and Upload
    az disk create -n $DISK -g $RG -l $LOCATION --for-upload --upload-size-bytes "10737418752" --sku standard_lrs --hyper-v-generation V1
    ACCESS=$(az disk grant-access -n $DISK -g $RG --access-level write --duration-in-seconds 86400 --query accessSas -o tsv)
    ~/azcopy/azcopy copy "$PWD/build/VyOS-$DATE.vhd" "$ACCESS" --blob-type PageBlob
    az disk revoke-access -n $DISK -g $RG
    
    # Image Creation - for easier deployment
    az image create -g $RG -n $DISK --os-type linux --source $(az disk show -g $RG -n $DISK --query id -o tsv)
    

I have even tried to modify Makefile in order to include 99-debug-user.chroot in Azure build as example of what can be seen in other options but seems to be missing something in my tests.

Any insights would be very appreciated!