Skip to content

Commit e191f8d

Browse files
committed
WIP: rework testcases
Signed-off-by: Matthias Büchse <[email protected]>
1 parent ce0cec7 commit e191f8d

File tree

13 files changed

+689
-209
lines changed

13 files changed

+689
-209
lines changed

Tests/scs-compatible-iaas.yaml

Lines changed: 44 additions & 209 deletions
Original file line numberDiff line numberDiff line change
@@ -11,190 +11,23 @@ modules:
1111
- id: opc-v2022.11
1212
name: OpenStack Powered Compute v2022.11
1313
url: https://opendev.org/openinfra/interop/src/branch/master/guidelines/2022.11.json
14-
- id: scs-0100-v3.1
15-
name: Flavor naming v3.1
16-
url: https://docs.scs.community/standards/scs-0100-v3-flavor-naming
14+
- id: scs-standards
1715
run:
18-
- executable: ./iaas/flavor-naming/flavor-names-openstack.py
19-
args: -c {os_cloud} --mand=./iaas/scs-0100-v3-flavors.yaml
20-
# Note: --v2plus would outlaw the v1 flavor names. Don't do this yet.
16+
- executable: ./iaas/run_scs.py
17+
args: -c {os_cloud} -t {testcases_file}
2118
testcases:
22-
- id: flavor-name-check
23-
tags: [mandatory]
24-
description: >
25-
Must fulfill all requirements of
26-
<https://docs.scs.community/standards/scs-0100-v3-flavor-naming>
27-
- id: scs-0101-v1
28-
name: Entropy v1
29-
url: https://docs.scs.community/standards/scs-0101-v1-entropy
30-
run:
31-
- executable: ./iaas/entropy/entropy-check.py
32-
args: -c {os_cloud} -d
33-
testcases:
34-
- id: entropy-check-flavor-properties
35-
tags: [] # don't use this testcase, but list it anyway because the script will output a result
36-
- id: entropy-check-image-properties
37-
tags: [] # don't use this testcase, but list it anyway because the script will output a result
38-
- id: entropy-check-rngd
39-
tags: [] # don't use this testcase, but list it anyway because the script will output a result
40-
- id: entropy-check-entropy-avail
41-
tags: [] # don't use this testcase, but list it anyway because the script will output a result
42-
- id: entropy-check-fips-test
43-
tags: [] # don't use this testcase, but list it anyway because the script will output a result
44-
- id: entropy-check
45-
tags: [mandatory]
46-
description: >
47-
Must fulfill all requirements of
48-
<https://docs.scs.community/standards/scs-0101-v1-entropy>
49-
- id: scs-0101-v1.1
50-
name: Entropy v1
51-
url: https://docs.scs.community/standards/scs-0101-v1-entropy
52-
run:
53-
- executable: ./iaas/entropy/entropy-check.py
54-
args: -c {os_cloud} -d
55-
testcases:
56-
- id: entropy-check-flavor-properties
57-
tags: [recommended]
58-
description: >
59-
Must have all flavor properties recommended in
60-
<https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#warnings>
61-
- id: entropy-check-image-properties
62-
tags: [recommended]
63-
description: >
64-
Must have all image properties recommended in
65-
<https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#warnings>
66-
- id: entropy-check-rngd
67-
tags: [mandatory]
68-
description: >
69-
Images of the test sample must have the service `rngd`; see
70-
<https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#errors>
71-
- id: entropy-check-entropy-avail
72-
tags: [mandatory]
73-
description: >
74-
A test instance must have the correct `entropy_avail`; see
75-
<https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#errors>
76-
- id: entropy-check-fips-test
77-
tags: [mandatory]
78-
description: >
79-
A test instance must pass the "FIPS test"; see
80-
<https://docs.scs.community/standards/scs-0101-w1-entropy-implementation-testing#errors>
81-
- id: entropy-check
82-
tags: [] # don't use this testcase, but list it anyway because the script will output a result
83-
- id: scs-0102-v1
84-
name: Image metadata v1
85-
url: https://docs.scs.community/standards/scs-0102-v1-image-metadata
86-
run:
87-
- executable: ./iaas/image-metadata/image-md-check.py
88-
args: -c {os_cloud} -v -s
89-
# skip check of mand/recc/sugg images, for these were never authoritative, and they have been
90-
# superseded by scs-0104-v1
91-
testcases:
92-
- id: image-metadata-check
93-
tags: [mandatory]
94-
description: >
95-
Must fulfill all requirements of <https://docs.scs.community/standards/scs-0102-v1-image-metadata>
96-
- id: scs-0103-v1
97-
name: Standard flavors
98-
url: https://docs.scs.community/standards/scs-0103-v1-standard-flavors
99-
run:
100-
- executable: ./iaas/standard-flavors/flavors-openstack.py
101-
args: -c {os_cloud} -d ./iaas/scs-0103-v1-flavors.yaml
102-
testcases:
103-
- id: standard-flavors-check
104-
tags: [mandatory]
105-
description: >
106-
Must fulfill all requirements of <https://docs.scs.community/standards/scs-0103-v1-standard-flavors>
107-
- id: scs-0104-v1
108-
name: Standard images
109-
url: https://docs.scs.community/standards/scs-0104-v1-standard-images
110-
parameters:
111-
image_spec: address (URL) of an image-spec (YAML) file
112-
run:
113-
- executable: ./iaas/standard-images/images-openstack.py
114-
args: -c {os_cloud} -d {image_spec}
115-
testcases:
116-
- id: standard-images-check
117-
tags: [mandatory]
118-
description: >
119-
Must fulfill all requirements of <https://docs.scs.community/standards/scs-0104-v1-standard-images>
120-
- id: scs-0114-v1
121-
name: Volume Types
122-
url: https://docs.scs.community/standards/scs-0114-v1-volume-type-standard
123-
run:
124-
- executable: ./iaas/volume-types/volume-types-check.py
125-
args: -c {os_cloud} -d
126-
testcases:
127-
- id: volume-types-check
128-
tags: [mandatory]
129-
description: >
130-
Must fulfill all requirements of <https://docs.scs.community/standards/scs-0114-v1-volume-type-standard>
131-
- id: scs-0115-v1
132-
name: Default rules for security groups
133-
url: https://docs.scs.community/standards/scs-0115-v1-default-rules-for-security-groups
134-
run:
135-
- executable: ./iaas/security-groups/default-security-group-rules.py
136-
args: --os-cloud {os_cloud} --debug
137-
testcases:
138-
- id: security-groups-default-rules-check
139-
tags: [mandatory]
140-
description: >
141-
Must fulfill all requirements of <https://docs.scs.community/standards/scs-0115-v1-default-rules-for-security-groups>
142-
- id: scs-0116-v1
143-
name: Key manager
144-
url: https://docs.scs.community/standards/scs-0116-v1-key-manager-standard
145-
run:
146-
- executable: ./iaas/key-manager/check-for-key-manager.py
147-
args: --os-cloud {os_cloud} --debug
148-
testcases:
149-
- id: key-manager-check
150-
tags: [mandatory]
151-
description: >
152-
Must fulfill all requirements of <https://docs.scs.community/standards/scs-0116-v1-key-manager-standard>
153-
- id: scs-0117-v1
154-
name: Volume backup
155-
url: https://docs.scs.community/standards/scs-0117-v1-volume-backup-service
156-
run:
157-
- executable: ./iaas/volume-backup/volume-backup-tester.py
158-
args: --os-cloud {os_cloud} --debug
159-
testcases:
160-
- id: volume-backup-check
161-
tags: [mandatory]
162-
description: >
163-
Must fulfill all requirements of <https://docs.scs.community/standards/scs-0117-v1-volume-backup-service>
164-
- id: scs-0121-v1
165-
name: Availability Zones
166-
url: https://docs.scs.community/standards/scs-0121-v1-Availability-Zones-Standard
167-
testcases:
168-
- id: availability-zones-check
169-
tags: [availability-zones]
170-
description: >
171-
Note: manual check! Must fulfill all requirements of <https://docs.scs.community/standards/scs-0121-v1-Availability-Zones-Standard>
172-
- id: scs-0123-v1
173-
name: Mandatory and Supported IaaS Services
174-
url: https://docs.scs.community/standards/scs-0123-v1-mandatory-and-supported-IaaS-services
175-
run:
176-
- executable: ./iaas/mandatory-services/mandatory-iaas-services.py
177-
args: --os-cloud {os_cloud} --debug
178-
testcases:
179-
- id: service-apis-check
180-
tags: [mandatory]
181-
description: >
182-
Must fulfill all requirements of <https://docs.scs.community/standards/scs-0123-v1-mandatory-and-supported-IaaS-services> (except for documentation requirements, which are tested manually with service-apis-docs-check).
183-
- id: service-apis-docs-check
184-
tags: [service-apis-docs]
185-
description: >
186-
Note: manual check! Must fulfill documentation requirements of <https://docs.scs.community/standards/scs-0123-v1-mandatory-and-supported-IaaS-services>.
187-
- id: scs-0302-v1
188-
name: Domain Manager Role
189-
url: https://docs.scs.community/standards/scs-0302-v1-domain-manager-role
190-
# run:
191-
# - executable: ./iam/domain-manager/domain-manager-check.py
192-
# args: --os-cloud {os_cloud} --debug --domain-config ...
193-
testcases:
194-
- id: domain-manager-check
195-
tags: [domain-manager]
196-
description: >
197-
Note: manual check! Must fulfill all requirements of <https://docs.scs.community/standards/scs-0302-v1-domain-manager-role>
19+
- include: testcases/scs-0100.yaml
20+
- include: testcases/scs-0101.yaml
21+
- include: testcases/scs-0102.yaml
22+
- include: testcases/scs-0103.yaml
23+
- include: testcases/scs-0104.yaml
24+
- include: testcases/scs-0114.yaml
25+
- include: testcases/scs-0115.yaml
26+
- include: testcases/scs-0116.yaml
27+
- include: testcases/scs-0117.yaml
28+
- include: testcases/scs-0121.yaml
29+
- include: testcases/scs-0123.yaml
30+
- include: testcases/scs-0302.yaml
19831
timeline:
19932
- date: 2025-02-01
20033
versions:
@@ -211,44 +44,46 @@ versions:
21144
stabilized_at: 2024-12-19
21245
include:
21346
- opc-v2022.11
214-
- scs-0100-v3.1
215-
- scs-0101-v1
216-
- scs-0102-v1
217-
- scs-0103-v1
218-
- ref: scs-0104-v1
219-
parameters:
220-
image_spec: https://raw.githubusercontent.com/SovereignCloudStack/standards/main/Tests/iaas/scs-0104-v1-images-v5.yaml
221-
- scs-0114-v1
222-
- scs-0115-v1
223-
- scs-0116-v1
224-
- scs-0117-v1
225-
- scs-0121-v1
226-
- scs-0123-v1
227-
- scs-0302-v1
47+
- scs-standards
22848
targets:
229-
main: mandatory
230-
preview: domain-manager/availability-zones/service-apis-docs
49+
main: >
50+
scs-0100-v3.1,
51+
scs-0101-v1,
52+
scs-0102-v1,
53+
scs-0103-v1,
54+
scs-0104-v1-2,
55+
scs-0114-v1,
56+
scs-0115-v1,
57+
scs-0116-v1,
58+
scs-0117-v1,
59+
scs-0121-v1 !manual,
60+
scs-0123-v1 !manual,
61+
scs-0302-v1 !manual
62+
preview: >
63+
scs-0121-v1 manual,
64+
scs-0123-v1 manual,
65+
scs-0302-v1 manual
23166
- version: v4
23267
stabilized_at: 2024-02-28
23368
include:
23469
- opc-v2022.11
235-
- scs-0100-v3.1
236-
- scs-0101-v1
237-
- scs-0102-v1
238-
- scs-0103-v1
239-
- ref: scs-0104-v1
240-
parameters:
241-
image_spec: https://raw.githubusercontent.com/SovereignCloudStack/standards/main/Tests/iaas/scs-0104-v1-images.yaml
70+
- scs-standards
24271
targets:
243-
main: mandatory
72+
main: >
73+
scs-0100-v3.1,
74+
scs-0101-v1,
75+
scs-0102-v1,
76+
scs-0103-v1,
77+
scs-0104-v1-1
24478
- version: v3
24579
# comment: >
24680
# This is what our documentation wrongly stated as being v3 when we introduced v4.
24781
# What was originally v3 (and what we actually continued to test) can be found as v3-orig.
24882
stabilized_at: 2024-02-28
24983
include:
25084
- opc-v2022.11
251-
- scs-0100-v3.1
252-
- scs-0102-v1
85+
- scs-standards
25386
targets:
254-
main: mandatory
87+
main: >
88+
scs-0100-v3.1,
89+
scs-0102-v1

Tests/testcases/scs-0100.yaml

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
testcases:
2+
- id: flavor-name-syntax-check-v1
3+
tags: [scs-0100-v1]
4+
description: >
5+
Flavor names comply with syntax described in
6+
<https://docs.scs.community/standards/scs-0100-v1-flavor-naming>
7+
type: flavor-name-syntax-check
8+
data:
9+
version: v1
10+
- id: flavor-name-syntax-check-v2-3
11+
tags: [scs-0100-v2, scs-0100-v3.0, scs-0100-v3.1]
12+
description: >
13+
Flavor names comply with syntax described in
14+
<https://docs.scs.community/standards/scs-0100-v3-flavor-naming>
15+
(identical with v2)
16+
type: flavor-name-syntax-check
17+
data:
18+
version: v2
19+
- id: flavor-name-semantics-check
20+
tags: [scs-0100-v1, scs-0100-v2, scs-0100-v3.0, scs-0100-v3.1]
21+
description: >
22+
Flavor names tell the truth according to
23+
<https://docs.scs.community/standards/scs-0100-v3-flavor-naming>
24+
(subsumes v1 and v2 as well)
25+
type: flavor-name-semantics-check
26+
- id: flavor-name-completeness-check-v1
27+
tags: [scs-0100-v1]
28+
description: >
29+
All required standard flavors are present as described in
30+
<https://docs.scs.community/standards/scs-0100-v1-flavor-naming>
31+
type: flavor-name-presence-check
32+
data:
33+
names:
34+
- "SCS-1V:4"
35+
- "SCS-2V:8"
36+
- "SCS-4V:16"
37+
- "SCS-8V:32"
38+
- "SCS-1V:2"
39+
- "SCS-2V:4"
40+
- "SCS-4V:8"
41+
- "SCS-8V:16"
42+
- "SCS-16V:32"
43+
- "SCS-1V:8"
44+
- "SCS-2V:16"
45+
- "SCS-4V:32"
46+
- "SCS-1L:1"
47+
- id: flavor-name-completeness-check-v1-rec
48+
tags: [scs-0100-v1-rec]
49+
description: >
50+
All recommended standard flavors are present as described in
51+
<https://docs.scs.community/standards/scs-0100-v1-flavor-naming>
52+
type: flavor-name-presence-check
53+
data:
54+
names:
55+
- "SCS-1V:4:10"
56+
- "SCS-2V:8:20"
57+
- "SCS-4V:16:50"
58+
- "SCS-8V:32:100"
59+
- "SCS-1V:2:5"
60+
- "SCS-2V:4:10"
61+
- "SCS-4V:8:20"
62+
- "SCS-8V:16:50"
63+
- "SCS-16V:32:100"
64+
- "SCS-1V:8:20"
65+
- "SCS-2V:16:50"
66+
- "SCS-4V:32:100"
67+
- "SCS-1L:1:5"
68+
- id: flavor-name-completeness-check-v2
69+
tags: [scs-0100-v2, scs-0100-v3.0]
70+
description: >
71+
All required standard flavors are present as described in
72+
<https://docs.scs.community/standards/scs-0100-v2-flavor-naming>
73+
type: flavor-name-presence-check
74+
data:
75+
names:
76+
- SCS-1V-4
77+
- SCS-2V-8
78+
- SCS-4V-16
79+
- SCS-8V-32
80+
- SCS-1V-2
81+
- SCS-2V-4
82+
- SCS-4V-8
83+
- SCS-8V-16
84+
- SCS-16V-32
85+
- SCS-1V-8
86+
- SCS-2V-16
87+
- SCS-4V-32
88+
- SCS-1L-1
89+
- id: flavor-name-completeness-check-v2-rec
90+
tags: [scs-0100-v2-rec, scs-0100-v3.0-rec]
91+
description: >
92+
All recommended standard flavors are present as described in
93+
<https://docs.scs.community/standards/scs-0100-v2-flavor-naming>
94+
type: flavor-name-presence-check
95+
data:
96+
names:
97+
- SCS-1V-4-10
98+
- SCS-2V-8-20
99+
- SCS-4V-16-50
100+
- SCS-8V-32-100
101+
- SCS-1V-2-5
102+
- SCS-2V-4-10
103+
- SCS-4V-8-20
104+
- SCS-8V-16-50
105+
- SCS-16V-32-100
106+
- SCS-1V-8-20
107+
- SCS-2V-16-50
108+
- SCS-4V-32-100
109+
- SCS-1L-1-5
110+
- id: flavor-name-completeness-check-ssd
111+
tags: [scs-0100-v3.0]
112+
description: >
113+
All required flavors with local storage are present as mentioned in v3.0 of
114+
<https://docs.scs.community/standards/scs-0100-v3-flavor-naming>
115+
type: flavor-name-presence-check
116+
data:
117+
names:
118+
- SCS-2V-4-20s
119+
- SCS-4V-16-100s

0 commit comments

Comments
 (0)