Open deefdragon opened 7 months ago
dupe of #987
As has been articulated in #667 and #1305, and is reflected in the fact that this, #758, #987 and #1305 exists, this is a poor decision and goes against the adopted standard.
I am not going to dictate to scylla how to run this project, but I am going to say that breaking with the standards that every other operator follows, even after receiving reasonable pushback, does not reflect well for scylla.
I installed the scylla operator to mess around with scylla, its tooling, and the environment around it. I wished to learn about and examine it for potential use cases for my work. Given the situation here, I will no longer be doing so at this time.
Definitely your choice, but beyond just pointing to "I want to configure everything" and given this is opensource you don't pay for, it might be worth to change it into how I can help to solve this differently. At this point making the namespaces configurable breaks other features like:
scylla-operator-node-tuning
that are also fixed (had to be an API filed somewhere)So, the price to do all of this is high compared to, "I just want to have this configurable" and the value it brings is orders of magnitude lower. Operators are platform level extensions and I do not agree all of them make this configurable, probably the simple ones do because they don't face these challenges. There are fixed namespaces like default
, kube-system
and others. To pick an enterprise example about a few dozens of operators in OCP, all of them start with openshift-
prefix that you can't change.
I am not saying this can't be done, and you are welcome to address it as it's opensource, but I'd rather invest my time into something that helps with actual issues then just naming when I decide how I spend my time.
Possibly when we have an operator to deploy the operator things may be more configurable but there are certainly more pressing issues to address first.
Scylla, in my opinion, is most akin to Elastics, Minio, Redis, Postgres etc. Databases that can be hosted completely platform agnostic.I have operators for all 4. These operators are not all simple, and of those 4 all provide adjustable namespaces. Some even do this to allow multiple operators to exist with different scopes of control. Operators may be platform level extensions, but it should still be up to the user to dictate how to organize those extensions. (Also, while I do not have an OCP cluster to mess around with and confirm, I suspect from what I have read that some of the operators it is installing to openshift-foo
are just operators otherwise listed on operatorhub.io, and that ocp is setting the namespace for when installing them with OLM)
I fully understand the fact that changing to allow configurable namespaces is incredibly complex, and I also understand that there are other, more pressing issues that should take priority. I even agree that this is likely quite low on the totem pole when it comes to prioritization. There is a difference however, between a low priority ticket, and a closed ticket.
If you are truly "not saying this can't be done", then (IMO) this or one of the other tickets should be left open. Just throw the priority/awaiting-more-evidence
label on it.
Even outside the option of someone coming along and doing it themselves all at once, having a ticket open in the background means that future changes are more likely to avoid making the issue worse. Some changes may even make minor tweaks that making it better. Over time, it may reach the point where there is a reasonable amount of work left, and one person finishes it off all at once.
not a fan of lingering issues but I don't mind it that much /reopen /priority awaiting-more-evidence
Scylla, in my opinion, is most akin to Elastics, Minio, Redis, Postgres etc. Databases that can be hosted completely platform agnostic.I have operators for all 4. These operators are not all simple, and of those 4 all provide adjustable namespaces.
Being a database operator and creating new namespaces dynamically with managed software for node tuning or doing stuff like must-gather is a far away from eachother. Also ScyllaDB has global Scylla manager which doesn't relate either. Obviously if you don't go into the areas you won't feel the pain and you can change whatever you want but at some point I tend prefer software that's tested and works.
(Also, while I do not have an OCP cluster to mess around with and confirm, I suspect from what I have read that some of the operators it is installing to openshift-foo are just operators otherwise listed on operatorhub.io, and that ocp is setting the namespace for when installing them with OLM)
just to pick a few https://github.com/openshift/cluster-etcd-operator/blob/a060517/manifests/0000_20_etcd-operator_00_namespace.yaml#L12 https://github.com/openshift/cluster-monitoring-operator/blob/b0ee4d6/manifests/0000_50_cluster-monitoring-operator_01-namespace.yaml#L13
@tnozicka: Reopened this issue.
The Scylla Operator project currently lacks enough contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle stale
/close
/lifecycle stale
What should the feature do?
The operator and manager (at minimum) are currently unable to be changed the namespace that they are deployed in. This breaks my naming convention that I am using to manage how my operators are deployed.
Users should be able to apply a namespace value, or the included helm flag should be used for the namespace.
What is the use case behind this feature?
This is best used for keeping a consistent naming convention for namespaces that operators are deployed to (including putting them all in the same namespace). Outside of cleaner namespaces, this also makes it easier to apply policies on the resources.
Anything else we need to know?
This is a surprising overload given most helm charts take in and honor the built-in --namespace flag automatically.