On 10/22/20 7:17 PM, Ross Vandegrift wrote:
Hi Paul,
On Tue, Oct 20, 2020 at 02:31:21PM -0700, Paul Graydon wrote:
My name is Paul Graydon, I'm one of the engineers in Compute at Oracle Cloud
Infrastructure (OCI). We would like to work with you to bring Debian
on-board as a platform image, and we'd like to understand what that process
would entail.
Welcome back! OCI would be welcome to build and contribute support to our
repo. The cloud team uses the tools & config in this repo:
https://urldefense.com/v3/__https://salsa.debian.org/cloud-team/debian-cloud-images/__;!!GqivPVa7Brio!IRz0nmF7s9ZyEE5LWItve3suEQ8fWLb02t4sza3SgggcGZjwpqsVI83PwEKTQPHwZw$
For someone looking to implement OCI-specific builds, the most important bits
to check out are:
- config_space: contains the FAI config for image builds, including the
provider-specific setup
- src: a python tool to simplify builds, and manage image uploads and releases
- .gitlab-ci.yml: a pipeline that actually runs all of the builds
debian-cloud-images uses apache libcloud, but OCI is not listed as a supported
provider at [1]. You might first need to add support to libcloud.
Okay. So the goal here would be for us to make code changes and submit
a pull request, and maintaining that part of the code as necessary?
I'm attempting to anticipate our legal team's questions, as we'll have
to get clearance from them before we can make such changes:
* Are there any specific agreements, such as a Contributor License
Agreement, that we'd need to sign before contributing code?
* Is everything covered under the GPL v2 license that's stored in the
repository as "COPYING"?
https://salsa.debian.org/cloud-team/debian-cloud-images/-/blob/master/COPYING
There's a reference to GPL-2+ under
https://salsa.debian.org/cloud-team/debian-cloud-images/-/blob/master/copyright.
Is this to cover a potential switch to GPL v3 at some stage?
With regards to libcloud, it looks like you're relying on it for upload
to the cloud provider only? We have an S3 compatible API on our Object
Storage service, so that may not be a blocking issue. I'll certainly
speak to our Developer Experience team about getting support added to
libcloud though. Even if it's not necessary for this work, there's
bound to be other projects that rely on it.
Due to the way that our architecture is structured, and particularly with
bare metal involved where we use iSCSI root drives, we typically require
custom configuration changes and packages installed in images to run on our
cloud.
If all of those required components are already in Debian, it should be
straightforward to adapt one of the existing FAI configs. It'd be useful to
see & compare the generic image with either azure or ec2.
If not, it'd be ideal to get the required software packaged. But if that's
impossible, it might still be nice to build support for unofficial images. In
this case, gce provides a good example.
Ross
Almost everything will already be covered by standard packages and
configuration changes. It's nothing particularly exotic.
There is one component that is not in the Debian repositories, the
Oracle Cloud Agent, which we're looking at open sourcing. Its primary
responsibility is for emitting metrics from instances. We package this
in a number of formats and have available for installation.
For Canonical to do the installation in the Ubuntu images they produce
for us, we have it packaged as a snap. I can see that snapd is in the
Debian repositories, so theoretically we can publish and install via
that mechanism, but would that be something that is acceptable to the
Debian Cloud team for official images? If not, would it need to be in
Debian repositories, or can we just repackage it as a DEB and install it
direct from a publicly accessible external URL?
Paul