Skip to content

Commit

Permalink
Merge branch 'main' into mandatory-and-supported-IaaS-services
Browse files Browse the repository at this point in the history
  • Loading branch information
josephineSei authored May 17, 2024
2 parents a41397d + 0eea8b2 commit 5fa9e8e
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 6 deletions.
9 changes: 9 additions & 0 deletions .github/scs-compliance-check/openstack/clouds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,12 @@ clouds:
auth_url: https://api.dc1.muc.cloud.cnds.io:5000/
application_credential_id: "f3102a98821641c19d8ea762dc64b0b0"
#project_id: 225a7363dab74b69aa1e3f744aced109
poc-wgcloud:
interface: public
identity_api_verion: 3
auth_type: "v3applicationcredential"
#region_name: default
auth:
auth_url: https://identity.l1.cloudandheat.com/v3
application_credential_id: "b4844a0fb23247149997bf0ff2c0b156"
#project_id: 9adb8fc81ba345178654cee5cb7f1464
23 changes: 23 additions & 0 deletions .github/workflows/check-poc-wgcloud-v3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "Compliance IaaS v4 of poc-wgcloud.osba"

on:
# Trigger compliance check every day at 4:12 UTC
schedule:
- cron: '12 4 * * *'
# Trigger compliance check after Docker image has been built
workflow_run:
workflows: [Build and publish scs-compliance-check Docker image]
types:
- completed
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
check-poc-wgcloud:
uses: ./.github/workflows/scs-compliance-check-with-application-credential.yml
with:
version: v3
layer: iaas
cloud: "poc-wgcloud"
secret_name: "OS_PASSWORD_POC_WGCLOUD"
secrets: inherit
23 changes: 23 additions & 0 deletions .github/workflows/check-poc-wgcloud-v4.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "Compliance IaaS v4 of poc-wgcloud.osba"

on:
# Trigger compliance check every day at 4:22 UTC
schedule:
- cron: '22 4 * * *'
# Trigger compliance check after Docker image has been built
workflow_run:
workflows: [Build and publish scs-compliance-check Docker image]
types:
- completed
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
check-poc-wgcloud:
uses: ./.github/workflows/scs-compliance-check-with-application-credential.yml
with:
version: v4
layer: iaas
cloud: "poc-wgcloud"
secret_name: "OS_PASSWORD_POC_WGCLOUD"
secrets: inherit
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!-- markdownlint-disable -->
# Sovereign Cloud Stack – Standards and Certification

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.
Expand All @@ -9,14 +10,12 @@ This is a list of clouds that we test on a nightly basis against our `scs-compat
| Name | Description | Operator | IaaS Compliance Check | HealthMon |
| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | ----------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------: |
| [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 | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-gx-scs-v2.yml?label=compliant) | [HM](https://health.gx-scs.sovereignit.cloud:3000/) |
| [pluscloud open - prod1](https://www.plusserver.com/en/products/pluscloud-open) | Public cloud for customers | plusserver GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod1-v2.yml?label=compliant) | [HM](https://health.prod1.plusserver.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?orgId=1&var-mycloud=plus-pco) |
| [pluscloud open - prod2](https://www.plusserver.com/en/products/pluscloud-open) | Public cloud for customers | plusserver GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod2-v2.yml?label=compliant) | [HM](https://health.prod1.plusserver.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?orgId=1&var-mycloud=plus-prod2) |
| [pluscloud open - prod3](https://www.plusserver.com/en/products/pluscloud-open) | Public cloud for customers | plusserver GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod3-v2.yml?label=compliant) | [HM](https://health.prod1.plusserver.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?orgId=1&var-mycloud=plus-prod3) |
| [pluscloud open - prod4](https://www.plusserver.com/en/products/pluscloud-open) | Public cloud for customers | plusserver GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod4-v2.yml?label=compliant) | [HM](https://health.prod1.plusserver.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?orgId=1&var-mycloud=plus-prod4) |
| [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 />![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod1-v2.yml?label=compliant)<br />![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod2-v2.yml?label=compliant)<br />![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod3-v2.yml?label=compliant)<br />![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-pco-prod4-v2.yml?label=compliant) | &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) |
| [Wavestack](https://www.noris.de/wavestack-cloud/) | Public cloud for customers | noris network AG/Wavecon GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-wavestack-v3.yml?label=compliant) | [HM](https://health.wavestack1.sovereignit.cloud:3000/) |
| [REGIO.cloud](https://regio.digital) | Public cloud for customers | OSISM GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-regio-a-v3.yml?label=compliant) | [HM](https://apimon.services.regio.digital/public-dashboards/17cf094a47404398a5b8e35a4a3968d4?orgId=1&refresh=5m) |
| [REGIO.cloud](https://regio.digital) | Public cloud for customers | OSISM GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-regio-a-v3.yml?label=compliant) | broken <!--[HM](https://apimon.services.regio.digital/public-dashboards/17cf094a47404398a5b8e35a4a3968d4?orgId=1&refresh=5m)--> |
| [CNDS](https://cnds.io/) | Public cloud for customers | [artcodix UG](https://artcodix.com/) | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-artcodix-v3.yml?label=compliant) | [HM](https://ohm.muc.cloud.cnds.io/) |
| [aov.cloud](https://aov.de/) | Community cloud for customers | aov IT.Services GmbH | (soon) | [HM](https://health.aov.cloud/) |
| PoC WG-Cloud OSBA | Cloud PoC for FITKO | Cloud&amp;Heat Technologies GmbH | ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/SovereignCloudStack/standards/check-poc-wgcloud-v3.yml?label=compliant) | [HM](https://health.poc-wgcloud.osba.sovereignit.cloud:3000/d/9ltTEmlnk/openstack-health-monitor2?var-mycloud=poc-wgcloud&orgId=1) |

## SCS standards overview

Expand Down
2 changes: 1 addition & 1 deletion Tests/iaas/entropy/entropy-check.py
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ def create_vm(env, all_flavors, image, server_name=SERVER_NAME):
)
server = env.conn.create_server(
server_name, image=image, flavor=flavor, key_name=env.keypair.name, network=env.network,
security_groups=[env.sec_group.id], userdata=userdata, wait=True, timeout=360, auto_ip=True,
security_groups=[env.sec_group.id], userdata=userdata, wait=True, timeout=500, auto_ip=True,
boot_from_volume=True, terminate_volume=True, volume_size=image.min_disk,
)
logger.debug(f"Server '{server_name}' ('{server.id}') has been created")
Expand Down
10 changes: 10 additions & 0 deletions Tests/iaas/flavor-naming/flavor_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,11 @@ class CPUBrand:
})
perf = TblAttr("Performance", {"": "Std Perf", "h": "High Perf", "hh": "Very High Perf", "hhh": "Very Very High Perf"})

def __init__(self, cpuvendor="i", cpugen=0, perf=""):
self.cpuvendor = cpuvendor
self.cpugen = cpugen
self.perf = perf


class GPU:
"""Class repesenting GPU support"""
Expand Down Expand Up @@ -234,6 +239,11 @@ def shorten(self):
"""return canonically shortened name as recommended in the standard"""
if self.hype is None and self.hwvirt is None and self.cpubrand is None:
return self
# For non-x86-64, don't strip out CPU brand for short name, as it contains the architecture
if self.cpubrand and self.cpubrand.cpuvendor not in ('i', 'z'):
return Flavorname(cpuram=self.cpuram, disk=self.disk,
cpubrand=CPUBrand(self.cpubrand.cpuvendor),
gpu=self.gpu, ib=self.ib)
return Flavorname(cpuram=self.cpuram, disk=self.disk, gpu=self.gpu, ib=self.ib)


Expand Down

0 comments on commit 5fa9e8e

Please sign in to comment.