@@ -132,13 +132,27 @@ def take_action(self, parsed_args):
132132 if parsed_args .compute :
133133 compute_client = self .app .client_manager .compute
134134 for p in project_ids :
135- data = compute_client .quotas .get (p )
136- result_data = _xform_get_quota (data , p ,
137- COMPUTE_QUOTAS .keys ())
135+ try :
136+ data = compute_client .quotas .get (p )
137+ except Exception as ex :
138+ if type (ex ).__name__ == 'NotFound' :
139+ # Project not found, move on to next one
140+ LOG .warning ("Project %s not found: %s" % (p , ex ))
141+ continue
142+ else :
143+ raise
144+
145+ result_data = _xform_get_quota (
146+ data ,
147+ p ,
148+ COMPUTE_QUOTAS .keys (),
149+ )
138150 default_data = compute_client .quotas .defaults (p )
139- result_default = _xform_get_quota (default_data ,
140- p ,
141- COMPUTE_QUOTAS .keys ())
151+ result_default = _xform_get_quota (
152+ default_data ,
153+ p ,
154+ COMPUTE_QUOTAS .keys (),
155+ )
142156 if result_default != result_data :
143157 result += result_data
144158
@@ -174,16 +188,31 @@ def take_action(self, parsed_args):
174188 (utils .get_dict_properties (
175189 s , columns ,
176190 ) for s in result ))
191+
177192 if parsed_args .volume :
178193 volume_client = self .app .client_manager .volume
179194 for p in project_ids :
180- data = volume_client .quotas .get (p )
181- result_data = _xform_get_quota (data , p ,
182- VOLUME_QUOTAS .keys ())
195+ try :
196+ data = volume_client .quotas .get (p )
197+ except Exception as ex :
198+ if type (ex ).__name__ == 'NotFound' :
199+ # Project not found, move on to next one
200+ LOG .warning ("Project %s not found: %s" % (p , ex ))
201+ continue
202+ else :
203+ raise
204+
205+ result_data = _xform_get_quota (
206+ data ,
207+ p ,
208+ VOLUME_QUOTAS .keys (),
209+ )
183210 default_data = volume_client .quotas .defaults (p )
184- result_default = _xform_get_quota (default_data ,
185- p ,
186- VOLUME_QUOTAS .keys ())
211+ result_default = _xform_get_quota (
212+ default_data ,
213+ p ,
214+ VOLUME_QUOTAS .keys (),
215+ )
187216 if result_default != result_data :
188217 result += result_data
189218
@@ -209,14 +238,31 @@ def take_action(self, parsed_args):
209238 (utils .get_dict_properties (
210239 s , columns ,
211240 ) for s in result ))
241+
212242 if parsed_args .network :
213243 client = self .app .client_manager .network
214244 for p in project_ids :
215- data = client .get_quota (p )
216- result_data = _xform_get_quota (data , p , NETWORK_KEYS )
245+ try :
246+ data = client .get_quota (p )
247+ except Exception as ex :
248+ if type (ex ).__name__ == 'NotFound' :
249+ # Project not found, move on to next one
250+ LOG .warning ("Project %s not found: %s" % (p , ex ))
251+ continue
252+ else :
253+ raise
254+
255+ result_data = _xform_get_quota (
256+ data ,
257+ p ,
258+ NETWORK_KEYS ,
259+ )
217260 default_data = client .get_quota_default (p )
218- result_default = _xform_get_quota (default_data ,
219- p , NETWORK_KEYS )
261+ result_default = _xform_get_quota (
262+ default_data ,
263+ p ,
264+ NETWORK_KEYS ,
265+ )
220266 if result_default != result_data :
221267 result += result_data
222268
0 commit comments