Skip to content

Projects and quota

OpenShift projects and CSC computing projects

Info

Projects in OpenShift are separate from CSC computing projects. A single CSC computing project can have access to multiple projects in OpenShift. Each CSC computing project with access to Rahti receives a group in OpenShift.

All projects in OpenShift must be mapped to a CSC computing project. This mapping is used to determine which CSC computing project a given resource belongs to for billing and other purposes. You need to specify which of them to use. You have to specify which project to map by entering csc_project: followed by the name or number of your CSC computing project in the Description field when creating a new project in OpenShift. You can also enter other text in the description field if you want to have a human-readable description for the project you are creating.

For example, if you have Rahti access via project_1000123, you would enter the following in the Description field:

csc_project: 1000123

You can also enter a human-readable description for the project, in which case the field could look like this:

This project is used for hosting the Pied Piper web application.

csc_project: 1000123

This would make it so that any usage within that OpenShift project is billed to the billing unit quota of project_1000123. Note that project_1000123 must have Rahti access and you must be a member of that computing project, or the OpenShift project creation will fail.

If you would like to know which CSC computing projects you are a member of, you can view a list in the My Projects tool of MyCSC. You can also set a default billing project by going to Your Profile page.

If you would like to know which CSC computing project an OpenShift project is associated with, you can do so using the oc command line tool. You can find instructions for setting up oc in the command line tool usage instructions . For example, if your OpenShift project is called my-openshift-project, you would run:

oc get project my-openshift-project -o yaml

This should produce the following output:

apiVersion: project.openshift.io/v1
kind: Project
metadata:
  annotations:
    ...
  creationTimestamp: 2018-11-22T12:27:05Z
  labels:
    csc_project: "1000123"
  name: my-openshift-project
  resourceVersion: "72557736"
  selfLink: /apis/project.openshift.io/v1/projects/my-openshift-project
  uid: df4970e2-abd7-4417-adbf-531293c68cd6
spec:
  finalizers:
  - openshift.io/origin
  - kubernetes
status:
  phase: Active

In the output above, you can find the associated CSC computing project under metadata.labels.csc_project. In this case, the project is 1000123. Unfortunately, this information is not available via a web interface yet.

Info

It is not possible for normal users to change the csc_project label after a project has been created. If you would like to change the label for an existing project, please contact the support. You can also create a completely new project if you want to use a different label.

Creating a project

First, click this link to access the homepage of Rahti and click Login Page under OpenShift 4.11.

After being logged in, click the blue "Create Project" button to create a project, and you will be presented with the following view:

OpenShift new project dialog

If you are in "Developer" view, click on "Projects: All projects" located in the topbar and "Create Project": OpenShift new project dialog Developer

  1. You need to pick a unique name that is not in use by any other project in the system.
  2. You can also enter a human-readable display name and.
  3. You have to also enter a CSC computing project in the Description field. It must be a currently valid CSC project, that your account has access to. In order to view to which CSC projects you have access to, please check https://my.csc.fi. If you have access to no CSC project, you will not be able to create any Rahti project. If you have Rahti access via project_1000123, you would enter the following in the Description field:

csc_project: 1000123

OpenShift Create Project

See the section about accounts.

Once you have filled in the fields, click "Create", and you will see the application catalog where you can pick an application template or import your own one.

For more information about using the web interface, refer to the official OpenShift documentation (our current version is 4.11). You can find out which version of the documentation to look at in the web interface by clicking the question mark symbol in the top bar and selecting "About".

Project quotas

Each project has its own quota. Initial quota is the following:

Resource Default
Virtual cores 4
RAM 16 GiB
Storage 100 GiB
Number of image streams (images) 20
Size of each registry images 5 GiB

This means that your project can use up to 4 cores and 16GiB in total, it can be 1 Pod using the whole 4 cores and 16 GiB, 8 pods each using half a core and 2 GiB, etc...

You can find the resource usage and quota of a project in the project view in the web interface under Administration -> ResourceQuota and Administration -> LimitRanges in the Administrator menu.

Alternatively, you can use the oc command line tool:

oc describe quota
oc describe limitranges

If you need to create more projects or you need more resources in a project for your application, you can apply for more quota by contacting the Rahti support. See the Contact page for instructions. Quota requests are handled on a case-by-case basis depending on the currently available resources in Rahti and the use case.

Default Pod resource limits

Every Pod needs to have lower and upper limits regarding resources, specifically for CPU and memory. The lower are called requests, and the upper are called limits. The requests sets the minimum resources needed for a Pod to run, and a Pod is not allowed to use more resources than the specified in limits.

The user can set the limits explicitly within the available quota, but if no limit is set by the user, the defaults are used:

Type CPU Memory
limits 500m 1Gi
requests 50m 500Mi

Note: m stands for milicores. 500m will be the equivalent of 0.5 cores, or in other words half of the time of a CPU core.

Rahti will enforce a maximum limit/request ratio of 5. This means that the CPU or memory limits cannot be more than 5 times the request. So if the CPU request is 50m, the CPU limit cannot be higher than 500m. And if we wanted to increase the CPU limit to 1, we will have to increase as well the request to at least 100m.

Sharing projects with other users

OpenShift has a flexible role-based access control system that allows you to give access to projects you have created to other users and groups in the system. You can give e.g. full admin, basic user, edit or read only access to other users and groups in the system for collaboration.

You can edit project memberships in the web interface via User Management -> RoleBindings, in the Administrator menu. You can either give access rights to individual users, groups or Service Accounts by selecting either the Users, Groups or ServiceAccount.

Create Role Binding

Note that it is important to use correct usernames when sharing projects with others. OpenShift allows you to freely enter any username and will not notify you for having entered a non-existent username. Usernames are also case-sensitive. You can find out your username in OpenShift via the command line, by using the command oc whoami.

Deleting a project

In order to delete a project, you need to go to the main landing page and click in the 3 vertical dots next to the name of the project. In the drop down menu, you will see the option "Delete Project"

Delete drop down

Then you will be asked to input the name of the project to prevent accidental deletions.

Warning

After the project has been confirmed for deletion, all resources will be deleted and there will be no way to restore them, including the data stored in the persistent volumes.

Project name dialog

After that, Rahti will start to delete all the resources of the project. It could take only few seconds or up to a minute, it depends of amount of resources the project had. After that Rahti will liberate the project name, and it will be possible to create an empty project with the same name.


Last update: November 13, 2023