coreos / fedora-coreos-docs

Documentation for Fedora CoreOS
https://docs.fedoraproject.org/en-US/fedora-coreos/
Other
51 stars 124 forks source link

adoc: clear explanation of cloud platform scope #525

Closed sean-freeman closed 1 year ago

sean-freeman commented 1 year ago

For distinction, it is important to note that each hyperscaler Cloud Service Provider has some previous generation of Cloud Services and Networking environments. Misleading labels may cause confusion with end users, particularly as most Cloud Platforms have hardware generations for different Virtual Machines and Bare Metals using newer CPU and DRAM.

Below is the evidence for Cloud Service Provider versioning, where most products have suffix (Classic).

The PR includes an abbreviated version of the below content.

AWS hyperscaler, Cloud Service Provider

Google Cloud hyperscaler, Cloud Service Provider

IBM Cloud hyperscaler, Cloud Service Provider

Microsoft Azure hyperscaler, Cloud Service Provider

bgilbert commented 1 year ago

It seems like this PR is mainly trying to avoid the appearance that only some IBM Cloud VM services are supported. As far as I know, IBM Cloud still offers some VM services that are not supported by Fedora CoreOS. Is this no longer correct?

As to other platforms, it's correct that Azure ASM is not supported, but Azure ASM is no longer available. For AWS and GCP, as far as I know, Fedora CoreOS supports all of the older-generation VM technologies. (S3-backed EC2 disks might not work, but our images are configured to use EBS, so that wouldn't be user-facing.)

sean-freeman commented 1 year ago

The PR is trying to address parity in references to Cloud Service Providers and their associated technologies/services. There is no intention to disguise appearances, quite the opposite - it is to ensure end users understand the limitations of running Fedora CoreOS on any given cloud platform provider.

Because there are no limitations/scope defined, at present it could be reasonably expected by an end user to attempt Fedora CoreOS installations to (and fail because there is no Afterburn provider code handlers for the following):

In reference specifically to Virtual Machine IaaS products from IBM Cloud, both are and remain supported for use by Fedora CoreOS:

bgilbert commented 1 year ago

Ignition doesn't support ibmcloud-classic and Fedora CoreOS doesn't ship images for it. I had missed that Azure ASM is still around, and am okay with adding a note to the docs about it. I'm pretty sure Google Cloud legacy networking will work with Fedora CoreOS; could you point out the specific functionality that will fail?

However, if the goal is to help users, an Important note with a bulleted list of text that will be irrelevant to most users isn't the way to do it. We try to keep our docs readable by keeping them clear, useful, and concise. You're right that the list of platform identifiers is probably not the place to mention support limitations, so I'm okay with dropping , VPC Generation 2 from platforms.adoc. Other than that, a sentence or two in the first paragraph of an individual platform page is probably the way to go. For example, the Azure page might say Legacy Azure Service Manager virtual machines are not supported., with a link. Similarly, if the pre-Gen2 IBM Cloud VMs are considered fully legacy, it might be reasonable to drop the "Generation 2" language, and instead have an additional sentence naming the execution environments that aren't supported.

sean-freeman commented 1 year ago

Hard to point to specific functionality without attempting to run CoreOS in every scenario (test suite style), and I don't have the will to prove negative test results for past functionality - just being truthful :)

I'm OK with condensing further and putting each one liner in the respective platform's specific doc. I'll amend and commit.

lucab commented 1 year ago

Re. IBM Cloud , VPC Generation 2 suffix I just cleaned that up at the same time because someone mixed the terminologies in this documentation (seems OK in the OpenShift Installer GitHub). It should refer as "IBM Cloud" on it's own and referring to the previous environment with the suffix "Classic" - that would be a consistent/correct reference in-line with the other cloud platform references.

For context, at the time of that writing there were three "flavors" of environments in IBM Cloud (and all of them non-deprecated):

You can still see that through blogposts like https://www.ibm.com/cloud/blog/announcements/start-your-vpc-gen1-to-vpc-gen2-migration. I don't know what's the current status of VPC Gen 1. Maybe it doesn't exist anymore as an offering, and thus the suffix here can be dropped. But if it still exists, then FCOS does not run there (i.e. it is not able to introspect the environment), and the note is correct: FCOS supports VPC Gen2; not Classic, not VPC Gen 1.

sean-freeman commented 1 year ago

Re. IBM Cloud - I wouldn't say the marketing team did a great job in that blog post, although if you read it - it does make sense. It's talking about Gen1 hardware > Gen2 hardware will provide faster provisioning, faster network interfaces, compute auto scaling etc. There is no "VPC Gen1" as such, it would be same as on AWS as saying "VPC R6" instead of "Classic R2". It should never have been interpreted as a flat list, it was and remains:

The PR is primarily to create parity and ensure it is understood the scoping of CoreOS compatibility with predecessor service/feature/capability of each cloud platform. We've diverted down the IBM Cloud path a bit too much, and all of this was a lot easier to scope with traditional Hypervisors - just a software name and version number!

bgilbert commented 1 year ago

Re. ibmcloud-classic there are no OS Images shipped for this, but the code switches exist such as afterburn agent ibmcloud-classic and it exists in various places within documentation under GH Orgs /coreos, /afterburn, /openshift .

Certain upstreams have code for ibmcloud-classic, yes. But if Fedora CoreOS doesn't ship an image configured with that platform ID, the code won't be invoked. Similarly, the existence of OpenShift documentation isn't necessarily relevant to what's available in Fedora CoreOS. Fedora CoreOS does not support IBM Cloud Classic.

Re. GCP Legacy Networks - If I recall correctly, hosts provisioned with GCP Legacy Networks and still running today would only have access to the legacy metadata service (deprecated).

Ignition only runs on first boot, and the Afterburn code dates to 2017. We haven't knowingly removed any Afterburn support for the legacy GCP service. And even if it were to fail, instances would continue to function.

sean-freeman commented 1 year ago

@bgilbert Altered commit with the prefix amended to your suggestion, my previous attempt was to be consistent with the opening paragraph ("this guide shows...").