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

Why setting the replicas of packageserver as 2 #1164

Closed
gyliu513 opened this issue Dec 3, 2019 · 7 comments
Closed

Why setting the replicas of packageserver as 2 #1164

gyliu513 opened this issue Dec 3, 2019 · 7 comments

Comments

@gyliu513
Copy link
Contributor

gyliu513 commented Dec 3, 2019

I found that the packageserver deployment has a replica as 2 as https://github.com/operator-framework/operator-lifecycle-manager/blob/master/deploy/upstream/quickstart/olm.yaml#L281 , this caused it is difficult to debug the packageserver as I need to check which packageserver pod is handling the request.

How about set the replica as 1?

@awgreene
Copy link
Member

awgreene commented Dec 3, 2019

For additional context, it appears that the package server replica count was set to 2 in a PR that was made to ensure packageserver graceful shutdown. I assume this was part of an effort to make the packageservier HA.

@njhale
Copy link
Member

njhale commented Dec 3, 2019

@gyliu513 have you tried setting the number of replicas to 1 in the packageserver's CSV?

@gyliu513
Copy link
Contributor Author

gyliu513 commented Dec 3, 2019

@njhale not yet, but will try to do some test, I assume it should works.

@awgreene but why only setting packageserver as 2 but not other deployment?

@gyliu513
Copy link
Contributor Author

gyliu513 commented Dec 4, 2019

@njhale setting as 1 also works, I think it is better change the default value to 1 to facilitate the debug ability.

@exdx
Copy link
Member

exdx commented Dec 5, 2019

@awgreene but why only setting packageserver as 2 but not other deployment?

The packageserver is unique as an APIService backend it simply responds to requests and scaling it horizontally is safe. The other OLM deployments, namely the OLM and Catalog operators, are singletons that watch and own other OLM objects. Running more than one instance of those at a time would cause contention and other bad behavior on the part of the controllers.

That being said its not too early to think about scaling up OLM operators, either proportionally or in response to some external metrics. As the number of operators in a cluster increase and multitenancy increases it will have to be addressed eventually

@gyliu513
Copy link
Contributor Author

gyliu513 commented Dec 6, 2019

@exdx Full agree with your point, but as a default delivery of OLM, how about set replica as 1 for package server? End user can just scale it based on their requirement.

@njhale
Copy link
Member

njhale commented Dec 6, 2019

@gyliu513 Since debugging OLM is not the common use case for end users, I don't think we should change the current defaults. This is similar to why we don't set the default log level to debug.

That being said, I'm open to a new kustomize overlay or helm template in the repo that lets users deploy OLM in a debug configuration.

I'm going to close this issue. If you can think of another reason why the typical (non-debugging) end user would want the packageserver scaled to 1 by default, please feel free to re-open.

@njhale njhale closed this as completed Dec 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants