1919import java .io .IOException ;
2020import java .util .ArrayList ;
2121import java .util .Collections ;
22- import java .util .HashMap ;
2322import java .util .HashSet ;
2423import java .util .List ;
2524import java .util .Map ;
2625import java .util .Set ;
2726import java .util .concurrent .ExecutionException ;
2827
2928import org .apache .commons .lang .StringUtils ;
30- import org .elasticsearch .ElasticsearchException ;
3129import org .elasticsearch .action .admin .cluster .health .ClusterHealthRequest ;
3230import org .elasticsearch .action .admin .indices .create .CreateIndexRequest ;
3331import org .elasticsearch .action .admin .indices .get .GetIndexRequest ;
5452import io .fabric8 .elasticsearch .plugin .OpenshiftRequestContextFactory .OpenshiftRequestContext ;
5553import io .fabric8 .elasticsearch .plugin .PluginClient ;
5654import io .fabric8 .elasticsearch .plugin .PluginSettings ;
57- import io .fabric8 .elasticsearch .util .IndexUtil ;
5855
5956public 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