Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id EB267782B95 for <~alpine/devel@lists.alpinelinux.org>; Mon, 18 Jan 2021 12:12:48 +0000 (UTC) Received: by mail-pl1-f170.google.com with SMTP id be12so8557289plb.4 for <~alpine/devel@lists.alpinelinux.org>; Mon, 18 Jan 2021 04:12:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=YVyB96boJWFEBB+Dr4s4tUFlcfqZr9ZDEHR3Kv++8/g=; b=GB89s2UlMpo5a1hGH2QfRr289vpYkvZ+BZpS9GAOGlkDPq27YW96MIyTGWRmXvGrX8 YTN0CBQkv9pVoqKVUxiE0Fb5YEUK/Lo/6air9AcUlEG5Sc2pSDapZms0DavR+nMeDW00 QG2cZnnBF/O8KzsGV3DIv48DtUepCQIinHiSalfBY63/19BElz4zIFbwYrCA11SDOWER /QcUMHZCfcjfwTsVB2bk0BH9h6ZJeI2Js+Y63eVpWcjpv0MpQ7vJoarpF4Zmip01zvia R9bXNPkrNWKaNr4RqOsXiP+PvwukeCeQGmvFBq+g9SVah6C6qocVRhE0RutsfqQnRgNY MPoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YVyB96boJWFEBB+Dr4s4tUFlcfqZr9ZDEHR3Kv++8/g=; b=IIg8721jfiKZfuCrD7Zls+3+BIwr4/ss9fZtW6h/wn8r943FmhKHASqaE7KYGFcLF7 y+vfYBkdut8Sok2A7RFBpYQQoPnP5F6zd2ovoTJuYjvi0YxYRzyUSC4SrU8T/LIiAIyN Ae9KEAnj3IYSdfXyoxA6cWz33iw0Pv1xMkz5hfnIwiclt2e6vUapekzCpb1utlZ+TUYU 9u3N0Se9iwMEA/1jYvxk7mNJA6iPuWPNGdfsiYBEPN/grTC4BCbctDIsrTxeBFhLRYTQ o0Hd7ikWxDIKvRdfR2xMn0hdHooQ+eAwJKkX36+RntnVC8CgKcVMs7SSAoCb29Z/1uU2 zlFw== X-Gm-Message-State: AOAM532+DITIg5HMP4n2CRom0eG8xWma3EDpbCZVwEGBpeZdARe33bHj CzAxt/gwQSV3P1/C+X8JBv7X7WDjjzUgypCmmp8= X-Google-Smtp-Source: ABdhPJyJ3TuwooNSpDevUiAMQA/i7G4n2QsOCkQhe83rC7uwQnnh79eIOVLnjD45gJPQnCm61hObE7JvkoZEaA5L8zE= X-Received: by 2002:a17:90a:f988:: with SMTP id cq8mr23427602pjb.71.1610971966628; Mon, 18 Jan 2021 04:12:46 -0800 (PST) MIME-Version: 1.0 References: <20210117235617.GA3369494@crute.us> In-Reply-To: <20210117235617.GA3369494@crute.us> From: Romain Lecat Date: Mon, 18 Jan 2021 13:12:35 +0100 Message-ID: Subject: Re: Alpine Linux for other cloud providers To: Mike Crute Cc: ~alpine/devel@lists.alpinelinux.org Content-Type: multipart/alternative; boundary="000000000000d0666405b92ba327" --000000000000d0666405b92ba327 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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=3D=3D"sd?*", PROGRAM=3D"/bin/sd-xvd $env{ID_SERIAL_SHORT}", SYMLINK+= =3D"%c" KERNEL=3D=3D"vd[!a]*", PROGRAM=3D"/bin/vd-sd %k %n", SYMLINK+=3D"%c" KERNEL=3D=3D"vd[!a]*", PROGRAM=3D"/bin/vd-xvd %k %n", SYMLINK+=3D"%c" With /dev/vd-sd being: #!/bin/bash if [ $# -ne 1 ] then argdev=3D${1%%$2} else argdev=3D$1 fi reqdev=3D`/sbin/udevadm info -q path -p /block/$argdev|cut -c 29-30` newdev=3D`/usr/bin/python -c print\(chr\(0x${reqdev}+93\)\)` echo xvd${newdev}$2 #!/bin/bash if [ $# -ne 1 ] then argdev=3D${1%%$2} else argdev=3D$1 fi reqdev=3D`/sbin/udevadm info -q path -p /block/$argdev|cut -c 29-30` newdev=3D`/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 =C3=A0 00:56, Mike Crute a =C3=A9crit= : > 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 > --000000000000d0666405b92ba327 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Mike,

I got Alpine to build on Ou= tscale with only some pretty=C2=A0minor modifications of your repo:=C2=A0https://github.com/Haku= jou/alpine-ec2-ami
The major change is that I switched Packer= EC2 builder to Outscale builder and that we do not support ARM builds (onl= y=C2=A0x86_64 for now).
I removed some incompatible bits, like EC= 2 authorization broker, which is not available on Outscale.

<= /div>
The image works fine, the only missing bit is our volume naming u= dev hooks. We use udev rules in our images, like this:
KERNEL=3D= =3D"sd?*", PROGRAM=3D"/bin/sd-xvd $env{ID_SERIAL_SHORT}"= ;, SYMLINK+=3D"%c"
KERNEL=3D=3D"vd[!a]*", PROGRAM=3D= "/bin/vd-sd %k %n", SYMLINK+=3D"%c"
KERNEL=3D=3D&quo= t;vd[!a]*", PROGRAM=3D"/bin/vd-xvd %k %n", SYMLINK+=3D"= %c"

With /dev/vd-sd being:
#!/b= in/bash
if [ $# -ne 1 ]
then
argdev=3D${1%%$2}
else
argdev= =3D$1
fi
reqdev=3D`/sbin/udevadm =C2=A0info -q path -p /block/$argdev= |cut -c 29-30`
newdev=3D`/usr/bin/python -c print\(chr\(0x${reqdev}+93\)= \)`
echo xvd${newdev}$2
#!/bin/bash
if [ $# -ne 1 ]
then
arg= dev=3D${1%%$2}
else
argdev=3D$1
fi
reqdev=3D`/sbin/udevadm =C2= =A0info -q path -p /block/$argdev|cut -c 29-30`
newdev=3D`/usr/bin/pytho= n -c print\(chr\(0x${reqdev}+93\)\)`
echo sd${newdev}$2
(dv-xvd is the same script except echo sd is echo xvd).
<= div>I'm not sure how to integrate this on Alpine, I'd need some hel= p on that.

About making Outscale part of Alpine bu= ild 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=C2=A0you want to make that official= , I can definitely discuss that with our Product Team, if you'd be inte= rested in continuing to provide Alpine images on our Cloud.

<= /div>
Thanks,
Romain

Le=C2=A0lun. 18 janv. 2021 =C3=A0= =C2=A000:56, Mike Crute <mike@crute.us<= /a>> a =C3=A9crit=C2=A0:
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 I= aaS
> 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/bui= lders/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/) whi= ch 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
--000000000000d0666405b92ba327--