|
4 | 4 | # - 2025-05-22 pruned old content; affected versions: v1, v2, v3-orig, v5 |
5 | 5 |
|
6 | 6 |
|
| 7 | +# #### (TESTCASE) CATEGORIES #### |
| 8 | +# each category loosely corresponds to a standard |
| 9 | +# you can do one category for each version of the standard, but these can't share testcases! |
| 10 | +# so this works well for OpenStack Powered Compute |
| 11 | +# apart from that, put all versions into one category |
| 12 | + |
| 13 | +- id: category/opc-v2022.11 |
| 14 | + name: OpenStack Powered Compute v2022.11 |
| 15 | + url: https://opendev.org/openinfra/interop/src/branch/master/guidelines/2022.11.json |
| 16 | +- id: category/scs-0100 |
| 17 | + name: Flavor naming |
| 18 | + url: https://docs.scs.community/standards/iaas/scs-0100 |
| 19 | +- id: category/scs-0101 |
| 20 | + name: Entropy |
| 21 | + url: https://docs.scs.community/standards/iaas/scs-0101 |
| 22 | +- id: category/scs-0102 |
| 23 | + name: Image metadata |
| 24 | + url: https://docs.scs.community/standards/iaas/scs-0102 |
| 25 | +- id: category/scs-0103 |
| 26 | + name: Standard flavors |
| 27 | + url: https://docs.scs.community/standards/iaas/scs-0103 |
| 28 | +- id: category/scs-0104 |
| 29 | + name: Standard images |
| 30 | + url: https://docs.scs.community/standards/iaas/scs-0104 |
| 31 | + # parameters: |
| 32 | + # image_spec: address (URL) of an image-spec (YAML) file |
| 33 | +- id: category/scs-0114 |
| 34 | + name: Volume Types |
| 35 | + url: https://docs.scs.community/standards/iaas/scs-0114 |
| 36 | +- id: category/scs-0115 |
| 37 | + name: Default rules for security groups |
| 38 | + url: https://docs.scs.community/standards/iaas/scs-0115 |
| 39 | +- id: category/scs-0116 |
| 40 | + name: Key manager |
| 41 | + url: https://docs.scs.community/standards/iaas/scs-0116 |
| 42 | +- id: category/scs-0117 |
| 43 | + name: Volume backup |
| 44 | + url: https://docs.scs.community/standards/iaas/scs-0117 |
| 45 | +- id: category/scs-0121 |
| 46 | + name: Availability Zones |
| 47 | + url: https://docs.scs.community/standards/iaas/scs-0121 |
| 48 | +- id: category/scs-0123 |
| 49 | + name: Mandatory and Supported IaaS Services |
| 50 | + url: https://docs.scs.community/standards/iaas/scs-0123 |
| 51 | +- id: category/scs-0302 |
| 52 | + name: Domain Manager Role |
| 53 | + url: https://docs.scs.community/standards/iam/scs-0302 |
| 54 | + |
| 55 | + |
7 | 56 | # #### TESTCASES #### |
| 57 | + |
8 | 58 | - id: testcase/flavor-name-syntax-check-v2-3 |
| 59 | + category: category/scs-0100 |
9 | 60 | tags: [scs-0100-v3.1] |
10 | 61 | description: > |
11 | 62 | Flavor names comply with syntax described in |
12 | 63 | <https://docs.scs.community/standards/scs-0100-v3-flavor-naming> (identical with v2) |
13 | 64 | - id: testcase/flavor-name-semantics-check |
| 65 | + category: category/scs-0100 |
14 | 66 | tags: [scs-0100-v3.1] |
15 | 67 | description: > |
16 | 68 | Flavor names tell the truth according to |
17 | 69 | <https://docs.scs.community/standards/scs-0100-v3-flavor-naming> (subsuming v1 and v2) |
18 | 70 | - id: testcase/entropy-check-flavor-properties |
| 71 | + category: category/scs-0101 |
19 | 72 | tags: [scs-0101-v1-rec] |
20 | 73 | description: > |
21 | 74 | Must have all flavor properties recommended in |
22 | 75 | <https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#warnings> |
23 | 76 | - id: testcase/entropy-check-image-properties |
| 77 | + category: category/scs-0101 |
24 | 78 | tags: [scs-0101-v1-rec] |
25 | 79 | description: > |
26 | 80 | Must have all image properties recommended in |
27 | 81 | <https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#warnings> |
28 | 82 | - id: testcase/entropy-check-rngd |
| 83 | + category: category/scs-0101 |
29 | 84 | tags: [scs-0101-v1] |
30 | 85 | description: > |
31 | 86 | Images of the test sample must have the service `rngd`; see |
32 | 87 | <https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#errors> |
33 | 88 | - id: testcase/entropy-check-entropy-avail |
| 89 | + category: category/scs-0101 |
34 | 90 | tags: [scs-0101-v1] |
35 | 91 | description: > |
36 | 92 | A test instance must have the correct `entropy_avail`; see |
37 | 93 | <https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#errors> |
38 | 94 | - id: testcase/entropy-check-fips-test |
| 95 | + category: category/scs-0101 |
39 | 96 | tags: [scs-0101-v1] |
40 | 97 | description: > |
41 | 98 | A test instance must pass the "FIPS test"; see |
42 | 99 | <https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#errors> |
43 | 100 | - id: testcase/image-metadata-check |
| 101 | + category: category/scs-0102 |
44 | 102 | tags: [scs-0102-v1] |
45 | 103 | description: > |
46 | 104 | Must fulfill all requirements of <https://docs.scs.community/standards/scs-0102-v1-image-metadata> |
47 | 105 | # required flavors as per scs-0103-v1 |
48 | 106 | - id: testcase/check-flavor-scs-1v-4 |
| 107 | + category: category/scs-0103 |
49 | 108 | tags: [scs-0103-v1] |
50 | 109 | - id: testcase/check-flavor-scs-2v-8 |
| 110 | + category: category/scs-0103 |
51 | 111 | tags: [scs-0103-v1] |
52 | 112 | - id: testcase/check-flavor-scs-4v-16 |
| 113 | + category: category/scs-0103 |
53 | 114 | tags: [scs-0103-v1] |
54 | 115 | - id: testcase/check-flavor-scs-8v-32 |
| 116 | + category: category/scs-0103 |
55 | 117 | tags: [scs-0103-v1] |
56 | 118 | - id: testcase/check-flavor-scs-1v-2 |
| 119 | + category: category/scs-0103 |
57 | 120 | tags: [scs-0103-v1] |
58 | 121 | - id: testcase/check-flavor-scs-2v-4 |
| 122 | + category: category/scs-0103 |
59 | 123 | tags: [scs-0103-v1] |
60 | 124 | - id: testcase/check-flavor-scs-4v-8 |
| 125 | + category: category/scs-0103 |
61 | 126 | tags: [scs-0103-v1] |
62 | 127 | - id: testcase/check-flavor-scs-8v-16 |
| 128 | + category: category/scs-0103 |
63 | 129 | tags: [scs-0103-v1] |
64 | 130 | - id: testcase/check-flavor-scs-16v-32 |
| 131 | + category: category/scs-0103 |
65 | 132 | tags: [scs-0103-v1] |
66 | 133 | - id: testcase/check-flavor-scs-1v-8 |
| 134 | + category: category/scs-0103 |
67 | 135 | tags: [scs-0103-v1] |
68 | 136 | - id: testcase/check-flavor-scs-2v-16 |
| 137 | + category: category/scs-0103 |
69 | 138 | tags: [scs-0103-v1] |
70 | 139 | - id: testcase/check-flavor-scs-4v-32 |
| 140 | + category: category/scs-0103 |
71 | 141 | tags: [scs-0103-v1] |
72 | 142 | - id: testcase/check-flavor-scs-1l-1 |
| 143 | + category: category/scs-0103 |
73 | 144 | tags: [scs-0103-v1] |
74 | 145 | - id: testcase/check-flavor-scs-2v-4-20s |
| 146 | + category: category/scs-0103 |
75 | 147 | tags: [scs-0103-v1] |
76 | 148 | - id: testcase/check-flavor-scs-4v-16-100s |
| 149 | + category: category/scs-0103 |
77 | 150 | tags: [scs-0103-v1] |
78 | 151 | # recommended flavors as per scs-0103-v1 |
79 | 152 | - id: testcase/check-flavor-scs-1v-4-10 |
| 153 | + category: category/scs-0103 |
80 | 154 | tags: [scs-0103-v1-rec] |
81 | 155 | - id: testcase/check-flavor-scs-2v-8-20 |
| 156 | + category: category/scs-0103 |
82 | 157 | tags: [scs-0103-v1-rec] |
83 | 158 | - id: testcase/check-flavor-scs-4v-16-50 |
| 159 | + category: category/scs-0103 |
84 | 160 | tags: [scs-0103-v1-rec] |
85 | 161 | - id: testcase/check-flavor-scs-8v-32-100 |
| 162 | + category: category/scs-0103 |
86 | 163 | tags: [scs-0103-v1-rec] |
87 | 164 | - id: testcase/check-flavor-scs-1v-2-5 |
| 165 | + category: category/scs-0103 |
88 | 166 | tags: [scs-0103-v1-rec] |
89 | 167 | - id: testcase/check-flavor-scs-2v-4-10 |
| 168 | + category: category/scs-0103 |
90 | 169 | tags: [scs-0103-v1-rec] |
91 | 170 | - id: testcase/check-flavor-scs-4v-8-20 |
| 171 | + category: category/scs-0103 |
92 | 172 | tags: [scs-0103-v1-rec] |
93 | 173 | - id: testcase/check-flavor-scs-8v-16-50 |
| 174 | + category: category/scs-0103 |
94 | 175 | tags: [scs-0103-v1-rec] |
95 | 176 | - id: testcase/check-flavor-scs-16v-32-100 |
| 177 | + category: category/scs-0103 |
96 | 178 | tags: [scs-0103-v1-rec] |
97 | 179 | - id: testcase/check-flavor-scs-1v-8-20 |
| 180 | + category: category/scs-0103 |
98 | 181 | tags: [scs-0103-v1-rec] |
99 | 182 | - id: testcase/check-flavor-scs-2v-16-50 |
| 183 | + category: category/scs-0103 |
100 | 184 | tags: [scs-0103-v1-rec] |
101 | 185 | - id: testcase/check-flavor-scs-4v-32-100 |
| 186 | + category: category/scs-0103 |
102 | 187 | tags: [scs-0103-v1-rec] |
103 | 188 | - id: testcase/check-flavor-scs-1l-1-5 |
| 189 | + category: category/scs-0103 |
104 | 190 | tags: [scs-0103-v1-rec] |
105 | 191 | # # image sources |
106 | 192 | # ## capi |
107 | 193 | - id: testcase/check-image-source-capi-2 |
| 194 | + category: category/scs-0104 |
108 | 195 | tags: [scs-0104-v1-2] |
109 | 196 | - id: testcase/check-image-source-capi-1 |
| 197 | + category: category/scs-0104 |
110 | 198 | tags: [scs-0104-v1-1] |
111 | 199 | # ## Ubuntu |
112 | 200 | - id: testcase/check-image-source-ubuntu-24.04 |
| 201 | + category: category/scs-0104 |
113 | 202 | tags: [scs-0104-v1-2] |
114 | 203 | - id: testcase/check-image-source-ubuntu-22.04 |
| 204 | + category: category/scs-0104 |
115 | 205 | tags: [scs-0104-v1-1, scs-0104-v1-2] |
116 | 206 | - id: testcase/check-image-source-ubuntu-20.04 |
| 207 | + category: category/scs-0104 |
117 | 208 | tags: [scs-0104-v1-1, scs-0104-v1-2] |
118 | 209 | # ## Debian |
119 | 210 | - id: testcase/check-image-source-debian-12 |
| 211 | + category: category/scs-0104 |
120 | 212 | tags: [scs-0104-v1-1, scs-0104-v1-2] |
121 | 213 | - id: testcase/check-image-source-debian-11 |
| 214 | + category: category/scs-0104 |
122 | 215 | tags: [scs-0104-v1-1, scs-0104-v1-2] |
123 | 216 | - id: testcase/check-image-source-debian-10 |
| 217 | + category: category/scs-0104 |
124 | 218 | tags: [scs-0104-v1-1, scs-0104-v1-2] |
125 | 219 | # # image presence |
126 | 220 | # ## capi |
127 | 221 | - id: testcase/check-image-capi-2 |
| 222 | + category: category/scs-0104 |
128 | 223 | tags: [scs-0104-v1-2] |
129 | 224 | - id: testcase/check-image-capi-1 |
| 225 | + category: category/scs-0104 |
130 | 226 | tags: [scs-0104-v1-1] |
131 | 227 | # ## Ubuntu |
132 | 228 | - id: testcase/check-image-ubuntu-24.04 |
| 229 | + category: category/scs-0104 |
133 | 230 | tags: [scs-0104-v1-2] |
134 | 231 | - id: testcase/check-image-ubuntu-22.04 |
| 232 | + category: category/scs-0104 |
135 | 233 | tags: [scs-0104-v1-1] |
136 | 234 | # ## Debian |
137 | 235 | - id: testcase/check-image-debian-12 |
| 236 | + category: category/scs-0104 |
138 | 237 | tags: [scs-0104-v1-2] |
139 | 238 | # # volume types |
140 | 239 | - id: testcase/volume-type-encrypted |
| 240 | + category: category/scs-0114 |
141 | 241 | tags: [scs-0114-v1-rec] |
142 | 242 | description: > |
143 | 243 | An encrypted volume type can be discovered. |
144 | 244 | - id: testcase/volume-type-replicated |
| 245 | + category: category/scs-0114 |
145 | 246 | tags: [scs-0114-v1-rec] |
146 | 247 | description: > |
147 | 248 | A replicated volume type can be discovered. |
|
150 | 251 | # see the correspondence between the test script and the standards requirements and recommendations |
151 | 252 | # (the latter probably simply aren't checked?) |
152 | 253 | - id: testcase/security-groups-default-rules-check |
| 254 | + category: category/scs-0115 |
153 | 255 | tags: [scs-0115-v1] |
154 | 256 | description: > |
155 | 257 | Must fulfill all requirements of <https://docs.scs.community/standards/scs-0115-v1-default-rules-for-security-groups> |
156 | 258 | # # key manager |
157 | 259 | - id: testcase/key-manager-presence-check |
| 260 | + category: category/scs-0116 |
158 | 261 | tags: [scs-0116-v1-rec] |
159 | 262 | description: > |
160 | 263 | Key manager service is discoverable. |
161 | 264 | - id: testcase/key-manager-permissions-check |
| 265 | + category: category/scs-0116 |
162 | 266 | tags: [scs-0116-v1] |
163 | 267 | description: > |
164 | 268 | Key manager is usable with member role. |
165 | 269 | # # volume backup |
166 | 270 | - id: testcase/volume-backup-check |
| 271 | + category: category/scs-0117 |
167 | 272 | tags: [scs-0117-v1] |
168 | 273 | description: > |
169 | 274 | Volume backup works. |
170 | 275 | # # availability zones |
171 | 276 | - id: testcase/availability-zones-check |
| 277 | + category: category/scs-0121 |
172 | 278 | tags: [scs-0121-v1,manual] |
173 | 279 | description: > |
174 | 280 | Note: manual check! Must fulfill all requirements of <https://docs.scs.community/standards/scs-0121-v1-Availability-Zones-Standard> |
175 | 281 | # # service APIs |
176 | 282 | - id: testcase/service-apis-check |
| 283 | + category: category/scs-0123 |
177 | 284 | tags: [scs-0123-v1] |
178 | 285 | description: > |
179 | 286 | All required services (besides block-storage) are discoverable; as listed in <https://docs.scs.community/standards/scs-0123-v1-mandatory-and-supported-IaaS-services>. |
180 | 287 | - id: testcase/storage-apis-check |
| 288 | + category: category/scs-0123 |
181 | 289 | tags: [scs-0123-v1] |
182 | 290 | description: > |
183 | 291 | The block-storage API is discoverable; as listed in <https://docs.scs.community/standards/scs-0123-v1-mandatory-and-supported-IaaS-services>. |
184 | 292 | - id: testcase/swift-s3-check |
| 293 | + category: category/scs-0123 |
185 | 294 | tags: [scs-0123-v1] |
186 | 295 | description: > |
187 | 296 | The object-storage API is compatible with S3; as described in <https://docs.scs.community/standards/scs-0123-v1-mandatory-and-supported-IaaS-services>. |
188 | 297 | type: swift-s3-check |
189 | 298 | - id: testcase/service-apis-docs-check |
| 299 | + category: category/scs-0123 |
190 | 300 | tags: [scs-0123-v1,manual] |
191 | 301 | description: > |
192 | 302 | Note: manual check! Must fulfill documentation requirements of <https://docs.scs.community/standards/scs-0123-v1-mandatory-and-supported-IaaS-services>. |
193 | 303 | - id: testcase/domain-manager-check |
| 304 | + category: category/scs-0302 |
194 | 305 | tags: [scs-0302-v1,manual] |
195 | 306 | description: > |
196 | 307 | Note: manual check! Must fulfill all requirements of <https://docs.scs.community/standards/scs-0302-v1-domain-manager-role> |
197 | 308 |
|
| 309 | +
|
198 | 310 | # #### TARGETS #### |
| 311 | +# we want to enable a visualization like the following |
| 312 | +# v5.1 v6 |
| 313 | +# category 1 |
| 314 | +# - testcase 1.1 required required |
| 315 | +# - testcase 1.2 recommended required |
| 316 | +# - testcase 1.3 -- recommended |
| 317 | +# etc. |
| 318 | +# |
| 319 | +# these categories alone would be too rigid though: if we have many testcase, it may be desireable to |
| 320 | +# highlight certain parts in a way that is orthogonal to categories. |
| 321 | +# |
| 322 | +# therefore we use two concepts: |
| 323 | +# - categories for sorting the testcase just like above, and |
| 324 | +# - targets for certain aspects of interest (such as security) that don't cover all testcases |
| 325 | +# |
| 326 | +# the former would be defined with the testcases |
| 327 | +# the latter would be more or less like the targets we currently have |
| 328 | +# |
| 329 | +# and then we still need to specify for each version: which testcases are required/recommended |
| 330 | +# we can still use targets for that: |
| 331 | +# - any testcase in `main` is required (it could be hidden from the list of targets if categories are used) |
| 332 | +# - any testcase not in main, but in another target is `recommended` |
| 333 | +# - if there is a target `recommended` we could hide that from the official list of targets same as `main` |
| 334 | + |
199 | 335 | - id: target/scs-compatible-iaas-main-v5.1 |
200 | 336 | selectors: |
201 | 337 | - scs-0100-v3.1 |
|
0 commit comments