@@ -70,9 +70,6 @@ def make_container(cloud):
7070 c .add_function ('scs_flavors' , lambda c : compute_scs_flavors (c .flavors ))
7171 c .add_function ('scs_0100_syntax_check' , lambda c : compute_scs_0100_syntax_check (c .scs_flavors ))
7272 c .add_function ('scs_0100_semantics_check' , lambda c : compute_scs_0100_semantics_check (c .scs_flavors ))
73- c .add_function ('flavor_name_check' , lambda c : all ((
74- c .scs_0100_syntax_check , c .scs_0100_semantics_check ,
75- )))
7673 # scs_0101_entropy
7774 c .add_function ('canonical_image' , lambda c : compute_canonical_image (c .images ))
7875 c .add_function ('collected_vm_output' , lambda c : compute_collected_vm_output (c .conn , c .flavors , c .canonical_image ))
@@ -81,9 +78,6 @@ def make_container(cloud):
8178 c .add_function ('scs_0101_entropy_avail' , lambda c : compute_scs_0101_entropy_avail (c .collected_vm_output , c .canonical_image .name ))
8279 c .add_function ('scs_0101_rngd' , lambda c : compute_scs_0101_rngd (c .collected_vm_output , c .canonical_image .name ))
8380 c .add_function ('scs_0101_fips_test' , lambda c : compute_scs_0101_fips_test (c .collected_vm_output , c .canonical_image .name ))
84- c .add_function ('entropy_check' , lambda c : all ((
85- c .scs_0101_entropy_avail , c .scs_0101_fips_test ,
86- )))
8781 # scs_0102_image_metadata
8882 c .add_function ('scs_0102_prop_architecture' , lambda c : compute_scs_0102_prop_architecture (c .images ))
8983 c .add_function ('scs_0102_prop_hash_algo' , lambda c : compute_scs_0102_prop_hash_algo (c .images ))
@@ -104,13 +98,6 @@ def make_container(cloud):
10498 c .add_function ('scs_0102_prop_uuid_validity' , lambda c : compute_scs_0102_prop_uuid_validity (c .images ))
10599 c .add_function ('scs_0102_prop_hotfix_hours' , lambda c : compute_scs_0102_prop_hotfix_hours (c .images ))
106100 c .add_function ('scs_0102_image_recency' , lambda c : compute_scs_0102_image_recency (c .images ))
107- c .add_function ('image_metadata_check' , lambda c : all ((
108- c .scs_0102_prop_architecture , c .scs_0102_prop_min_disk , c .scs_0102_prop_min_ram , c .scs_0102_prop_os_version ,
109- c .scs_0102_prop_os_distro , c .scs_0102_prop_hw_disk_bus , c .scs_0102_prop_image_build_date ,
110- c .scs_0102_prop_image_original_user , c .scs_0102_prop_image_source , c .scs_0102_prop_image_description ,
111- c .scs_0102_prop_replace_frequency , c .scs_0102_prop_provided_until , c .scs_0102_prop_uuid_validity ,
112- c .scs_0102_image_recency ,
113- )))
114101 # scs_0103_standard_flavors
115102 c .add_function ('flavor_lookup' , lambda c : compute_flavor_lookup (c .flavors ))
116103 for canonical_name in SCS_0103_CANONICAL_NAMES :
@@ -121,12 +108,6 @@ def make_container(cloud):
121108 f'scs_0103_flavor_{ nm } ' ,
122109 lambda c , cn = canonical_name : compute_scs_0103_flavor (c .flavor_lookup , compute_flavor_spec (cn ))
123110 )
124- c .add_function ('standard_flavors_check' , lambda c : all ((
125- c .scs_0103_flavor_1v_4 , c .scs_0103_flavor_2v_8 , c .scs_0103_flavor_4v_16 , c .scs_0103_flavor_8v_32 ,
126- c .scs_0103_flavor_1v_2 , c .scs_0103_flavor_2v_4 , c .scs_0103_flavor_4v_8 , c .scs_0103_flavor_8v_16 ,
127- c .scs_0103_flavor_16v_32 , c .scs_0103_flavor_1v_8 , c .scs_0103_flavor_2v_16 , c .scs_0103_flavor_4v_32 ,
128- c .scs_0103_flavor_1l_1 , c .scs_0103_flavor_2v_4_20s , c .scs_0103_flavor_4v_16_100s ,
129- )))
130111 # scs_0104_standard_images
131112 c .add_function ('scs_0104_source_capi_1' , lambda c : compute_scs_0104_source (c .image_lookup , SCS_0104_IMAGE_SPECS ['ubuntu-capi-image-1' ]))
132113 c .add_function ('scs_0104_source_capi_2' , lambda c : compute_scs_0104_source (c .image_lookup , SCS_0104_IMAGE_SPECS ['ubuntu-capi-image-2' ]))
@@ -146,47 +127,20 @@ def make_container(cloud):
146127 c .add_function ('scs_0104_image_debian_12' , lambda c : compute_scs_0104_image (c .image_lookup , SCS_0104_IMAGE_SPECS ['Debian 12' ]))
147128 c .add_function ('scs_0104_image_debian_11' , lambda c : compute_scs_0104_image (c .image_lookup , SCS_0104_IMAGE_SPECS ['Debian 11' ]))
148129 c .add_function ('scs_0104_image_debian_10' , lambda c : compute_scs_0104_image (c .image_lookup , SCS_0104_IMAGE_SPECS ['Debian 10' ]))
149- # NOTE the following variant is correct for SCS-compatible IaaS v4 only
150- c .add_function ('standard_images_check_1' , lambda c : all ((
151- c .scs_0104_image_ubuntu_2204 ,
152- c .scs_0104_source_capi_1 , c .scs_0104_source_capi_2 ,
153- c .scs_0104_source_ubuntu_2404 , c .scs_0104_source_ubuntu_2204 , c .scs_0104_source_ubuntu_2004 ,
154- c .scs_0104_source_debian_13 , c .scs_0104_source_debian_12 , c .scs_0104_source_debian_11 , c .scs_0104_source_debian_10 ,
155- )))
156- # NOTE the following variant is correct for SCS-compatible IaaS v5.1 only
157- c .add_function ('standard_images_check_2' , lambda c : all ((
158- c .scs_0104_image_ubuntu_2404 ,
159- c .scs_0104_source_capi_1 , c .scs_0104_source_capi_2 ,
160- c .scs_0104_source_ubuntu_2404 , c .scs_0104_source_ubuntu_2204 , c .scs_0104_source_ubuntu_2004 ,
161- c .scs_0104_source_debian_13 , c .scs_0104_source_debian_12 , c .scs_0104_source_debian_11 , c .scs_0104_source_debian_10 ,
162- )))
163130 # scs_0114_volume_types
164131 c .add_function ('volume_types' , lambda c : c .conn .list_volume_types ())
165132 c .add_function ('volume_type_lookup' , lambda c : compute_volume_type_lookup (c .volume_types ))
166133 c .add_function ('scs_0114_syntax_check' , lambda c : compute_scs_0114_syntax_check (c .volume_type_lookup ))
167134 c .add_function ('scs_0114_encrypted_type' , lambda c : compute_scs_0114_aspect_type (c .volume_type_lookup , 'encrypted' ))
168135 c .add_function ('scs_0114_replicated_type' , lambda c : compute_scs_0114_aspect_type (c .volume_type_lookup , 'replicated' ))
169- c .add_function ('volume_types_check' , lambda c : all ((
170- c .scs_0114_syntax_check ,
171- # the following is recommended only, but we treat this whole monolithic testcase as recommended
172- c .scs_0114_encrypted_type , c .scs_0114_replicated_type ,
173- )))
174136 # scs_0115_security_groups
175137 c .add_function ('scs_0115_default_rules' , lambda c : compute_scs_0115_default_rules (c .conn ))
176- c .add_function ('security_groups_default_rules_check' , lambda c : c .scs_0115_default_rules )
177138 # scs_0116_key_manager
178139 c .add_function ('services_lookup' , lambda c : compute_services_lookup (c .conn ))
179140 c .add_function ('scs_0116_presence' , lambda c : compute_scs_0116_presence (c .services_lookup ))
180141 c .add_function ('scs_0116_permissions' , lambda c : compute_scs_0116_permissions (c .conn , c .services_lookup ))
181- c .add_function ('key_manager_check' , lambda c : all ((
182- # recommended only: c.scs_0116_presence,
183- c .scs_0116_permissions ,
184- )))
185142 # scs_0117_volume_backup
186143 c .add_function ('scs_0117_test_backup' , lambda c : compute_scs_0117_test_backup (c .conn ))
187- c .add_function ('volume_backup_check' , lambda c : all ((
188- c .scs_0117_test_backup ,
189- )))
190144 # scs_0123_mandatory_services
191145 c .add_function ('scs_0123_service_compute' , lambda c : compute_scs_0123_service_presence (c .services_lookup , 'compute' ))
192146 c .add_function ('scs_0123_service_identity' , lambda c : compute_scs_0123_service_presence (c .services_lookup , 'identity' ))
@@ -197,11 +151,6 @@ def make_container(cloud):
197151 c .add_function ('scs_0123_service_object_store' , lambda c : compute_scs_0123_service_presence (c .services_lookup , 'object-store' ))
198152 c .add_function ('scs_0123_storage_apis' , lambda c : compute_scs_0123_service_presence (c .services_lookup , 'volume' , 'volumev3' , 'block-storage' ))
199153 c .add_function ('scs_0123_swift_s3' , lambda c : compute_scs_0123_swift_s3 (c .conn ))
200- c .add_function ('service_apis_check' , lambda c : all ((
201- c .scs_0123_service_compute , c .scs_0123_service_identity , c .scs_0123_service_image ,
202- c .scs_0123_service_network , c .scs_0123_service_load_balancer , c .scs_0123_service_placement ,
203- c .scs_0123_service_object_store , c .scs_0123_storage_apis , c .scs_0123_swift_s3 ,
204- )))
205154 return c
206155
207156
@@ -317,14 +266,7 @@ def main(argv):
317266 else :
318267 usage (2 )
319268
320- # NOTE For historic reasons, there is precisely one testcase id, namely standard-images-check,
321- # whose meaning depends on the version of the certificate scope in question. We are in the process
322- # of transitioning away from this anti-feature. For the time being, however, we use the following
323- # hack to support it: One testcase may be implemented in multiple variants, denoted by suffixing
324- # a number, as in standard-images-check/1, standard-images-check/2.
325- # NOTE Also, the historic testcases have terrible naming. We will transition towards names
326- # that encode the corresponding standard, such as scs-0104-image-ubuntu-2404.
327- testcases = [t for t in args if t .rsplit ('/' , 1 )[0 ].endswith ('-check' ) or t .startswith ('scs-' )]
269+ testcases = [t for t in args if t .startswith ('scs-' )]
328270 if len (testcases ) != len (args ):
329271 unknown = [a for a in args if a not in testcases ]
330272 logger .warning (f"ignoring unknown testcases: { ',' .join (unknown )} " )
@@ -336,8 +278,7 @@ def main(argv):
336278 c = make_container (cloud )
337279 run_sanity_checks (c )
338280 for testcase in testcases :
339- testcase_name = testcase .rsplit ('/' , 1 )[0 ] # see the note above
340- harness (testcase_name , lambda : getattr (c , testcase .replace ('-' , '_' ).replace ('/' , '_' )))
281+ harness (testcase , lambda : getattr (c , testcase .replace ('-' , '_' )))
341282 return 0
342283
343284
0 commit comments