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

[RFE]Create bundle without any capability #878

Open
praveenkumar opened this issue Apr 15, 2024 · 10 comments
Open

[RFE]Create bundle without any capability #878

praveenkumar opened this issue Apr 15, 2024 · 10 comments

Comments

@praveenkumar
Copy link
Member

praveenkumar commented Apr 15, 2024

OpenShift provides a way to create a cluster with no capabilities and this way the cluster have only core resources which is really required. Idea is to create the bundle with no capabilities but it should have all the images so that when user enable any capability it should not download any image content from internet. On the crc side we can enable some capabilities as default like it have right now.

The benefit of doing it

  • User will be in charge to consume what capabilities he thinks really applicable for his workload.
  • Use of crc in CI environment when user don't need to worry about resources if the capabilities are not enable by default.

https://docs.openshift.com/container-platform/4.15/installing/cluster-capabilities.html

@cfergeau
Copy link
Contributor

User will be in charge to consume what capabilities he thinks really applicable for his workload.

I see OpenShift Local as something "ready to use", as close as possible to real-world clusters. Sounds like a cluster with no capabilities would not really be usable after crc start, but would require the user to have additional openshift admin/install knowledge before they are able to use it.

@praveenkumar
Copy link
Member Author

User will be in charge to consume what capabilities he thinks really applicable for his workload.

I see OpenShift Local as something "ready to use", as close as possible to real-world clusters. Sounds like a cluster with no capabilities would not really be usable after crc start, but would require the user to have additional openshift admin/install knowledge before they are able to use it.

@cfergeau the idea is bundle created with those changes shouldn't affect crc user and cluster behave same as before. We make change in crc code base which enable those capability by default (as part of crc config) and user can disable any specific one which he/she doesn't require.

@cfergeau
Copy link
Contributor

I'm not sure I see the benefit here. Would this slow down cluster startup? Can capabilities be disabled using oc once the cluster is running?

@praveenkumar
Copy link
Member Author

I'm not sure I see the benefit here.

Benefit is for the users who really don't have enough resource to run workload on CRC but don't really require all the capability so they can select from crc config what they actually want and able to run the workload.

Would this slow down cluster startup?

No, I was testing this and it doesn't slow down the cluster startup time because we anyway wait for core operator (like
auth, console ..etc. to come up).

Can capabilities be disabled using oc once the cluster is running?

No, once a capability is enabled you can't disable it (part of the doc which I shared when created this issue)

Note
Cluster administrators cannot disable a cluster capability after it is enabled.

@cfergeau
Copy link
Contributor

Can capabilities be disabled using oc once the cluster is running?

No, once a capability is enabled you can't disable it (part of the doc which I shared when created this issue)

Note
Cluster administrators cannot disable a cluster capability after it is enabled.

I don't know what document you refer to, but this is a very important piece of information to have in mind when reading this issue

@praveenkumar
Copy link
Member Author

Can capabilities be disabled using oc once the cluster is running?

No, once a capability is enabled you can't disable it (part of the doc which I shared when created this issue)

Note
Cluster administrators cannot disable a cluster capability after it is enabled.

I don't know what document you refer to, but this is a very important piece of information to have in mind when reading this issue

https://docs.openshift.com/container-platform/4.15/installing/cluster-capabilities.html one.

@qbarrand
Copy link

qbarrand commented May 21, 2024

This would have been very useful to me to mimic telco clusters which only have a minimal set of capabilities enabled.
See MGMT-17820.

@anandf
Copy link

anandf commented Jun 19, 2024

This would be helpful for using crc as a test cluster. We can strip down the console, samples capabilities that is not required for e2e tests.

@cfergeau
Copy link
Contributor

Some notes:

  • snc will have a set of 'default' capabilities crc needs, and will need to fetch the corresponding conatiner images so that they are included in the bundle
  • since snc has this list, it would be good to add the list of capabilities which are 'ready to use' in thebundle metadata
  • then crc can use this list of 'ready to use' capabilities as the default set of capabilities it should use
  • a cmd line option will be present to allow to use less or more capabilities

@gbraad
Copy link
Collaborator

gbraad commented Sep 10, 2024

  • define the core set of capabilities that will be used as our current OCP bundle
  • allow two options (single toggle?)
    • no caps
    • default caps (referring to the current config we have)
  • tests
    • defaults will work, which is the current set
    • none set, makes sure no caps are available
  • map the images necessary for the caps, to allow deployment of a 'default' set without additional time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

5 participants