Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change required minimum disk size from 120GB to 100GB #35793

Closed
miabbott opened this issue Aug 25, 2021 · 10 comments · Fixed by #36226
Closed

change required minimum disk size from 120GB to 100GB #35793

miabbott opened this issue Aug 25, 2021 · 10 comments · Fixed by #36226
Assignees

Comments

@miabbott
Copy link
Member

Which section(s) is the issue in?

https://docs.openshift.com/container-platform/4.8/installing/installing_bare_metal/installing-bare-metal.html#minimum-resource-requirements_installing-bare-metal
https://docs.openshift.com/container-platform/4.8/installing/installing_ibm_z/installing-ibm-z-kvm.html#minimum-resource-requirements_installing-ibm-z-kvm

https://github.com/openshift/openshift-docs/blob/main/modules/installation-requirements-user-infra.adoc
https://github.com/openshift/openshift-docs/blob/main/modules/installation-requirements-user-infra-ibm-z-kvm.adoc

What needs fixing?

The minimum required disk size is stated as 120GB but this is too large. Anecdotal evidence has shown that 100GB is a more appropriate minimum.

Discussion

This change was spurred on by work being done for IBM Cloud. The RHCOS disk image for IBM Cloud currently has the virtual size hard coded to 100GB, as recommended by the IBM Cloud documentation. See the original PR for the change for context - coreos/coreos-assembler#2041 (comment)

However, the folks working on IBM Cloud support for all of OCP noted that our documentation states that 120GB is the minimum.

An issue was opened upstream in the Fedora CoreOS tracker requesting that the disk size was increased. Since FCOS is the upstream to RHCOS, this change would affect both projects.

coreos/fedora-coreos-tracker#931

During the discussion on that ticket (and in internal Slack discussions), the best path forward appeared to be an update to the OCP docs. This is because the IBM Cloud does not support resizing the disk in the cloud and it is suspected that is not possible for the installer to resize the disk before the upload to the cloud.

Alternatively, if the broad minimum cannot be changed, it has been suggested that we change the docs to note that the 100GB minimum would apply to IBM Cloud.

This ticket has been opened to allow for discussion on the proposed change to our documented minimums and any implications that may have.

@miabbott
Copy link
Member Author

@cgwalters
Copy link
Member

To me a bottom line here is "what do our default e2e tests require". Hmm actually do we have any e2e tests that cover IBM Cloud VPC installs? I'm not seeing them offhand in release controller.

cgwalters added a commit to cgwalters/installer that referenced this issue Aug 25, 2021
I was looking at this issue:
openshift/openshift-docs#35793
Which then led me to wonder exactly what the defaults are per
platform for disk sizes.

And then I stumbled into this 120 vs 128 thing that as best
I can tell from the git history is mostly an accident.  If someone
happens to know differently (e.g. can/should we unify on 120 or 128?)
then that'd be good.

In the meantime, an additional benefit here is that if one does
e.g. `git grep -i volume.*size` these constants will turn up.
It took me a little while to figure out how to backtrack from
the Terraform code to this.  (The lines here only contained
`Size` which is too generic to grep)
@cgwalters
Copy link
Member

related openshift/installer#5169

@nstielau
Copy link

From background conversations, it seems like this original decision was partly based on the fact that iops and storage scale together in public clouds.

I think we should

  • Decrease the storage GB requirement to 100GB
  • Add a new column for iops, and designate 300 as the minimum for all instance types.
  • Specify a footnote for the iops column: "OpenShift and Kubernetes are sensitive to disk performance, and faster storage is recommended, particularly for etcd on the control plane nodes which require a 10ms p99 fsync duration. Note that on many cloud storage size and iops scale together, so you may need to over-allocate storage volume to obtain sufficient performance."

@cgwalters
Copy link
Member

Decrease the storage GB requirement to 100GB

👍

iops and storage scale together in public clouds.

I think Azure is strictest about that, but they're pretty decoupled in AWS for example.

But completely agree about IOPS being quite important here versus disk size.

@cuppett
Copy link
Member

cuppett commented Sep 8, 2021

Agreed here. 100GB fine as a minimum (assuming our IOPS and latency requirements are met). 120GB was what we increased it to in our initial releases on AWS with gp2 to satisfy our IOPS needs to pass the e2e CI suites reliably.

@relyt0925
Copy link

I agree as well!!!!!! (From IBM Cloud side)

@derekwaynecarr
Copy link
Member

Agree.

@nstielau
Copy link

nstielau commented Sep 8, 2021

@relyt0925 Please consider these approval comments as approval for this change and to let you run within the OCP requirements. I'll work on getting this drafted and merged, but that shouldn't stop you from doing what you need.

@holgwolf
Copy link

Comment from Z and LinuxONE side, I agree in lower the boundary and appreciate, but we need the same change for all Z and LinuxONE configurations including zVM setup.

cgwalters added a commit to cgwalters/installer that referenced this issue Dec 4, 2021
I was looking at this issue:
openshift/openshift-docs#35793
Which then led me to wonder exactly what the defaults are per
platform for disk sizes.

And then I stumbled into this 120 vs 128 thing that as best
I can tell from the git history is mostly an accident.  If someone
happens to know differently (e.g. can/should we unify on 120 or 128?)
then that'd be good.

In the meantime, an additional benefit here is that if one does
e.g. `git grep -i volume.*size` these constants will turn up.
It took me a little while to figure out how to backtrack from
the Terraform code to this.  (The lines here only contained
`Size` which is too generic to grep)
AnnaZivkovic pushed a commit to AnnaZivkovic/installer that referenced this issue Apr 1, 2022
I was looking at this issue:
openshift/openshift-docs#35793
Which then led me to wonder exactly what the defaults are per
platform for disk sizes.

And then I stumbled into this 120 vs 128 thing that as best
I can tell from the git history is mostly an accident.  If someone
happens to know differently (e.g. can/should we unify on 120 or 128?)
then that'd be good.

In the meantime, an additional benefit here is that if one does
e.g. `git grep -i volume.*size` these constants will turn up.
It took me a little while to figure out how to backtrack from
the Terraform code to this.  (The lines here only contained
`Size` which is too generic to grep)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
8 participants