@@ -79,7 +79,7 @@ def delete(self, *args, **kwargs):
79
79
80
80
class SchedulerReportClientTestBase (test .TestCase ):
81
81
82
- def _interceptor (self , app = None ):
82
+ def _interceptor (self , app = None , latest_microversion = True ):
83
83
"""Set up an intercepted placement API to test against.
84
84
85
85
Use as e.g.
@@ -88,6 +88,10 @@ def _interceptor(self, app=None):
88
88
ret = client.get_provider_tree_and_ensure_root(...)
89
89
90
90
:param app: An optional wsgi app loader.
91
+ :param latest_microversion: If True (the default), API requests will
92
+ use the latest microversion if not
93
+ otherwise specified. If False, the base
94
+ microversion is the default.
91
95
:return: Context manager, which in turn returns a direct
92
96
SchedulerReportClient.
93
97
"""
@@ -102,7 +106,8 @@ def __enter__(inner_self):
102
106
self ._set_client (client )
103
107
return client
104
108
105
- interceptor = ReportClientInterceptor (CONF , latest_microversion = True )
109
+ interceptor = ReportClientInterceptor (
110
+ CONF , latest_microversion = latest_microversion )
106
111
if app :
107
112
interceptor .app = app
108
113
return interceptor
@@ -505,6 +510,29 @@ def test_get_provider_tree_with_nested_and_aggregates(self):
505
510
self .assertFalse (prov_tree .have_aggregates_changed (
506
511
self .compute_uuid , [uuids .agg_disk_1 , uuids .agg_disk_2 ]))
507
512
513
+ def test__set_inventory_reserved_eq_total (self ):
514
+ with self ._interceptor (latest_microversion = False ):
515
+ # Create the provider
516
+ self .client ._ensure_resource_provider (self .context , uuids .cn )
517
+
518
+ # Make sure we can set reserved value equal to total
519
+ inv = {
520
+ fields .ResourceClass .SRIOV_NET_VF : {
521
+ 'total' : 24 ,
522
+ 'reserved' : 24 ,
523
+ 'min_unit' : 1 ,
524
+ 'max_unit' : 24 ,
525
+ 'step_size' : 1 ,
526
+ 'allocation_ratio' : 1.0 ,
527
+ },
528
+ }
529
+ self .client ._set_inventory_for_provider (
530
+ self .context , uuids .cn , inv )
531
+ self .assertEqual (
532
+ inv ,
533
+ self .client ._get_inventory (
534
+ self .context , uuids .cn )['inventories' ])
535
+
508
536
def test__set_inventory_for_provider (self ):
509
537
"""Tests for SchedulerReportClient._set_inventory_for_provider, NOT
510
538
set_inventory_for_provider.
0 commit comments