1515import openstack
1616
1717from scs_0100_flavor_naming .flavor_names_check import \
18- compute_scs_flavors , compute_scs_0100_syntax_check , compute_scs_0100_semantics_check , compute_flavor_name_check
18+ compute_scs_flavors , compute_scs_0100_syntax_check , compute_scs_0100_semantics_check
1919from scs_0101_entropy .entropy_check import \
2020 compute_scs_0101_image_property , compute_scs_0101_flavor_property , compute_canonical_image , \
2121 compute_collected_vm_output , compute_scs_0101_entropy_avail , compute_scs_0101_rngd , \
22- compute_scs_0101_fips_test , compute_scs_0101_entropy_check
22+ compute_scs_0101_fips_test
23+ from scs_0102_image_metadata .image_metadata import \
24+ compute_scs_0102_prop_architecture , compute_scs_0102_prop_hash_algo , compute_scs_0102_prop_min_disk , \
25+ compute_scs_0102_prop_min_ram , compute_scs_0102_prop_os_version , compute_scs_0102_prop_os_distro , \
26+ compute_scs_0102_prop_hw_disk_bus , compute_scs_0102_prop_hypervisor_type , compute_scs_0102_prop_hw_rng_model , \
27+ compute_scs_0102_prop_image_build_date , compute_scs_0102_prop_image_original_user , \
28+ compute_scs_0102_prop_image_source , compute_scs_0102_prop_image_description , \
29+ compute_scs_0102_prop_replace_frequency , compute_scs_0102_prop_provided_until , \
30+ compute_scs_0102_prop_uuid_validity , compute_scs_0102_prop_hotfix_hours , \
31+ compute_scs_0102_image_recency
2332
2433
2534logger = logging .getLogger (__name__ )
@@ -36,22 +45,54 @@ def usage(rcode=1, file=sys.stderr):
3645
3746def make_container (cloud ):
3847 c = Container ()
39- # scs_0100_flavor_naming
48+ # basic support attributes shared by multiple testcases
4049 c .add_function ('conn' , lambda _ : openstack .connect (cloud = cloud , timeout = 32 ))
4150 c .add_function ('flavors' , lambda c : list (c .conn .list_flavors (get_extra = True )))
4251 c .add_function ('images' , lambda c : [img for img in c .conn .list_images () if img .visibility in ('public' , 'community' )])
52+ # scs_0100_flavor_naming
4353 c .add_function ('scs_flavors' , lambda c : compute_scs_flavors (c .flavors ))
4454 c .add_function ('scs_0100_syntax_check' , lambda c : compute_scs_0100_syntax_check (c .scs_flavors ))
4555 c .add_function ('scs_0100_semantics_check' , lambda c : compute_scs_0100_semantics_check (c .scs_flavors ))
46- c .add_function ('flavor_name_check' , lambda c : compute_flavor_name_check (c .scs_0100_syntax_check , c .scs_0100_semantics_check ))
47- c .add_function ('scs_0101_image_property' , lambda c : compute_scs_0101_image_property (c .images ))
48- c .add_function ('scs_0101_flavor_property' , lambda c : compute_scs_0101_flavor_property (c .flavors ))
56+ c .add_function ('flavor_name_check' , lambda c : all ((
57+ c .scs_0100_syntax_check , c .scs_0100_semantics_check ,
58+ )))
59+ # scs_0101_entropy
4960 c .add_function ('canonical_image' , lambda c : compute_canonical_image (c .images ))
5061 c .add_function ('collected_vm_output' , lambda c : compute_collected_vm_output (c .conn , c .flavors , c .canonical_image ))
62+ c .add_function ('scs_0101_image_property' , lambda c : compute_scs_0101_image_property (c .images ))
63+ c .add_function ('scs_0101_flavor_property' , lambda c : compute_scs_0101_flavor_property (c .flavors ))
5164 c .add_function ('scs_0101_entropy_avail' , lambda c : compute_scs_0101_entropy_avail (c .collected_vm_output , c .canonical_image .name ))
5265 c .add_function ('scs_0101_rngd' , lambda c : compute_scs_0101_rngd (c .collected_vm_output , c .canonical_image .name ))
5366 c .add_function ('scs_0101_fips_test' , lambda c : compute_scs_0101_fips_test (c .collected_vm_output , c .canonical_image .name ))
54- c .add_function ('entropy_check' , lambda c : compute_scs_0101_entropy_check (c .scs_0101_entropy_avail , c .scs_0101_fips_test ))
67+ c .add_function ('entropy_check' , lambda c : all ((
68+ c .scs_0101_entropy_avail , c .scs_0101_fips_test ,
69+ )))
70+ # scs_0102_image_metadata
71+ c .add_function ('scs_0102_prop_architecture' , lambda c : compute_scs_0102_prop_architecture (c .images ))
72+ c .add_function ('scs_0102_prop_hash_algo' , lambda c : compute_scs_0102_prop_hash_algo (c .images ))
73+ c .add_function ('scs_0102_prop_min_disk' , lambda c : compute_scs_0102_prop_min_disk (c .images ))
74+ c .add_function ('scs_0102_prop_min_ram' , lambda c : compute_scs_0102_prop_min_ram (c .images ))
75+ c .add_function ('scs_0102_prop_os_version' , lambda c : compute_scs_0102_prop_os_version (c .images ))
76+ c .add_function ('scs_0102_prop_os_distro' , lambda c : compute_scs_0102_prop_os_distro (c .images ))
77+ c .add_function ('scs_0102_prop_hw_disk_bus' , lambda c : compute_scs_0102_prop_hw_disk_bus (c .images ))
78+ c .add_function ('scs_0102_prop_hypervisor_type' , lambda c : compute_scs_0102_prop_hypervisor_type (c .images ))
79+ c .add_function ('scs_0102_prop_hw_rng_model' , lambda c : compute_scs_0102_prop_hw_rng_model (c .images ))
80+ c .add_function ('scs_0102_prop_image_build_date' , lambda c : compute_scs_0102_prop_image_build_date (c .images ))
81+ c .add_function ('scs_0102_prop_image_original_user' , lambda c : compute_scs_0102_prop_image_original_user (c .images ))
82+ c .add_function ('scs_0102_prop_image_source' , lambda c : compute_scs_0102_prop_image_source (c .images ))
83+ c .add_function ('scs_0102_prop_image_description' , lambda c : compute_scs_0102_prop_image_description (c .images ))
84+ c .add_function ('scs_0102_prop_replace_frequency' , lambda c : compute_scs_0102_prop_replace_frequency (c .images ))
85+ c .add_function ('scs_0102_prop_provided_until' , lambda c : compute_scs_0102_prop_provided_until (c .images ))
86+ c .add_function ('scs_0102_prop_uuid_validity' , lambda c : compute_scs_0102_prop_uuid_validity (c .images ))
87+ c .add_function ('scs_0102_prop_hotfix_hours' , lambda c : compute_scs_0102_prop_hotfix_hours (c .images ))
88+ c .add_function ('scs_0102_image_recency' , lambda c : compute_scs_0102_image_recency (c .images ))
89+ c .add_function ('image_metadata_check' , lambda c : all ((
90+ c .scs_0102_prop_architecture , c .scs_0102_prop_min_disk , c .scs_0102_prop_min_ram , c .scs_0102_prop_os_version ,
91+ c .scs_0102_prop_os_distro , c .scs_0102_prop_hw_disk_bus , c .scs_0102_prop_image_build_date ,
92+ c .scs_0102_prop_image_original_user , c .scs_0102_prop_image_source , c .scs_0102_prop_image_description ,
93+ c .scs_0102_prop_replace_frequency , c .scs_0102_prop_provided_until , c .scs_0102_prop_uuid_validity ,
94+ c .scs_0102_image_recency ,
95+ )))
5596 return c
5697
5798
@@ -82,6 +123,7 @@ def __init__(self):
82123 def __getattr__ (self , key ):
83124 val = self ._values .get (key )
84125 if val is None :
126+ logger .debug (f'... { key } ' )
85127 try :
86128 ret = self ._functions [key ](self )
87129 except BaseException as e :
0 commit comments