Can't remove elasticsearch limited namespaces and projects from admin panel
Summary
In %11.10 we added the ability to use elasticsearch to index a subset of namespaces or projects on an instance.
Removing namespaces or projects from the provided admin dashboard simply doesn't work:
Steps to reproduce
Pressthe "x" in gitlab-org
then Save
.
Example Project
Currently set up on staging.gitlab.com
What is the current bug behavior?
The gitlab-org
group will not be removed from the list of namespaces to index
What is the expected correct behavior?
It should be removed
Output of checks
This bug happens on staging.gitlab.com
Possible fixes
When we PUT .../application_settings
, we're sending elasticsearch_namespace_ids: ""
. This is handled in the model here: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/app/models/ee/application_setting.rb#L102
We need to be able to distinguish between "don't change anything" and "remove all records", in both partial (PATCH) and full (PUT) update cases.
The current workaround is to remove the namespaces manually in the rails console instead:
ElasticsearchIndexedNamespace.destroy_all
ElasticsearchIndexedProject.destroy_all
cc @mdelaossa @DouweM. This bug will inhibit our self-serve capability on [staging.]gitlab.com