14
14
from util import pubsub_utils , gcp_utils , utils , config_utils
15
15
from util .gcp_utils import detect_gae
16
16
17
- from util .config_utils import iris_prefix , configured_project , get_config , pubsub_token
17
+ from util .config_utils import iris_prefix , is_project_enabled , get_config , pubsub_token
18
18
from util .utils import init_logging , log_time , timing
19
19
20
20
import googlecloudprofiler
@@ -88,7 +88,7 @@ def schedule():
88
88
nonappscript_projects = [p for p in all_projects if p not in appscript_projects ]
89
89
90
90
configured_projects = [
91
- p for p in nonappscript_projects if config_utils .configured_project (p )
91
+ p for p in nonappscript_projects if config_utils .is_project_enabled (p )
92
92
]
93
93
94
94
skipped_nonappscript_projects = [
@@ -126,7 +126,7 @@ def schedule():
126
126
raise Exception (msg )
127
127
128
128
for project_id in configured_projects :
129
- for _ , plugin_ in Plugin .instances .items ():
129
+ for _ , plugin_ in Plugin .plugins .items ():
130
130
if (
131
131
not plugin_ .is_labeled_on_creation ()
132
132
or plugin_ .relabel_on_cron ()
@@ -175,7 +175,7 @@ def label_one():
175
175
method_from_log = data ["protoPayload" ]["methodName" ]
176
176
177
177
plugins_found = []
178
- for plugin_name , plugin in Plugin .instances .items ():
178
+ for plugin_name , plugin in Plugin .plugins .items ():
179
179
for supported_method in plugin .method_names ():
180
180
if supported_method .lower () in method_from_log .lower ():
181
181
if plugin .is_labeled_on_creation ():
@@ -185,8 +185,19 @@ def label_one():
185
185
plugin_name
186
186
) # Append it even if not used due to is_labeled_on_creation False
187
187
188
- if len (plugins_found ) != 1 :
189
- logging .error (f"Error: plugins found { plugins_found } for { method_from_log } " )
188
+ if not plugins_found :
189
+ logging .info (
190
+ "(OK if plugin is disabled.) No plugins found for %s. Enabled plugins are %s" ,
191
+ method_from_log ,
192
+ config_utils .enabled_plugins (),
193
+ )
194
+
195
+ if len (plugins_found ) > 1 :
196
+ raise Exception (
197
+ f"Error: Multiple plugins found %s for %s"
198
+ % (plugins_found , method_from_log )
199
+ )
200
+
190
201
return "OK" , 200
191
202
except Exception as e :
192
203
project_id = data .get ("resource" , {}).get ("labels" , {}).get ("project_id" )
@@ -200,7 +211,7 @@ def __label_one_0(data, plugin):
200
211
gcp_object = plugin .get_gcp_object (data )
201
212
if gcp_object is not None :
202
213
project_id = data ["resource" ]["labels" ]["project_id" ]
203
- if configured_project (project_id ):
214
+ if is_project_enabled (project_id ):
204
215
logging .info ("Will label_one() in %s, %s" , project_id , gcp_object )
205
216
plugin .label_resource (gcp_object , project_id )
206
217
plugin .do_batch ()
@@ -254,13 +265,20 @@ def do_label():
254
265
plugin_class_name = data ["plugin" ]
255
266
256
267
plugin = Plugin .get_plugin (plugin_class_name )
257
- project_id = data ["project_id" ]
258
- with timing (f"do_label { plugin_class_name } { project_id } " ):
268
+ if not plugin :
259
269
logging .info (
260
- "do_label() for %s in %s" , plugin .__class__ .__name__ , project_id
270
+ "(OK if plugin is disabled.) No plugins found for %s. Enabled plugins are %s" ,
271
+ plugin_class_name ,
272
+ config_utils .enabled_plugins (),
261
273
)
262
- plugin .label_all (project_id )
263
- logging .info ("OK on do_label %s %s" , plugin_class_name , project_id )
274
+ else :
275
+ project_id = data ["project_id" ]
276
+ with timing (f"do_label { plugin_class_name } { project_id } " ):
277
+ logging .info (
278
+ "do_label() for %s in %s" , plugin .__class__ .__name__ , project_id
279
+ )
280
+ plugin .label_all (project_id )
281
+ logging .info ("OK on do_label %s %s" , plugin_class_name , project_id )
264
282
return "OK" , 200
265
283
except Exception as e :
266
284
logging .exception (
0 commit comments