Skip to content

Commit

Permalink
Merge pull request #24 from plusserver/pco-refactor
Browse files Browse the repository at this point in the history
PCO-1043: Added Local SSD Storage. Refactoring
  • Loading branch information
neuroserve authored Feb 9, 2024
2 parents 2ee0fc1 + 32c40c3 commit 731a2d3
Show file tree
Hide file tree
Showing 31 changed files with 337 additions and 118 deletions.
8 changes: 4 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/public
resources/
themes/
node_modules/
/resources/
/themes/
/node_modules/
.hugo_build.lock

# editor
*.swp

# linter
test/
/test/
2 changes: 1 addition & 1 deletion content/en/compute/pluscloudopen/introduction/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ date: 2023-02-21
description: >
Information about pluscloud open.
---
Here you have quick access to information regarding pluscloud open facts like Regions and Availability Zones, Flavors and Images as well as prices.
Here you have quick access to information regarding pluscloud open facts like Environments, Flavors and Images as well as prices.
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
title: "PCO Environments"
title: "Environments"
type: "docs"
weight: 20
date: 2023-03-10
description: >
Access, URLs, OpenStack CLI preparation, Terraform Provider, Ansible Collections
Access, URLs, OpenStack CLI preparation, Terraform provider, Ansible collections
---

# What is a pluscloud open Environment?

Each pluscloud open environment is designed as a "shared nothing" infrastructure, meaning that each environment is completely independent and does not share any underlying resources or management capabilities with other environments. While this may limit some flexibility in terms of workload placement and management, it enables true geo-redundancy concepts to be implemented by facilitating the isolation of resources and reducing the risk of correlated failures. The management plane within the environment which provides the API endpoints is high-available, ensuring that management operations remain available even in the case of infrastructure failures.
Each pluscloud open environment is designed as a "shared nothing" infrastructure, meaning that each Environment is completely independent and does not share any underlying resources or management capabilities with other Environments. While this may limit some flexibility in terms of workload placement and management, it enables true geo-redundancy concepts to be implemented by facilitating the isolation of resources and reducing the risk of correlated failures. The management plane within the Environment which provides the API endpoints is high-available, ensuring that management operations remain available even in the case of infrastructure failures.

## Public pluscloud open Environments

Expand All @@ -22,7 +22,7 @@ Each pluscloud open environment is designed as a "shared nothing" infrastructure
| scs1 | DE-WEST | DE-WEST-2 |

{{% alert title="Note" color="info" %}}
scs1 is a development environment solely provided in the [Sovereign Cloud Stack](https://scs.community) & [GAIA-X](https://gaia-x.eu) context.
scs1 is a development Environment solely provided in the [Sovereign Cloud Stack](https://scs.community) & [GAIA-X](https://gaia-x.eu) context.
{{% /alert %}}

### UI/API endpoints
Expand All @@ -37,50 +37,50 @@ scs1 is a development environment solely provided in the [Sovereign Cloud Stack]

## Access

There are various options to work with pluscloud open environments. You can interact with the webui (Horizon) or with the API.
There are various options to work with pluscloud open Environments. You can interact with the webui (Horizon) or with the API.

### credentials
### Credentials

In order to login via Horizon you need the Credentials we provided to you.
In order to login via Horizon you need the credentials we provided to you.

* Username
* Username
* Password
* Domain

### OpenStack CLI

There are several options for you to install the OpenStack Client in your environment. Most Linux distributions offer the installation from their package repository (for distributions based on the Debian package package system, you could install the package via `apt install python-openstackclient`).
There are several options for you to install the OpenStack Client in your Environment. Most Linux distributions offer the installation from their package repository (for distributions based on the Debian package package system, you could install the package via `apt install python-openstackclient`).

As the OpenStack Client is written in the Python Programming language, it can be installed via the Python Packaging System, as well (`pip install python-openstackclient`). We would recommend to do this in a Python virtual environment (venv) in order to keep this installation seperated from the Python, that might be installed by your Linux distribution).
As the OpenStack Client is written in the Python programming language, it can be installed via the Python Packaging System, as well (`pip install python-openstackclient`). We would recommend to do this in a Python virtual environment (venv) in order to keep this installation seperated from the Python, that might be installed by your Linux distribution).

A Python venv can be created by executing `python -m venv openstackclient`. Change into the subdirectory and "activate" the virtual environment `cd openstackclient ; . ./bin/activate`. All installation of python packages with `pip install` will now take place in the new venv. You can deactivate the venv by executing `deactivate`.
A Python venv can be created by executing `python -m venv openstackclient`. Change into the subdirectory and "activate" the virtual environment `cd openstackclient ; . ./bin/activate`. All installation of Python packages with `pip install` will now take place in the new venv. You can deactivate the venv by executing `deactivate`.

The third option is to use a Docker container, which includes all required OpenStack Client bits. We would recommend to use the openstackclient Image from [OSISM](https://osism.tech/de). You can pull that container, if you have a local Docker or Podman installation on your workstation by executing `docker pull quay.io/osism/openstackclient` or `podman pull quay.io/osism/openstackclient` respectively.
The third option is to use a Docker container, which includes all required OpenStack client bits. We would recommend to use the openstackclient image from [OSISM](https://osism.tech/de). You can pull that container, if you have a local Docker or Podman installation on your workstation by executing `docker pull quay.io/osism/openstackclient` or `podman pull quay.io/osism/openstackclient` respectively.

For information using the OpenStack Client we like to refer you to the [upstream documentation](https://docs.openstack.org/python-openstackclient/latest/index.html).
For information using the OpenStack client we like to refer you to the [upstream documentation](https://docs.openstack.org/python-openstackclient/latest/index.html).

Authentication for the OpenStack Client is configured via files in yaml format. `clouds.yml`, `clouds-public.yml` and `secure.yml` are used to collect the credentials and authentication endpoints of one ore more OpenStack clouds (or pco regions) you want to connect to.
Authentication for the OpenStack client is configured via files in yaml format. `clouds.yml`, `clouds-public.yml` and `secure.yml` are used to collect the credentials and authentication endpoints of one ore more OpenStack clouds (or pluscloud open Regions) you want to connect to.

The repository of the SovereignCloudStack (SCS) has two templates for [clouds-public.yml](https://github.com/SovereignCloudStack/docs/blob/main/community/contribute/cloud-resources/clouds-public.yaml) and [clouds.yml](https://github.com/SovereignCloudStack/docs/blob/main/community/contribute/cloud-resources/clouds.yaml.sample).

Using `clouds.yml` and `clouds-public.yml` allows you to specify more than one cloud to login to and choose the cloud you want with the parameter `--os-cloud=` or the environment variable `OS_CLOUD` when using the OpenStack Client.
Using `clouds.yml` and `clouds-public.yml` allows you to specify more than one cloud to login to and choose the cloud you want with the parameter `--os-cloud=` or the environment variable `OS_CLOUD` when using the OpenStack client.

Another option is to download an OpenRC environment file from the Horizon web interface. Being logged into Horizon you click on "<your login name>" in the upper right corner and choose "OpenStack RC File" from the dropdown menu.
Afterwards you
Afterwards you

``source ./<your openstack rc file>-openrc.sh
Please enter your OpenStack Password for project <yourproject> as user <your login name>``

### terraform provider and packer builder
### Terraform provider and packer builder

The Terraform provider for OpenStack can be found on the Terraform Registry website at <https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs>.
The Terraform provider for OpenStack can be found on the Terraform Registry website at <https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs>.

This provider enables users to interact with many OpenStack resources. With the Terraform provider for OpenStack, users can create, modify, and delete pluscloud open resources through Terraform configuration files, allowing for streamlined infrastructure management.
This provider enables users to interact with many OpenStack resources. With the Terraform provider for OpenStack, users can create, modify, and delete pluscloud open resources through Terraform configuration files, allowing for streamlined infrastructure management.

Furthermore there is an OpenStack builder for packer (<https://developer.hashicorp.com/packer/plugins/builders/openstack>), which allows users to create custom images on OpenStack.

### ansible collection
### Ansible Collection

Ansible is a popular automation tool that can be used to configure and manage infrastructure. Ansible provides a collection called `openstack.cloud` which includes a set of Ansible modules to interact with pluscloud open resources. These modules can be used to create, update, delete, and query resources such as virtual machines, networks, security groups, and more.
Ansible is a popular automation tool that can be used to configure and manage infrastructure. Ansible provides a collection called `openstack.cloud` which includes a set of Ansible modules to interact with pluscloud open resources. These modules can be used to create, update, delete, and query resources such as virtual machines, networks, security groups, and more.

The `openstack.cloud` collection is available on the official Ansible website at <https://docs.ansible.com/ansible/latest/collections/openstack/index.html>.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
---
title: "PCO Prices"
title: "Pricing"
type: "docs"
weight: 20
date: 2023-06-26
---

# Introduction

This pricing table provides an overview of the server plans, load balancers, and storage options available, along with their respective costs. To calculate the hourly and monthly prices for each server plan, multiply the number of VCPUs and the amount of RAM (in GB) by their respective unit prices. As of April 2023, the unit prices are as follows:
This pricing table provides an overview of the server plans, load balancers, and storage options available, along with their respective costs. To calculate the hourly and monthly prices for each server plan, multiply the number of vCPUs and the amount of RAM (in GB) by their respective unit prices. As of April 2023, the unit prices are as follows:

* vCPU: €0.0205 per hour
* RAM: €0.007 per GB per hour
* vRAM: €0.007 per GB per hour
* Storage: €0.09 per GB per month
* Load balancer: €0.068 per hour

To calculate the monthly cost for a server plan, multiply the hourly cost by the number of hours in a month (assuming 720 hours per month). For example, for the SCS-1V:0.5 plan with 1 VCPU and 0.5 GB RAM, the hourly cost would be ```(1*€0.0205) + (0.5*€0.007) = €0.024```, and the monthly cost would be ```€0.024 * 720 = €17.28```.
To calculate the monthly cost for a server plan, multiply the hourly cost by the number of hours in a month (assuming 720 hours per month). For example, for the SCS-1V:0.5 plan with 1 vCPU and 0.5 GB RAM, the hourly cost would be ```(1*€0.0205) + (0.5*€0.007) = €0.024```, and the monthly cost would be ```€0.024 * 720 = €17.28```.

The pricing information was last updated in April 2023 and is subject to change.

## Compute

| Name | VCPUs | RAM (GB) | hourly | monthly |
| Name | vCPUs | RAM (GB) | hourly | monthly |
|------------|-------|----------|---------|---------|
| SCS-1V:0.5 | 1 | 0.5 | €0.0240 | €17.28 |
| SCS-1L:1 | 1 | 1 | €0.0275 | €19.80 |
Expand Down Expand Up @@ -51,8 +51,8 @@ Please note that the prices shown in the table are for plans with 0 Disk storage
|---------------|-------|---------|
| Block Storage | 1 GB | €0.09 |

{{% alert title="Object Storage on PCO Fair Use Policy" %}}
Object Storage on PCO is based on Ceph RadosGW and is not subject to additional charges. The quota is limited to 20 GB / 20,000 objects.
{{% alert title="Object Storage on pluscloud open Fair Use Policy" %}}
Object Storage on pluscloud open is based on Ceph RadosGW and is not subject to additional charges. The quota is limited to 20 GB / 20,000 objects.
{{% /alert %}}

## Network
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: "Cloud Resources"
type: "docs"
weight: 20
date: 2023-03-10
description: >
Available resources in pluscloud open
---
This section gives you an overview over the main resources in pluscloud open.
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: "PCO Compute"
title: "Compute"
type: "docs"
weight: 30
date: 2023-03-10
---

# compute flavors
# Compute Flavors

pluscloud open uses the [SCS standard](https://github.com/SovereignCloudStack/standards) for Flavor Naming. This standard uses a combination of letters and numbers to describe the specifications of each flavor. The first part of the name identifies the number of virtual CPUs (VCPUs) available in the flavor, while the second part describes the amount of random access memory (RAM) available. The third part, if present, indicates the amount of disk space allocated for the instance. Flavors with additional disk space also have the size of the disk specified in the name. All flavors following that standard are prefixed with "SCS-".

Expand Down Expand Up @@ -59,7 +59,7 @@ pluscloud open uses the [SCS standard](https://github.com/SovereignCloudStack/st
| SCS-16V:64 | 16 | 65536 | 0 |
| SCS-16V:64:100 | 16 | 65536 | 100 |

# image list
# Image List

{{% alert title="Note" color="info" %}}
OS Images are regularly refreshed to provide the latest security patch level. Older images are still availabile in accordance with the metadata (see SCS Image Metadata).
Expand All @@ -83,6 +83,6 @@ It's important to note that pluscloud open uses the [SCS standard](https://githu

To use these images, users can simply select the desired image from the pluscloud open image repository and use it to launch a virtual machine instance. The metadata associated with the image can also be accessed to gather information about the image and ensure that it meets the requirements.

## cloud-init
## Cloud-Init

All of the operating system images offered by pluscloud open are [cloud-init](https://cloudinit.readthedocs.io/en/latest/) enabled by default, which allows for easy and efficient customization of virtual machine instances in an OpenStack environment. With cloud-init, users can automate various tasks during the boot process, such as configuring network settings, creating user accounts, and installing software packages. This can help streamline the deployment of virtual machines and ensure that they are configured correctly and consistently. To use cloud-init with a pluscloud open image, users can simply provide a cloud-config file or user-data script when launching the instance. The cloud-init tool will then read this data and execute the specified actions during the boot process.
Loading

0 comments on commit 731a2d3

Please sign in to comment.