Hello Alpine Team,
Now that you provide an AWS EC2 image of Alpine Linux, since the latest
release, I was wondering if you intended to provide other formats for other
cloud providers ?
I do work for 3DS Outscale (https://en.outscale.com/), a French IaaS Cloud
Provider, as a systems engineer, and I'd be interested to provide an Alpine
Linux Image for our customers.
Most of AWS EC2 images can be used pretty much as-is on our Cloud because
we provide EC2 Metadata for CloudInit, so most of CloudInit images do work
fine.
Would it be possible to get a raw of a boot drive of an AMI to see if I can
make it work on our Cloud ?
Thanks,
Best regards,
Romain Lecat
On Sun, Jan 17, 2021 at 03:13:00AM +0100, Romain Lecat wrote:
> Hello Alpine Team,> > Now that you provide an AWS EC2 image of Alpine Linux, since the > latest release, I was wondering if you intended to provide other > formats for other cloud providers?> > I do work for 3DS Outscale (https://en.outscale.com/), a French IaaS > Cloud Provider, as a systems engineer, and I'd be interested to > provide an Alpine Linux Image for our customers.> > Most of AWS EC2 images can be used pretty much as-is on our Cloud > because we provide EC2 Metadata for CloudInit, so most of CloudInit > images do work fine.>> Would it be possible to get a raw of a boot drive of an AMI to see if > I can make it work on our Cloud?> > Thanks,> Best regards,> Romain Lecat
Hello Romain,
We're very interested in supporting as many cloud providers as possible
with the Alpine images. The images are currently being built with
Hashicorp Packer using the EC2 driver but you should be able to get them
working with the QEMU driver (https://www.packer.io/docs/builders/qemu)
which will give you an importable file in RAW or QCOW2 format.
The code for the official images is here:
https://github.com/mcrute/alpine-ec2-ami/
The images don't currently use cloud-init but rather tiny-ec2-bootstrap
(https://github.com/mcrute/tiny-ec2-bootstrap/) which is a very minimal
re-implementation that supports only SSH keys and userdata scripts. As
long as your metadata interface supports those in the same way as AWS
then that should work fine. In the 3.14 release cycle we're planning to
migrate to official cloud-init.
If you run into any issues getting the image working please file an
issue on the alpine-ec2-ami GitHub repo and we'll be happy to help you
troubleshoot any issues.
It looks like 3DS Outscale supports public images (based on the API
docs). Once the images are working would you be interested in listing
them on the Alpine Cloud Images page and making them part of our
official build and release process?
~mike
Hello Mike,
I got Alpine to build on Outscale with only some pretty minor modifications
of your repo: https://github.com/Hakujou/alpine-ec2-ami
The major change is that I switched Packer EC2 builder to Outscale builder
and that we do not support ARM builds (only x86_64 for now).
I removed some incompatible bits, like EC2 authorization broker, which is
not available on Outscale.
The image works fine, the only missing bit is our volume naming udev hooks.
We use udev rules in our images, like this:
KERNEL=="sd?*", PROGRAM="/bin/sd-xvd $env{ID_SERIAL_SHORT}", SYMLINK+="%c"
KERNEL=="vd[!a]*", PROGRAM="/bin/vd-sd %k %n", SYMLINK+="%c"
KERNEL=="vd[!a]*", PROGRAM="/bin/vd-xvd %k %n", SYMLINK+="%c"
With /dev/vd-sd being:
#!/bin/bash
if [ $# -ne 1 ]
then
argdev=${1%%$2}
else
argdev=$1
fi
reqdev=`/sbin/udevadm info -q path -p /block/$argdev|cut -c 29-30`
newdev=`/usr/bin/python -c print\(chr\(0x${reqdev}+93\)\)`
echo xvd${newdev}$2
#!/bin/bash
if [ $# -ne 1 ]
then
argdev=${1%%$2}
else
argdev=$1
fi
reqdev=`/sbin/udevadm info -q path -p /block/$argdev|cut -c 29-30`
newdev=`/usr/bin/python -c print\(chr\(0x${reqdev}+93\)\)`
echo sd${newdev}$2
(dv-xvd is the same script except echo sd is echo xvd).
I'm not sure how to integrate this on Alpine, I'd need some help on that.
About making Outscale part of Alpine build system, would that mean you
would maintain the images for us?
As of today, it's not an official project as I build the images myself and
share them with our customers but the produced images are not part of our
official Images (yet).
If you want to make that official, I can definitely discuss that with our
Product Team, if you'd be interested in continuing to provide Alpine images
on our Cloud.
Thanks,
Romain
Le lun. 18 janv. 2021 à 00:56, Mike Crute <mike@crute.us> a écrit :
> On Sun, Jan 17, 2021 at 03:13:00AM +0100, Romain Lecat wrote:> > Hello Alpine Team,> >> > Now that you provide an AWS EC2 image of Alpine Linux, since the> > latest release, I was wondering if you intended to provide other> > formats for other cloud providers?> >> > I do work for 3DS Outscale (https://en.outscale.com/), a French IaaS> > Cloud Provider, as a systems engineer, and I'd be interested to> > provide an Alpine Linux Image for our customers.> >> > Most of AWS EC2 images can be used pretty much as-is on our Cloud> > because we provide EC2 Metadata for CloudInit, so most of CloudInit> > images do work fine.> >> > Would it be possible to get a raw of a boot drive of an AMI to see if> > I can make it work on our Cloud?> >> > Thanks,> > Best regards,> > Romain Lecat>> Hello Romain,>> We're very interested in supporting as many cloud providers as possible> with the Alpine images. The images are currently being built with> Hashicorp Packer using the EC2 driver but you should be able to get them> working with the QEMU driver (https://www.packer.io/docs/builders/qemu)> which will give you an importable file in RAW or QCOW2 format.>> The code for the official images is here:> https://github.com/mcrute/alpine-ec2-ami/>> The images don't currently use cloud-init but rather tiny-ec2-bootstrap> (https://github.com/mcrute/tiny-ec2-bootstrap/) which is a very minimal> re-implementation that supports only SSH keys and userdata scripts. As> long as your metadata interface supports those in the same way as AWS> then that should work fine. In the 3.14 release cycle we're planning to> migrate to official cloud-init.>> If you run into any issues getting the image working please file an> issue on the alpine-ec2-ami GitHub repo and we'll be happy to help you> troubleshoot any issues.>> It looks like 3DS Outscale supports public images (based on the API> docs). Once the images are working would you be interested in listing> them on the Alpine Cloud Images page and making them part of our> official build and release process?>> ~mike>