*TL;DR: CentOS CI is going hardwareless and if you wish your project
remains using it, we need your opt-in by August 2022. There is a Dojo
Summer 2022 <https://wiki.centos.org/Events/Dojo/Summer2022> session
happening on Thursday, June 17th, that will explain further technical
details. *
Hello everyone,
As many of you know, since the beginning of this year we have been
reevaluating the future of CentOS CI, as currently the hardware being used
for it is out of warranty. This is due to the fact that CentOS CI came from
community donations of hardware which were maintained in a best effort
manner by our team. With no warranties, when the physical machine dies we
have no means to replace it. Right now though, our hardware, due to a lack
of warranty, will not be moved with the upcoming data center changes due to
data center requirements to have in warranty hardware for supportability.
We decided to take this opportunity to modernize our current
infrastructure, pushing it to a hybrid cloud environment. Duffy CI will
become the main tool from now on, so that we can support the CI workflow
and best practices on cloud and for this reason, the current hardware infra
will no longer be available soon. However, as an effort to continuously
provide resources and support CI best practices for projects, our team is
adapting Duffy CI so that we can maintain most of the characteristics of
our current, physical-based offering.
At the technical level, what does that mean for you, CI tenants?
-
A new Duffy API service will replace the existing one: while it will be
running in compatibility/legacy mode with the previous version, you will
need to adapt your workflow to the new API, but more details below
-
We will transition to AWS EC2 instances for the aarch64 and x86_64
architectures by default, with a (limited) option to request “metal”
instances for projects requiring virtualization for their tests (like
KVM/vagrant/etc)
-
We will keep a (very small) Power9 infra “on-premise” (AWS does not
support ppc64le) for the ppc64le tests (available through a dedicated VPN
tunnel)
-
The existing OpenShift cluster will be also decommissioned and a new one
(hosted in AWS, so without an option to run kubevirt operator nor VMs) will
be then used (you will have to migrate from one to the other)
With that being said, tenants can start preparing for the changes to happen
with the maximum deadline of the end of December 2022 wherein at this
point, Duffy API legacy mode will be removed. You are required to opt-in if
you and/or your team want to use Duffy CI. Projects will only be migrated
if they reply to this email confirming that they wish to proceed. Worth
knowing that not opting in means that your API key will not be migrated and
so all your requests to get temporary/ephemeral nodes will be rejected by
the new Duffy API.
The maximum decommission deadline of the current hardware infrastructure is
December 12th, 2022 and the new Duffy CI will go live in August 2022, so
please, complete your migration process by the end of CY22. Reminders of
deadlines and of the opt-in requirements will be sent monthly, but your
confirmation of opt-in is required by August 2022. When approaching
December, reminders about deadlines frequency will increase so that we can
ensure effective communication throughout the process.
Here are the steps in which we will migrate CI Infra:
Phase 1 - Deploy Duffy V3 (August 2022)
-
Deploy in legacy/compatibility mode, so existing tenants (that opted in
!) can still request duffy nodes the same way (like with
'python-cicoclient') : no change at tenants side, and exactly same hardware
for tests (transparent migration)
-
New Duffy API endpoint becomes available, and tenants can start adapting
their workflows to point to new API (new ‘duffy-cli’ tool coming, with
documentation)
-
Bare metal and VMs options will be available already through the new
API (x86_64, aarch64, ppc64le)
Phase 2 - Hybrid Cloud (October 2022)
-
Legacy/compatibility API endpoint will handover EC2 instances instead of
local seamicro nodes (VMs vs bare metal)
-
Bare metal options will be available through the new API only
-
Legacy seamicro and aarch64/ThunderX hardware are decommissioned
-
Only remaining "on-premise" option is ppc64le (local cloud)
Phase 3 - Decommission (December 2022)
-
Legacy/compatibility API deprecated and requests (even for EC2
instances) will no longer be accepted
-
All tenants that opted in will be using only EC2 for aarch64/x86_64 and
on-premise cloud for ppc64le
OpenShift new deployment planning and timeline
To be defined (deadline for planning and timeline: end of June 2022)
Do not hesitate to reach out if you have any questions. It is worth knowing
that there will be a dedicated session about the Future of CentOS CI infra
at the next CentOS Dojo happening on June 17h (check Dojo Summer 2022
<https://wiki.centos.org/Events/Dojo/Summer2022>). That session will be
recorded and then available on Youtube but if you have any questions. Feel
free to join the CentOS Dojo and reach out to us!
Best regards,
--
Camila Granella
Associate Manager, Software Engineering
Red Hat <https://www.redhat.com/>
@Red Hat <https://twitter.com/redhat> Red Hat
<https://www.linkedin.com/company/red-hat> Red Hat
<https://www.facebook.com/RedHatInc>
<https://www.redhat.com/>
As previously announced in June (see
https://lists.centos.org/pipermail/ci-users/2022-June/004547.html and
also https://www.youtube.com/watch?v=aqgs-3NnRmA), we'll migrate
existing Duffy API service to the new Duffy v3, starting with Phase 1 .
Migration is scheduled for """"Monday August 1st 7:00 am UTC time"""".
You can convert to local time with $(date -d '2022-08-01 07:00 UTC')
The expected API downtime will be under the 60 seconds (DNS TTL).
Worth knowing:
- new duffy api (in legacy mode) has currently less available nodes, but
that will be resolved during the day (see below)
- we'll have to wait ~6h (default maximum "lease" time for a test node)
to be able to let new duffy api reinstall older seamicro nodes and so be
available in the new duffy v3 pool (transitioning from old to new duffy
pool)
- currently running jobs will continue so to work, but when you'll hit
new duffy api endpoint (DNS switch) to "return nodes" it will just
answer that session doesn't exist (new one) but it's safe to ignore
As soon as new duffy API is available you'll already be able to switch
your workflow to new the Duffy API and so use the new features.
Tenants/users documentation about how to interact with Duffy is
available on https://sigs.centos.org/guide/ci/ (see the Duffy part of
that documentation)
That means that switching to EC2 nodes will be directly possible.
During the day we'll tune the duffy nodepool configuration based on
usage metrics.
IMPORTANT remark : *only* projects/tenants that opted-in in the last 45
days are currently migrated (api and ssh keys), so if you haven't (yet),
you can still opt-in, otherwise all your requests for duffy ephemeral
nodes will be declined by new duffy api service next monday.
In case of troubles, both Pedro (nick phsmoura) and myself (nick arrfab)
will be also present in the #centos-ci irc channel on irc.libera.chat
the whole day.
Thanks for your understanding and patience.
on behalf of the Infra team,
--
Fabian Arrotin
The CentOS Project | https://www.centos.org
gpg key: 17F3B7A1 | twitter: @arrfab
Hello everyone,
This is a friendly reminder to opt-in if you are interested in using CentOS
CI for your project after the changes we announced last month (check
"[ci-users] Changes on CentOS CI and next steps
<https://lists.centos.org/pipermail/ci-users/2022-June/004547.html>").
*Projects
will be migrated only if they opt-in*. Please,* opt-in by August 2022*, you
can do that by simply replying to this email expressing your interest.
Also, we now have a deadline for the OpenShift new deployment as per our
last email. It should be up and running at the *beginning of September 2022*
.
Feel free to reach out if you have any questions or concerns,
--
Camila Granella
Associate Manager, Software Engineering
Community Platform Engineering
Red Hat <https://www.redhat.com/>
@Red Hat <https://twitter.com/redhat> Red Hat
<https://www.linkedin.com/company/red-hat> Red Hat
<https://www.facebook.com/RedHatInc>
<https://www.redhat.com/>