Skip to content

Commit 1e2dadd

Browse files
Merge branch 'main' into feat/cluster-hardening-tests
2 parents 28fd928 + 6a43781 commit 1e2dadd

File tree

63 files changed

+2807
-898
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+2807
-898
lines changed

.github/scs-compliance-check/openstack/clouds.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,14 @@ clouds:
8989
auth:
9090
auth_url: https://identity.l1a.cloudandheat.com/v3
9191
application_credential_id: "7ab4e3339ea04255bc131868974cfe63"
92+
scaleup-occ2:
93+
auth_type: v3applicationcredential
94+
auth:
95+
auth_url: https://keystone.occ2.scaleup.cloud
96+
application_credential_id: "5d2eea4e8bf8448092490b4190d4430a"
97+
region_name: "RegionOne"
98+
interface: "public"
99+
identity_api_version: 3
92100
syseleven-dus2:
93101
interface: public
94102
identity_api_verion: 3
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: "Compliance IaaS v4 of scaleup-occ2"
2+
3+
on:
4+
# Trigger compliance check every day at 4:30 UTC
5+
schedule:
6+
- cron: '30 4 * * *'
7+
# Trigger compliance check after Docker image has been built
8+
workflow_run:
9+
workflows: [Build and publish scs-compliance-check Docker image]
10+
types:
11+
- completed
12+
# Allows you to run this workflow manually from the Actions tab
13+
workflow_dispatch:
14+
15+
jobs:
16+
check-scaleup-occ2:
17+
uses: ./.github/workflows/scs-compliance-check-with-application-credential.yml
18+
with:
19+
version: v4
20+
layer: iaas
21+
cloud: scaleup-occ2
22+
secret_name: OS_PASSWORD_SCALEUP_OCC2
23+
secrets: inherit

.github/workflows/lint-golang.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Check Go syntax
2+
3+
on:
4+
push:
5+
paths:
6+
- 'Tests/kaas/kaas-sonobuoy-tests/**/*.go'
7+
- .github/workflows/lint-go.yml
8+
9+
jobs:
10+
lint-go-syntax:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Set up Go
16+
uses: actions/setup-go@v4
17+
with:
18+
go-version: '1.23'
19+
20+
# Install golangci-lint
21+
- name: Install golangci-lint
22+
run: |
23+
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.61.0
24+
25+
# Run golangci-lint
26+
- name: Run golangci-lint
27+
working-directory: Tests/kaas/kaas-sonobuoy-tests
28+
run: golangci-lint run ./... -v

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
**/__pycache__/
22
.venv/
33
.idea
4+
.sandbox
45
.DS_Store
56
node_modules
67
Tests/kaas/results/

.markdownlint-cli2.jsonc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@
4343
{
4444
"name": "double-spaces",
4545
"message": "Avoid double spaces",
46-
"searchPattern": "/([^\\s>]) ([^\\s|])/g",
46+
"searchPattern": "/([^\\s>|]) ([^\\s|])/g",
4747
"replace": "$1 $2",
48-
"skipCode": true
48+
"skipCode": true,
49+
"tables": false
4950
}
5051
]
5152
}

.zuul.d/secure.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,28 @@
233233
VCsXjf0qBBMrzz6HP9z95Bk44fiJ3L/LkA3Iij961dYrQXbZKDrKOiX/QPwrcSrVmjmew
234234
UbPexJFHgvTCqjadoLejSt9cUd9lVzhuzLJ8CS+CcCMbZOno6qathrd2B88riQaPNIGNu
235235
gfkNT9R63ZzKB1qIA2n5RZi7SH9DPIUd0AwLMn2bhp3uok5pNAPP/4/1RkQiCA=
236+
scaleup_occ2_ac_id: !encrypted/pkcs1-oaep
237+
- N2duwkcMdOXw6wF0deE/0BPM1M/URt3eWmrnBJ89VHeCDENGfTfDHcWPYs3wW4rSRCG6t
238+
gqgNuA049OvOhL7rtjNHZ6yIj6xEHH/YdqT4UxjXPS9GFwoJXDtE8rIGjK3KU8GfUgKnG
239+
DLplyyzGzx5j39rJAS628InmC56aip47rO1J4HQE9Ku25Wb06R7ykx+0ZOWr0HXjV/VsV
240+
uwfyL+DPgewbL+4u8/XkcI0FwAM9/KkF/CcYUq5aVMdQS2foatTQW0C2idg+pffSTRaau
241+
VF44rkVfzsCOz4MYAFpLIaL9Zxx1FifaPOd0oi6rEFjGd6vFtFCHk1BRpKmOITLyx3Te5
242+
zVffSkQAsqpn/4er8800bjQzxXvqmQmR0QwPM7dhvRnrNbTSCA/Awm5BPaUgeCZFN3MPN
243+
Mc0XIaEwjuJvDK6fqj5tJrVIs5bxAmqRDj8d76AlJcOdDxHicTHgR3aUG4AKOWkUsskgQ
244+
3xR8lPh31O/HgzG9tq6o/DCPA1O9wyyOyT7KwJAaRASPCA1O80ZAzhZUNUVyut6dYEwaS
245+
QXP4IaEJOxP8EkxR7FDEuO99UFZ7TXQ1CF7ots4wIs5tEpQvcdLnvBjJckp0fNBFTuGMm
246+
FCvhgBK30NC93U4DxQv6xZBhqtvHYjHcTOXvz2fryRJT2teMN+eI+RDdV1Jj8Y=
247+
scaleup_occ2_ac_secret: !encrypted/pkcs1-oaep
248+
- LfUHhslK41JDp3CpslWGGA4bZ3udZh4KnytcXohkdbchb8QVt8eNc4nD0ti0/XS18YKwq
249+
DlHOWw2rDJZ8RGIXENVUYzDbECoBErE8IAqQE0q3oS/8Oq0NYOFTGvvlKuue7U4s87Pwi
250+
YFi+Q0Rv7vO8cWFVtbRHK+Hw6pC42Biq2T+tuVBCLqylIMViXpuEy9UpFLEv59zr6EHa9
251+
uB3xkjnpWuabe7vrG+LQHc0pJ5tNhcLiOnJggU5Ef02FBy+t6xvuJW8f6cXCnRRj1q0fl
252+
D/vTmC7avwHnWC+J4WLL69HCwW05I7iHftVSWOXQgRzMBd4D4ND2OXfsWElu0eOV5XG6X
253+
JsQH8lDnVN/lqaDAOYR4fk4+9yt3RURwvNL5FUnDK1t7LAI4X0gcvLrQAfzgOlpBYDXSK
254+
0kbUzqwivuw1v2zO/gxQU+J28PsOfZaKf/7ZZyj3e/tiq4wBpvPb0mVBwWXigKqzr+QED
255+
Iy2u/g3x2qdcTpXR/RPq+xiXM2B2rw1V5gdkscdL+avXtTF7hT9HrcayHx3HDZ/h6aGPD
256+
RWIJ8bstl+x2Q4zExgR13amWM8ZR1iLGCN20U/ZAaqANCqjDbrSVSTjTPzYtNFwAXwxkB
257+
3NHhPDHZ1MIdr6IJE4IZ4TCMsIeTA2UHNfF4RCzeDSIJ+CXOQxUFWOxZkf97WY=
236258
syseleven_dus2_ac_id: !encrypted/pkcs1-oaep
237259
- SjwtIvJO7DkLJDmS+T/Z5utFBa22hmPRBd8mzonJHGgURB2W7fmXFreD9NPrLfbt7ujKi
238260
KNqJm8k1Vr1F3Mu+Osr0BWSnq5makwVt2ikBY4qPbL8iyVXsByaT/HNPLCOokqy+REpfu

README.md

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,10 @@
1-
<!-- markdownlint-disable -->
21
# Sovereign Cloud Stack – Standards and Certification
32

43
SCS unifies the best of cloud computing in a certified standard. With a decentralized and federated cloud stack, SCS puts users in control of their data and fosters trust in clouds, backed by a global open-source community.
54

65
## SCS compatible clouds
76

8-
This is a list of clouds that we test on a nightly basis against our `scs-compatible` certification level.
9-
10-
| Name | Description | Operator | _SCS-compatible IaaS_ Compliance | HealthMon |
11-
| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | ----------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------: |
12-
| [gx-scs](https://github.com/SovereignCloudStack/docs/blob/main/community/cloud-resources/plusserver-gx-scs.md) | Dev environment provided for SCS & GAIA-X context | plusserver GmbH | [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-gx-scs-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-gx-scs-v4.yml) | [HM](https://health.gx-scs.sovereignit.cloud:3000/) |
13-
| [pluscloud open](https://www.plusserver.com/en/products/pluscloud-open)<br />- prod1<br />- prod2<br />- prod3<br />- prod4 | Public cloud for customers (4 regions) | plusserver GmbH | &nbsp;<br />- prod1 [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod1-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-pco-prod1-v4.yml)<br />- prod2 [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod2-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-pco-prod2-v4.yml)<br />- prod3 [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod3-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-pco-prod3-v4.yml)<br />- prod4 [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod4-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-pco-prod4-v4.yml) | &nbsp;<br />[HM1](https://health.prod1.plusserver.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?orgId=1&var-mycloud=plus-pco)<br />[HM2](https://health.prod1.plusserver.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?orgId=1&var-mycloud=plus-prod2)<br />[HM3](https://health.prod1.plusserver.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?orgId=1&var-mycloud=plus-prod3)<br />[HM4](https://health.prod1.plusserver.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?orgId=1&var-mycloud=plus-prod4) |
14-
| [Wavestack](https://www.noris.de/wavestack-cloud/) | Public cloud for customers | noris network AG/Wavecon GmbH | [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-wavestack-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-wavestack-v4.yml) | [HM](https://health.wavestack1.sovereignit.cloud:3000/) |
15-
| [REGIO.cloud](https://regio.digital) | Public cloud for customers | OSISM GmbH | [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-regio-a-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-regio-a-v4.yml) | broken <!--[HM](https://apimon.services.regio.digital/public-dashboards/17cf094a47404398a5b8e35a4a3968d4?orgId=1&refresh=5m)--> |
16-
| [CNDS](https://cnds.io/) | Public cloud for customers | artcodix GmbH | [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-artcodix-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-artcodix-v4.yml) | [HM](https://ohm.muc.cloud.cnds.io/) |
17-
| [aov.cloud](https://www.aov.de/) | Community cloud for customers | aov IT.Services GmbH | (soon) | [HM](https://health.aov.cloud/) |
18-
| PoC WG-Cloud OSBA | Cloud PoC for FITKO (yaook-based) | Cloud&amp;Heat Technologies GmbH | [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-poc-wgcloud-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-poc-wgcloud-v4.yml) | [HM](https://health.poc-wgcloud.osba.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?var-mycloud=poc-wgcloud&orgId=1) |
19-
| PoC KDO | Cloud PoC for FITKO | KDO Service GmbH / OSISM GmbH | [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-poc-kdo-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-poc-kdo-v4.yml) | (soon) |
20-
| [syseleven](https://www.syseleven.de/en/products-services/openstack-cloud/)<br />- dus2<br />- ham1 | Public OpenStack Cloud (2 SCS regions) | SysEleven GmbH | &nbsp;<br />- dus2 [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-syseleven-dus2-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-syseleven-dus2-v4.yml)<br />- ham1 [![Compliance Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-syseleven-ham1-v4.yml?label=v4)](https://github.com/SovereignCloudStack/standards/actions/workflows/check-syseleven-ham1-v4.yml) | &nbsp;<br />(soon)<br />(soon) |
7+
See [Compliant clouds overview](https://docs.scs.community/standards/certification/overview) on our docs page.
218

229
## SCS standards overview
2310

Standards/scs-0100-v3-flavor-naming.md

Lines changed: 35 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ description: |
1414

1515
## Introduction
1616

17-
This is the standard v3.1 for SCS Release 5.
17+
This is the standard v3.2 for SCS Release 8.
1818
Note that we intend to only extend it (so it's always backwards compatible),
1919
but try to avoid changing in incompatible ways.
2020
(See at the end for the v1 to v2 transition where we have not met that
@@ -417,15 +417,17 @@ is more significant.
417417

418418
### [OPTIONAL] GPU support
419419

420-
Format: `_`\[`G/g`\]X\[N\]\[`-`M\]\[`h`\]
420+
Format: `_`\[`G/g`\]X\[N\[`-`M\[`h`\]\[`-`V\[`h`\]\]\]\]
421421

422422
This extension provides more details on the specific GPU:
423423

424424
- pass-through (`G`) vs. virtual GPU (`g`)
425425
- vendor (X)
426426
- generation (N)
427427
- number (M) of processing units that are exposed (for pass-through) or assigned; see table below for vendor-specific terminology
428-
- high-performance indicator (`h`)
428+
- high-frequency indicator (`h`) for compute units
429+
- amount of video memory (V) in GiB
430+
- an indicator for high-bandwidth memory
429431

430432
Note that the vendor letter X is mandatory, generation and processing units are optional.
431433

@@ -440,13 +442,29 @@ for AMD GCN-x=0.x, RDNA1=1, C/RDNA2=2, C/RDNA3=3, C/RDNA3.5=3.5, C/RDNA4=4, ...
440442
for Intel Gen9=0.9, Xe(12.1/DG1)=1, Xe(12.2)=2, Arc(12.7/DG2)=3 ...
441443
(Note: This may need further work to properly reflect what's out there.)
442444

443-
The optional `h` suffix to the compute unit count indicates high-performance (e.g. high freq or special
444-
high bandwidth gfx memory such as HBM);
445-
`h` can be duplicated for even higher performance.
445+
The optional `h` suffix to the compute unit count indicates high-frequency GPU compute units.
446+
It is not normally recommended to use it except if there are several variants of cards within
447+
a generation of GPUs and with similar number of SMs/CUs/EUs.
448+
In case there are even more than two variants, the letter `h` can be duplicated for even
449+
higher frquencies.
446450

447-
Example: `SCS-16V-64-500s_GNa-14h`
448-
This flavor has a pass-through GPU nVidia Ampere with 14 SMs and either high-bandwidth memory or specially high frequencies.
449-
Looking through GPU specs you could guess it's 1/4 of an A30.
451+
Please note that there are GPUs from one generation and vendor that have vastly different sizes
452+
(or different fractions are being passed to an instance with multi-instance-GPUs). The number
453+
M allows to differentiate between them and have an indicator of the compute capability and
454+
parallelism. M can not at all be compared between different generations let alone different
455+
vendors.
456+
457+
The amount of video memory dedicated to the instance can be indicated by V (in binary
458+
Gigabytes). This number needs to be an integer - fractional memory sizes must be rounded
459+
down. An optional `h` can be used to indicate high bandwidth memory (such as HBM2+) with
460+
bandwidths well above 1GiB/s.
461+
462+
Example: `SCS-16V-64-500s_GNa-14-6h`
463+
This flavor has a pass-through GPU nVidia Ampere with 14 SMs and 6 GiB of high-bandwidth video
464+
memory. Looking through GPU specs you could guess it's 1/4 of an A30.
465+
466+
We have a table with common GPUs in the
467+
[implementation hints for this standard](scs-0100-w1-flavor-naming-implementation-testing.md)
450468

451469
### [OPTIONAL] Infiniband
452470

@@ -490,14 +508,14 @@ an image is considered broken by the SCS team.
490508

491509
## Proposal Examples
492510

493-
| Example | Decoding |
494-
| ------------------------- | ---------------------------------------------------------------------------------------------- |
495-
| SCS-2C-4-10n | 2 dedicated cores (x86-64), 4GiB RAM, 10GB network disk |
496-
| SCS-8Ti-32-50p_i1 | 8 dedicated hyperthreads (insecure), Skylake, 32GiB RAM, 50GB local NVMe |
497-
| SCS-1L-1u-5 | 1 vCPU (heavily oversubscribed), 1GiB Ram (no ECC), 5GB disk (unspecific) |
498-
| SCS-16T-64-200s_GNa-64_ib | 16 dedicated threads, 64GiB RAM, 200GB local SSD, Infiniband, 64 Passthrough nVidia Ampere SMs |
499-
| SCS-4C-16-2x200p_a1 | 4 dedicated Arm64 cores (A76 class), 16GiB RAM, 2x200GB local NVMe drives |
500-
| SCS-1V-0.5 | 1 vCPU, 0.5GiB RAM, no disk (boot from cinder volume) |
511+
| Example | Decoding |
512+
| ------------------------------ | ---------------------------------------------------------------------------------------------- |
513+
| `SCS-2C-4-10n` | 2 dedicated cores (x86-64), 4GiB RAM, 10GB network disk |
514+
| `SCS-8Ti-32-50p_i1` | 8 dedicated hyperthreads (insecure), Skylake, 32GiB RAM, 50GB local NVMe |
515+
| `SCS-1L-1u-5` | 1 vCPU (heavily oversubscribed), 1GiB Ram (no ECC), 5GB disk (unspecific) |
516+
| `SCS-16T-64-200s_GNa-72-24_ib` | 16 dedicated threads, 64GiB RAM, 200GB local SSD, Infiniband, 72 Passthrough nVidia Ampere SMs |
517+
| `SCS-4C-16-2x200p_a1` | 4 dedicated Arm64 cores (A76 class), 16GiB RAM, 2x200GB local NVMe drives |
518+
| `SCS-1V-0.5` | 1 vCPU, 0.5GiB RAM, no disk (boot from cinder volume) |
501519

502520
## Previous standard versions
503521

0 commit comments

Comments
 (0)