We’re having an issue with a .net 6 application one of our developers wrote failing to run in Drone, but not the dev’s local docker or docker-in-docker.
The app is meant to do some version calculations, not particularly sophisticated. When run in Drone it crashes like so
We noticed that the versions of docker in docker and drone’s docker were different.
We think that it is because the autoscaler for AWS is using ubuntu xenial 16.04, which is a fair bit out of date, and that there’s something in the older version of docker that the agent pulls that causes it to fail.
We’ve validated this by switching the AMI to use ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20220609, which allows the application to run without exploding.
Xenial is 6 years old at this point. Ubuntu 16.04 LTS (Xenial Xerus) | Ubuntu
It’s still in Extended Security Maintenance, but is outside of general support, so I don’t think it’s appropriate to be using.
The AMIs are also marked as deprecated next month.
It’s probably also important to update these as the configuration parameter is marked as not recommended to be overridden, so a fair number of people will be running the old images. DRONE_AMAZON_IMAGE | Drone
I can rummage through AWS and pull out the AMIs and open a PR if there’s some guidance on specific requirements.
I see there is a PR from two years ago where someone had a similar idea.
I’d add some more info but I’m getting a very helpful message from harness. Presumably it doesn’t like base 64 images, despite it working fine in the preview
We used the drone autoscaler extensively at my previous company, but we built our own AMIs. I agree this can potentially be a big problem for users that rely on the (very old) default AMI.