Skip to content

Commit 0b34594

Browse files
authored
Merge pull request #1910 from martin-mat/workload_tc_adapt
Workload tests adapted to centralized result logging
2 parents aa79990 + ada72ee commit 0b34594

12 files changed

+490
-874
lines changed

embedded_files/points.yml

+63-6
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,34 @@
88
neutral: 0
99

1010
- name: reasonable_image_size
11+
emoji: "⚖👀"
1112
tags: [microservice, dynamic, workload, cert, normal]
1213
- name: specialized_init_system
14+
emoji: "🚀"
1315
tags: [microservice, dynamic, workload]
1416
- name: reasonable_startup_time
1517
tags: [microservice, dynamic, workload, cert, normal]
16-
- name: single_process_type
18+
- name: single_process_type
19+
emoji: "⚖👀"
1720
tags: [microservice, dynamic, workload, essential, cert]
1821
pass: 100
22+
- name: zombie_handled
23+
emoji: "⚖👀"
24+
tags: [microservice, dynamic, workload, normal]
1925
- name: service_discovery
26+
emoji: "⚖👀"
2027
tags: [microservice, dynamic, workload, cert, bonus]
2128
pass: 1
2229
fail: 0
2330
- name: shared_database
31+
emoji: "💾"
2432
tags: [microservice, dynamic, workload, cert, normal]
25-
- name: sig_term_handled
33+
- name: sig_term_handled
34+
emoji: "⚖👀"
2635
tags: [microservice, dynamic, workload, normal]
2736

2837
- name: cni_compatible
38+
emoji: "🔓🔑"
2939
tags: [compatibility, dynamic, workload, cert, normal]
3040
# - name: cni_spec
3141
# tags: compatibility, dynamic
@@ -41,23 +51,29 @@
4151
#- name: check_reaped
4252
# tags: state, dynamic, configuration
4353

44-
- name: privileged
54+
- name: privileged
55+
emoji: "🔓🔑"
4556
tags: [security, dynamic, workload]
4657
# required: true
47-
- name: privilege_escalation
58+
- name: privilege_escalation
59+
emoji: "🔓🔑"
4860
tags: [security, dynamic, workload, cert, normal]
4961
- name: symlink_file_system
62+
emoji: "🔓🔑"
5063
tags: [security, dynamic, workload, cert, normal]
5164
- name: application_credentials
65+
emoji: "🔓🔑"
5266
tags: [security, dynamic, workload, cert, normal]
5367
- name: host_network
68+
emoji: "🔓🔑"
5469
tags: [security, dynamic, workload, cert, normal]
5570
#- name: shells
5671
# tags: security, dynamic
5772
#- name: protected_access
5873
# tags: security, dynamic
5974

60-
- name: increase_decrease_capacity
75+
- name: increase_decrease_capacity
76+
emoji: "📦📈📉"
6177
tags: [compatibility, dynamic, workload, essential, cert]
6278
pass: 100
6379
#- name: small_autoscaling
@@ -67,28 +83,36 @@
6783
# - name: network_chaos
6884
# tags: resilience, dynamic, workload
6985
- name: pod_network_latency
86+
emoji: "🗡️💀♻"
7087
tags: [resilience, dynamic, workload, cert, bonus]
7188
pass: 1
7289
fail: 0
7390
- name: pod_network_corruption
91+
emoji: "🗡️💀♻"
7492
tags: [resilience, dynamic, workload, cert, bonus]
7593
pass: 1
7694
fail: 0
7795
- name: pod_network_duplication
96+
emoji: "🗡️💀♻"
7897
tags: [resilience, dynamic, workload, cert, bonus]
7998
pass: 1
8099
fail: 0
81100
- name: pod_delete
101+
emoji: "🗡️💀♻"
82102
tags: [resilience, dynamic, workload, cert, normal]
83103
- name: pod_io_stress
104+
emoji: "🗡️💀♻"
84105
tags: [resilience, dynamic, workload, cert, bonus]
85106
pass: 1
86107
fail: 0
87108
- name: pod_memory_hog
109+
emoji: "🗡️💀♻"
88110
tags: [resilience, dynamic, workload, cert, normal]
89111
- name: disk_fill
112+
emoji: "🗡️💀♻"
90113
tags: [resilience, dynamic, workload, cert, normal]
91114
- name: pod_dns_error
115+
emoji: "🗡️💀♻"
92116
tags: [resilience, dynamic, workload, cert, bonus]
93117
pass: 1
94118
fail: 0
@@ -98,17 +122,22 @@
98122
#- name: versioned_helm_chart
99123
# tags: configuration, dynamic, workload
100124
- name: versioned_tag
125+
emoji: "🏷️"
101126
tags: [configuration, dynamic, workload]
102127
- name: ip_addresses
128+
emoji: "📶🏃⏲️"
103129
pass: 0
104130
fail: -1
105131
tags: [configuration, static, workload]
106132
- name: operator_installed
133+
emoji: "⚖️👀"
107134
tags: [configuration, dynamic, workload, cert, bonus]
108135
- name: liveness
136+
emoji: "⎈🧫"
109137
tags: [resilience, dynamic, workload, essential, cert]
110138
pass: 100
111139
- name: readiness
140+
emoji: "⎈🧫"
112141
tags: [resilience, dynamic, workload, essential, cert]
113142
pass: 100
114143
#- name: no_volume_with_configuration
@@ -130,10 +159,12 @@
130159
tags: [configuration, dynamic, workload, essential, cert]
131160
pass: 100
132161
- name: secrets_used
162+
emoji: "🧫"
133163
tags: [configuration, dynamic, workload, cert, bonus]
134164
pass: 1
135165
fail: 0
136166
- name: immutable_configmap
167+
emoji: "⚖️"
137168
tags: [configuration, dynamic, workload, cert, bonus]
138169
pass: 1
139170
fail: 0
@@ -150,10 +181,13 @@
150181
# tags: observability, dynamic, workload
151182

152183
- name: helm_deploy
184+
emoji: "⚙🛠️⬆☁"
153185
tags: [compatibility, dynamic, workload, cert, normal]
154186
- name: helm_chart_valid
187+
emoji: "⎈📝☑"
155188
tags: [compatibility, dynamic, workload, cert, normal]
156189
- name: helm_chart_published
190+
emoji: "⎈📦🌐"
157191
tags: [compatibility, dynamic, workload, cert, normal]
158192

159193
# - name: chaos_network_loss
@@ -164,21 +198,26 @@
164198
# tags: resilience, dynamic, workload
165199

166200
- name: volume_hostpath_not_found
201+
emoji: "💾"
167202
tags: [state, dynamic, workload]
168203
- name: no_local_volume_configuration
204+
emoji: "💾"
169205
tags: [state, dynamic, workload, cert, bonus]
170206
pass: 1
171207
fail: 0
172-
- name: elastic_volumes
208+
- name: elastic_volumes
209+
emoji: "🧫"
173210
tags: [state, dynamic, workload, cert, bonus]
174211
pass: 1
175212
fail: 0
176213
- name: database_persistence
214+
emoji: "🧫"
177215
tags: [state, dynamic, workload]
178216
pass5: 5
179217
pass3: 3
180218
fail: -1
181219
- name: node_drain
220+
emoji: "🗡️💀♻"
182221
tags: [state, dynamic, workload, essential, cert]
183222
pass: 100
184223

@@ -207,46 +246,57 @@
207246
tags: ["platform", "platform:security", "dynamic"]
208247

209248
- name: service_account_mapping
249+
emoji: "🔓🔑"
210250
tags: [security, dynamic, workload, cert, normal]
211251

212252
- name: privileged_containers
253+
emoji: "🔓🔑"
213254
tags: [security, dynamic, workload, essential, cert]
214255
pass: 100
215256

216257
- name: non_root_containers
258+
emoji: "🔓🔑"
217259
tags: [security, dynamic, workload, essential, cert]
218260
pass: 100
219261

220262
- name: host_pid_ipc_privileges
263+
emoji: "🔓🔑"
221264
tags: [security, dynamic, workload, cert, normal]
222265

223266
- name: linux_hardening
267+
emoji: "🔓🔑"
224268
tags: [security, dynamic, workload, cert, bonus]
225269
pass: 1
226270
fail: 0
227271

228272
- name: resource_policies
273+
emoji: "🔓🔑"
229274
tags: [security, dynamic, workload, cert, essential]
230275
pass: 100
231276

232277
- name: immutable_file_systems
278+
emoji: "🔓🔑"
233279
tags: [security, dynamic, workload, cert, bonus]
234280
pass: 1
235281
fail: 0
236282

237283
- name: hostpath_mounts
284+
emoji: "🔓🔑"
238285
tags: [security, dynamic, workload, essential, cert]
239286
pass: 100
240287

241288
- name: ingress_egress_blocked
289+
emoji: "🔓🔑"
242290
tags: [security, dynamic, workload, cert, bonus]
243291
pass: 1
244292
fail: 0
245293

246294
- name: insecure_capabilities
295+
emoji: "🔓🔑"
247296
tags: [security, dynamic, workload, cert, normal]
248297

249298
- name: sysctls
299+
emoji: "🔓🔑"
250300
tags: [security, dynamic, workload, cert, normal]
251301

252302
- name: log_output
@@ -274,29 +324,36 @@
274324
pass: 1
275325
fail: 0
276326
- name: alpha_k8s_apis
327+
emoji: "⭕🔍"
277328
tags: [configuration, dynamic, workload]
278329

279330
- name: container_sock_mounts
331+
emoji: "🔓🔑"
280332
tags: [security, dynamic, workload, essential, cert]
281333
pass: 100
282334

283335
- name: require_labels
336+
emoji: "🏷️"
284337
tags: [configuration, dynamic, workload, cert, normal]
285338

286339
- name: helm_tiller
287340
tags: ["platform", "platform:security", "dynamic"]
288341

289342
- name: external_ips
343+
emoji: "🔓🔑"
290344
tags: [security, dynamic, workload, cert, normal]
291345

292346
- name: selinux_options
347+
emoji: "🔓🔑"
293348
tags: [security, dynamic, workload, essential, cert]
294349
pass: 100
295350

296351
- name: default_namespace
352+
emoji: "🏷️"
297353
tags: [configuration, dynamic, workload, cert, normal]
298354

299355
- name: latest_tag
356+
emoji: "🏷️"
300357
tags: [configuration, dynamic, workload, essential, cert]
301358
pass: 100
302359

spec/utils/cnf_manager_spec.cr

+6-6
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ describe "SampleUtils" do
146146

147147
it "'CNFManager::Points.all_task_test_names' should return all tasks names", tags: ["points"] do
148148
CNFManager::Points.clean_results_yml
149-
tags = ["alpha_k8s_apis", "application_credentials", "cni_compatible", "container_sock_mounts", "database_persistence", "default_namespace", "disk_fill", "elastic_volumes", "external_ips", "hardcoded_ip_addresses_in_k8s_runtime_configuration", "helm_chart_published", "helm_chart_valid", "helm_deploy", "host_network", "host_pid_ipc_privileges", "hostpath_mounts", "hostport_not_used", "immutable_configmap", "immutable_file_systems", "increase_decrease_capacity", "ingress_egress_blocked", "insecure_capabilities", "ip_addresses", "latest_tag", "linux_hardening", "liveness", "log_output", "no_local_volume_configuration", "node_drain", "nodeport_not_used", "non_root_containers", "open_metrics", "operator_installed", "oran_e2_connection", "pod_delete", "pod_dns_error", "pod_io_stress", "pod_memory_hog", "pod_network_corruption", "pod_network_duplication", "pod_network_latency", "privilege_escalation", "privileged", "privileged_containers", "prometheus_traffic", "readiness", "reasonable_image_size", "reasonable_startup_time", "require_labels", "resource_policies", "rollback", "rolling_downgrade", "rolling_update", "rolling_version_change", "routed_logs", "secrets_used", "selinux_options", "service_account_mapping", "service_discovery", "shared_database", "sig_term_handled", "single_process_type", "smf_upf_heartbeat", "specialized_init_system", "suci_enabled", "symlink_file_system", "sysctls", "tracing", "versioned_tag", "volume_hostpath_not_found"]
149+
tags = ["alpha_k8s_apis", "application_credentials", "cni_compatible", "container_sock_mounts", "database_persistence", "default_namespace", "disk_fill", "elastic_volumes", "external_ips", "hardcoded_ip_addresses_in_k8s_runtime_configuration", "helm_chart_published", "helm_chart_valid", "helm_deploy", "host_network", "host_pid_ipc_privileges", "hostpath_mounts", "hostport_not_used", "immutable_configmap", "immutable_file_systems", "increase_decrease_capacity", "ingress_egress_blocked", "insecure_capabilities", "ip_addresses", "latest_tag", "linux_hardening", "liveness", "log_output", "no_local_volume_configuration", "node_drain", "nodeport_not_used", "non_root_containers", "open_metrics", "operator_installed", "oran_e2_connection", "pod_delete", "pod_dns_error", "pod_io_stress", "pod_memory_hog", "pod_network_corruption", "pod_network_duplication", "pod_network_latency", "privilege_escalation", "privileged", "privileged_containers", "prometheus_traffic", "readiness", "reasonable_image_size", "reasonable_startup_time", "require_labels", "resource_policies", "rollback", "rolling_downgrade", "rolling_update", "rolling_version_change", "routed_logs", "secrets_used", "selinux_options", "service_account_mapping", "service_discovery", "shared_database", "sig_term_handled", "single_process_type", "smf_upf_heartbeat", "specialized_init_system", "suci_enabled", "symlink_file_system", "sysctls", "tracing", "versioned_tag", "volume_hostpath_not_found", "zombie_handled"]
150150
(CNFManager::Points.all_task_test_names()).sort.should eq(tags.sort)
151151
end
152152

@@ -349,7 +349,7 @@ describe "SampleUtils" do
349349
it "'CNFManager.validate_cnf_testsuite_yml' (command) should pass, when a cnf has a valid config file yml", tags: ["validate_config"] do
350350
response_s = `./cnf-testsuite validate_config cnf-config=sample-cnfs/sample-coredns-cnf/cnf-testsuite.yml`
351351
$?.success?.should be_true
352-
(/PASSED: CNF configuration validated/ =~ response_s).should_not be_nil
352+
(/CNF configuration validated/ =~ response_s).should_not be_nil
353353
end
354354

355355

@@ -375,7 +375,7 @@ describe "SampleUtils" do
375375
LOGGING.debug "validate_config resp: #{response_s}"
376376
# (/WARNING: Unmapped cnf_testsuite.yml keys. Please add them to the validator/ =~ response_s).should_not be_nil
377377
# (/WARNING: helm_repository is unset or has unmapped subkeys. Please update your cnf_testsuite.yml/ =~ response_s).should_not be_nil
378-
(/PASSED: CNF configuration validated/ =~ response_s).should_not be_nil
378+
(/CNF configuration validated/ =~ response_s).should_not be_nil
379379
end
380380

381381

@@ -387,7 +387,7 @@ describe "SampleUtils" do
387387
testsuite_yml = "sample-cnfs/#{dir}/cnf-testsuite.yml"
388388
response_s = `./cnf-testsuite validate_config cnf-config=#{testsuite_yml}`
389389
Log.info { "\n #{testsuite_yml}: #{response_s}" }
390-
(/PASSED: CNF configuration validated/ =~ response_s).should_not be_nil
390+
(/CNF configuration validated/ =~ response_s).should_not be_nil
391391
end
392392
end
393393

@@ -398,10 +398,10 @@ describe "SampleUtils" do
398398
dir_list.each do |dir|
399399
testsuite_yml = "example-cnfs/#{dir}/cnf-testsuite.yml"
400400
response_s = `./cnf-testsuite validate_config cnf-config=#{testsuite_yml}`
401-
if (/FAILED: Critical Error with CNF Configuration. Please review USAGE.md for steps to set up a valid CNF configuration file/ =~ response_s)
401+
if (/Critical Error with CNF Configuration. Please review USAGE.md for steps to set up a valid CNF configuration file/ =~ response_s)
402402
LOGGING.info "\n #{testsuite_yml}: #{response_s}"
403403
end
404-
(/PASSED: CNF configuration validated/ =~ response_s).should_not be_nil
404+
(/CNF configuration validated/ =~ response_s).should_not be_nil
405405
end
406406
end
407407

spec/workload/operator_spec.cr

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ describe "Operator" do
8585
$?.success?.should be_true
8686
resp = `./cnf-testsuite -l info operator_installed`
8787
Log.info { "#{resp}" }
88-
(/NA: No Operators Found/ =~ resp).should_not be_nil
88+
(/N\/A: No Operators Found/ =~ resp).should_not be_nil
8989
ensure
9090
LOGGING.info `./cnf-testsuite cnf_cleanup cnf-path=sample-cnfs/sample_coredns`
9191
$?.success?.should be_true

src/tasks/utils/points.cr

+1-1
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ module CNFManager
556556
Log.debug { "task #{task} emoji: #{md["emoji"]?}" }
557557
resp = md["emoji"]
558558
else
559-
resp = [] of String
559+
resp = ""
560560
end
561561
end
562562

0 commit comments

Comments
 (0)