@@ -28,20 +28,10 @@ export interface ResourceInstaller {
2828}
2929
3030export class DefaultResourceInstaller implements ResourceInstaller {
31- private isInstalling : boolean = false ;
32-
3331 constructor ( private esClient : ElasticsearchClient , private logger : Logger ) { }
3432
35- public async ensureCommonResourcesInstalled ( ) {
36- if ( this . isInstalling ) {
37- return ;
38- }
39- this . isInstalling = true ;
40-
41- let installTimeout ;
33+ public async ensureCommonResourcesInstalled ( ) : Promise < void > {
4234 try {
43- installTimeout = setTimeout ( ( ) => ( this . isInstalling = false ) , 60000 ) ;
44-
4535 this . logger . debug ( 'Installing SLO shared resources' ) ;
4636 await Promise . all ( [
4737 this . createOrUpdateComponentTemplate ( SLI_MAPPINGS_TEMPLATE ) ,
@@ -58,18 +48,11 @@ export class DefaultResourceInstaller implements ResourceInstaller {
5848 await this . createIndex ( SUMMARY_TEMP_INDEX_NAME ) ;
5949 } catch ( err ) {
6050 this . logger . error ( `Error while installing SLO shared resources: ${ err } ` ) ;
61- } finally {
62- this . isInstalling = false ;
63- clearTimeout ( installTimeout ) ;
6451 }
6552 }
6653
6754 private async createOrUpdateComponentTemplate ( template : ClusterPutComponentTemplateRequest ) {
68- const currentVersion = await fetchComponentTemplateVersion (
69- template . name ,
70- this . logger ,
71- this . esClient
72- ) ;
55+ const currentVersion = await this . fetchComponentTemplateVersion ( template . name ) ;
7356 if ( template . _meta ?. version && currentVersion === template . _meta . version ) {
7457 this . logger . debug ( `SLO component template found with version [${ template . _meta . version } ]` ) ;
7558 } else {
@@ -79,11 +62,7 @@ export class DefaultResourceInstaller implements ResourceInstaller {
7962 }
8063
8164 private async createOrUpdateIndexTemplate ( template : IndicesPutIndexTemplateRequest ) {
82- const currentVersion = await fetchIndexTemplateVersion (
83- template . name ,
84- this . logger ,
85- this . esClient
86- ) ;
65+ const currentVersion = await this . fetchIndexTemplateVersion ( template . name ) ;
8766
8867 if ( template . _meta ?. version && currentVersion === template . _meta . version ) {
8968 this . logger . debug ( `SLO index template found with version [${ template . _meta . version } ]` ) ;
@@ -106,30 +85,20 @@ export class DefaultResourceInstaller implements ResourceInstaller {
10685 private async execute < T > ( esCall : ( ) => Promise < T > ) : Promise < T > {
10786 return await retryTransientEsErrors ( esCall , { logger : this . logger } ) ;
10887 }
109- }
11088
111- async function fetchComponentTemplateVersion (
112- name : string ,
113- logger : Logger ,
114- esClient : ElasticsearchClient
115- ) {
116- const getTemplateRes = await retryTransientEsErrors (
117- ( ) => esClient . cluster . getComponentTemplate ( { name } , { ignore : [ 404 ] } ) ,
118- { logger }
119- ) ;
89+ private async fetchComponentTemplateVersion ( name : string ) {
90+ const getTemplateRes = await this . execute ( ( ) =>
91+ this . esClient . cluster . getComponentTemplate ( { name } , { ignore : [ 404 ] } )
92+ ) ;
12093
121- return getTemplateRes ?. component_templates ?. [ 0 ] ?. component_template ?. _meta ?. version ?? null ;
122- }
94+ return getTemplateRes ?. component_templates ?. [ 0 ] ?. component_template ?. _meta ?. version ?? null ;
95+ }
12396
124- async function fetchIndexTemplateVersion (
125- name : string ,
126- logger : Logger ,
127- esClient : ElasticsearchClient
128- ) {
129- const getTemplateRes = await retryTransientEsErrors (
130- ( ) => esClient . indices . getIndexTemplate ( { name } , { ignore : [ 404 ] } ) ,
131- { logger }
132- ) ;
97+ private async fetchIndexTemplateVersion ( name : string ) {
98+ const getTemplateRes = await this . execute ( ( ) =>
99+ this . esClient . indices . getIndexTemplate ( { name } , { ignore : [ 404 ] } )
100+ ) ;
133101
134- return getTemplateRes ?. index_templates ?. [ 0 ] ?. index_template ?. _meta ?. version ?? null ;
102+ return getTemplateRes ?. index_templates ?. [ 0 ] ?. index_template ?. _meta ?. version ?? null ;
103+ }
135104}
0 commit comments