@@ -287,14 +287,21 @@ def add_reservation(self, *, reservation: ABCReservationMixin):
287
287
components = None
288
288
host = None
289
289
ip_subnet = None
290
- if reservation .get_resources () is not None and reservation .get_resources ().get_sliver () is not None :
290
+ sliver = None
291
+ from fabric_cf .actor .core .kernel .reservation_client import ReservationClient
292
+ if isinstance (reservation , ReservationClient ) and reservation .get_leased_resources () and \
293
+ reservation .get_leased_resources ().get_sliver ():
294
+ sliver = reservation .get_leased_resources ().get_sliver ()
295
+ if not sliver and reservation .get_resources () and reservation .get_resources ().get_sliver ():
291
296
sliver = reservation .get_resources ().get_sliver ()
292
- site = sliver .get_site ()
297
+
298
+ if sliver :
293
299
rsv_type = sliver .get_type ().name
294
300
from fim .slivers .network_service import NetworkServiceSliver
295
301
from fim .slivers .network_node import NodeSliver
296
302
297
303
if isinstance (sliver , NetworkServiceSliver ) and sliver .interface_info :
304
+ site = sliver .get_site ()
298
305
if sliver .get_gateway ():
299
306
ip_subnet = sliver .get_gateway ().subnet
300
307
@@ -311,7 +318,9 @@ def add_reservation(self, *, reservation: ABCReservationMixin):
311
318
bdf = ":" .join (split_string [3 :]) if len (split_string ) > 3 else None
312
319
if node_id and comp_id and bdf :
313
320
components .append ((node_id , comp_id , bdf ))
321
+
314
322
elif isinstance (sliver , NodeSliver ):
323
+ site = sliver .get_site ()
315
324
if sliver .get_labels () and sliver .get_labels ().instance_parent :
316
325
host = sliver .get_labels ().instance_parent
317
326
if sliver .get_label_allocations () and sliver .get_label_allocations ().instance_parent :
@@ -368,14 +377,21 @@ def update_reservation(self, *, reservation: ABCReservationMixin):
368
377
components = None
369
378
ip_subnet = None
370
379
host = None
371
-
372
- if reservation .get_resources () is not None and reservation .get_resources ().get_sliver () is not None :
380
+ sliver = None
381
+ from fabric_cf .actor .core .kernel .reservation_client import ReservationClient
382
+ if isinstance (reservation , ReservationClient ) and reservation .get_leased_resources () and \
383
+ reservation .get_leased_resources ().get_sliver ():
384
+ sliver = reservation .get_leased_resources ().get_sliver ()
385
+ if not sliver and reservation .get_resources () and reservation .get_resources ().get_sliver ():
373
386
sliver = reservation .get_resources ().get_sliver ()
374
- site = sliver .get_site ()
387
+
388
+ if sliver :
375
389
rsv_type = sliver .get_type ().name
376
390
from fim .slivers .network_service import NetworkServiceSliver
377
391
from fim .slivers .network_node import NodeSliver
378
392
if isinstance (sliver , NetworkServiceSliver ) and sliver .interface_info :
393
+ site = sliver .get_site ()
394
+
379
395
if sliver .get_gateway ():
380
396
ip_subnet = sliver .get_gateway ().subnet
381
397
@@ -393,6 +409,8 @@ def update_reservation(self, *, reservation: ABCReservationMixin):
393
409
if node_id and comp_id and bdf :
394
410
components .append ((node_id , comp_id , bdf ))
395
411
elif isinstance (sliver , NodeSliver ):
412
+ site = sliver .get_site ()
413
+
396
414
if sliver .get_labels () and sliver .get_labels ().instance_parent :
397
415
host = sliver .get_labels ().instance_parent
398
416
if sliver .get_label_allocations () and sliver .get_label_allocations ().instance_parent :
0 commit comments