Skip to content

Commit a2bc6f3

Browse files
committed
fix #122. remove alias creation from plugin
1 parent 506b7a2 commit a2bc6f3

File tree

1 file changed

+7
-49
lines changed

1 file changed

+7
-49
lines changed

src/main/java/io/fabric8/elasticsearch/plugin/kibana/KibanaSeed.java

Lines changed: 7 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,13 @@
1919
import java.io.IOException;
2020
import java.util.ArrayList;
2121
import java.util.Collections;
22-
import java.util.HashMap;
2322
import java.util.HashSet;
2423
import java.util.List;
2524
import java.util.Map;
2625
import java.util.Set;
2726
import java.util.concurrent.ExecutionException;
2827

2928
import org.apache.commons.lang.StringUtils;
30-
import org.elasticsearch.ElasticsearchException;
3129
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
3230
import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;
3331
import org.elasticsearch.action.admin.indices.get.GetIndexRequest;
@@ -54,7 +52,6 @@
5452
import io.fabric8.elasticsearch.plugin.OpenshiftRequestContextFactory.OpenshiftRequestContext;
5553
import io.fabric8.elasticsearch.plugin.PluginClient;
5654
import io.fabric8.elasticsearch.plugin.PluginSettings;
57-
import io.fabric8.elasticsearch.util.IndexUtil;
5855

5956
public class KibanaSeed implements ConfigurationSettings {
6057

@@ -72,14 +69,12 @@ public class KibanaSeed implements ConfigurationSettings {
7269
private final IndexMappingLoader mappingLoader;
7370
private final PluginClient pluginClient;
7471
private final String defaultKibanaIndex;
75-
private final PluginSettings settings;
7672

7773
@Inject
7874
public KibanaSeed(final PluginSettings settings, final IndexMappingLoader loader, final PluginClient pluginClient) {
7975
this.mappingLoader = loader;
8076
this.pluginClient = pluginClient;
8177
this.defaultKibanaIndex = settings.getDefaultKibanaIndex();
82-
this.settings = settings;
8378
}
8479

8580
public void setDashboards(final OpenshiftRequestContext context, Client client, String kibanaVersion, final String projectPrefix) {
@@ -104,8 +99,13 @@ public void setDashboards(final OpenshiftRequestContext context, Client client,
10499
}
105100
List<String> filteredProjects = new ArrayList<String>(filterProjectsWithIndices(projectPrefix, projects));
106101
LOGGER.debug("projects for '{}' that have existing indexes: '{}'", context.getUser(), filteredProjects);
107-
108-
addAliasToAllProjects(context, filteredProjects);
102+
103+
if (context.isOperationsUser()) {
104+
filteredProjects.add(ADMIN_ALIAS_NAME);
105+
}else if (filteredProjects.isEmpty()) {
106+
filteredProjects.add(BLANK_PROJECT);
107+
}
108+
109109
Collections.sort(filteredProjects);
110110

111111
// If none have been set yet
@@ -159,18 +159,6 @@ public void setDashboards(final OpenshiftRequestContext context, Client client,
159159
}
160160
}
161161

162-
private void addAliasToAllProjects(final OpenshiftRequestContext context, List<String> filteredProjects) {
163-
String projectPrefix = settings.getCdmProjectPrefix();
164-
if (context.isOperationsUser()) {
165-
// Check roles here, if user is a cluster-admin we should add
166-
LOGGER.debug("Adding indexes to alias '{}' for user '{}'", ADMIN_ALIAS_NAME, context.getUser());
167-
buildAdminAlias(filteredProjects, projectPrefix);
168-
filteredProjects.add(ADMIN_ALIAS_NAME);
169-
} else if (filteredProjects.isEmpty()) {
170-
filteredProjects.add(BLANK_PROJECT);
171-
}
172-
}
173-
174162
/*
175163
* Given a list of projects, filter out those which do not have any
176164
* index associated with it
@@ -247,36 +235,6 @@ private void setDefaultIndex(String kibanaIndex, String project, Client esClient
247235

248236
executeUpdate(kibanaIndex, DEFAULT_INDEX_TYPE, kibanaVersion, source, esClient);
249237
}
250-
251-
/*
252-
* Create admin alias for a list of projects which are known to one or more associated indexes
253-
*/
254-
private void buildAdminAlias(List<String> projects, String projectPrefix) {
255-
buildUserAlias(projects, projectPrefix, ADMIN_ALIAS_NAME);
256-
}
257-
258-
private void buildUserAlias(List<String> projects, String projectPrefix, String alias) {
259-
try {
260-
if (projects.isEmpty()) {
261-
return;
262-
}
263-
Set<String> aliasedIndicies = pluginClient.getIndicesForAlias(alias);
264-
aliasedIndicies = new IndexUtil().replaceDateSuffix("*", aliasedIndicies);
265-
Map<String, String> patternAlias = new HashMap<>(projects.size());
266-
for (String project : projects) {
267-
String indexPattern = getIndexPattern(project, projectPrefix);
268-
if(!aliasedIndicies.contains(indexPattern)) {
269-
patternAlias.put(indexPattern, alias);
270-
}
271-
}
272-
pluginClient.alias(patternAlias);
273-
274-
} catch (ElasticsearchException e) {
275-
// Avoid printing out any kibana specific information?
276-
LOGGER.error("Error executing Alias request", e);
277-
}
278-
279-
}
280238

281239
private String getDefaultIndex(OpenshiftRequestContext context, Client esClient, String kibanaVersion, String projectPrefix) {
282240
GetRequest request = esClient

0 commit comments

Comments
 (0)