From add42bb0e675bb90cff41351ef432939557a224a Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 28 Nov 2023 09:39:44 +0000 Subject: [PATCH 01/24] Update requirements --- .../cloud-compute/requirements/_index.md | 61 +++++++++++-------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/content/en/providers/cloud-compute/requirements/_index.md b/content/en/providers/cloud-compute/requirements/_index.md index 5e499e8c11..efddeecc48 100644 --- a/content/en/providers/cloud-compute/requirements/_index.md +++ b/content/en/providers/cloud-compute/requirements/_index.md @@ -5,34 +5,45 @@ weight: 10 type: "docs" --- -IaaS providers are very welcome to join the EGI Federated Cloud as a Resource -Centres (RC) and joining the Federated Cloud Task Force to contribute to the -design, creation and implementation of the federation. +Resource Centres are free to use any Cloud Management Platform as long as they +are able to integrate with the EGI Federation components. At the moment this +compliance is supported for OpenStack open-source cloud platform. -Resource Centres are free to use any Cloud Management Framework (OpenStack, -etc\...) as long as they are able to integrate with the EGI Federation -components as described in the -[Federated Cloud Architecture](../../../users/getting-started/architecture). At -the moment this compliance is guaranteed for OpenStack. +The general minimum requirements are described below. -The general minimal requirements are: +- Relevant parts of + [PROC09 Resource Centre Registration and Certification](https://confluence.egi.eu/display/EGIPP/PROC09+Resource+Centre+Registration+and+Certification) + have been successfully completed - Hardware requirements greatly depend on your cloud infrastructure, EGI components in general do lightweight operations by interacting with your services APIs. - - `cloudkeeper` requires enough disk space to download and convert images - before uploading into your local catalogue. The number and size of images - which will be downloaded depends on the communities you plan to support. For - the piloting VO `fedcloud.egi.eu`, 100GB of disk should be enough. -- Servers need to authenticate each other in the EGI Federated Cloud context - using X.509 certificates. So a Resource Centre should be able to obtain server - certificates for some services. -- User and research communities are called Virtual Organisations (VO). Resource - Centres are expected to join: - - `ops` and `dteam` VOs, used for operational purposes as per RC OLA - - a community-VO that supports EGI users (e.g. `vo.access.egi.eu` for - piloting) -- EGI provides packages for the following operating systems (others may work but - we are not providing packages): - - CentOS 7 (and in general RHEL-compatible) - - Ubuntu 16.04 (and in general Debian-based) + + - Image sync requires enough disk space to download and convert images before + uploading into your local catalogue. The number and size of images which + will be downloaded depends on the communities you plan to support. For the + piloting VO `vo.access.egi.eu`, 100GB of disk should be enough. + +- Servers need X.509 host certificates in order to authenticate to each other or + to act as public endpoints in the EGI Federated Cloud context. For accounting + purposes one IGTF-accredited X.509 certificate is needed per site, but the + other public endpoints can use ordinary certificates (issued by Let’s Encrypt + for example). + + - For the IGTF-accredited certificates, a list of national / regional + Certificate Authorities is available at + [EUGridPMA Membership](https://www.eugridpma.org/members/membership); it is + expected that the Resource Centre will obtain the IGTF certificate from a + close Certificate Authority + +- For operational purposes, the `ops` VO needs to be supported by the Resource + Centre as per Resource Centre OLA. Also at least one community VO that + supports EGI users is expected to be supported by the Resource Centre (i.e. + `vo.access.egi.eu` for piloting and prototyping FedCloud usage). + +- The public endpoints need to have proper firewall configuration (to allow + inbound external access) + +- A flavor (a preset configuration that defines the compute, memory, and storage + capacity - min 8 GB - of an instance) needs to be made available by the site + for monitoring purposes. From 45a3b2e9d5b10fa67ffeecc6c812530a3e1d7c39 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 28 Nov 2023 10:04:50 +0000 Subject: [PATCH 02/24] Update image --- .../cloud-compute/openstack/openstacksite.png | Bin 217770 -> 101412 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/content/en/providers/cloud-compute/openstack/openstacksite.png b/content/en/providers/cloud-compute/openstack/openstacksite.png index 10d3590d3d215f8de4a9e52c262e0d58799fe23f..ad601464773f84e06311501628fac6980c4d4f27 100644 GIT binary patch literal 101412 zcmeEu2_RM7+P|sH98;1Z^GuF;o@X*=EF2s&$8gLF8AFCjROU(=NRlCuj1?83lz9jh znG&V=ugy8VD);^Fz2Eo0xA%Tu?|F~2*Is+?wVw41zx53Jgpq+3Imtc}92^{S9c^_J z92^2>930#aM7u#tw;VbJ{K54%(Ne`JeaiF}2gkAytzn7w3U+q$MB;FXscrq@5*6`6 zIk`EzA)UCy)VV}OMMXr#gy3)?QE4-{2$z_Oh&cFyO9)F#iCcrypua21AHCHV;o~Fh zo}oI^Jlc zC-@7R!MC9)__755!$s`i5_VF2;HQd@k0;Us>7eHZ?ye~zCM7H;37UEJw9O9cbBU^f z-=1zBNbpAs>F9xiE>Uy!LwSJ~O*mXeSOoeHG@2ru5q@slZUM~%iAK0=%>)^&ZlF4i;^2QKHR2VKSzBNsBh!1kB)d?Bs<_I1r$|a`3C87du z41L7ZFr)zoZW!Wfqu~do-CZ<-G@ZTGbes*%Jj8{z?&ggEL*85fBS1eP_|JF4-qR~s z%Man>dJyHbNjRtAt&8ArIG7MLC#R6D78x!!rRfgl1FN4tTQQ1Ntgff(HZg+`;i zzzJuRH`)|)5nyOlKU9FX)A!2|nC^~XCP+W1JCJoXlqU-O25TqgECKxo+WpafC=cYe zGm@MCzMsLaH;|vrM{esWw)qdV10Cb!1|Ebx=Z*3Pa|1dA;&~s$AJoJU7@89jD;!X- zKVRiP)>;b*ln2@`1l$&LxtOT5u*BAbFtQ~of?>*_KR8tax&<^C*KJHHij^(|Mmk)+ z-yQ1u_izyCgJHlwp8=%Mf8tY5M`u?*RVgPeM}&!pn3J=)iI%yL7-lNlm;vboBoVXB zC_l6-$_3?(@YMLDb=$&2Z16`PeH6+EEH=bM?npE`1fy0E0caFxaz%T2V$LFi-O!fc zw+Nu5m@0H+we5^LL}}>G&$Es+Ap9`=`n;mx~28LN60&Ml#Z1{6R@5m~CNKXXXEpYo?L`D8Bi@u{qklv!@ zHjQ9@aI0w>8w9z!p^>IOh)vQ40W0(468<6l(Bk|e(+=X25)fASMGGLDq=0qDUa?)) z|KZO#6bq6^j#E4Y7%@y?

YCh~!S9**h~zFz8%E-pHOq7H`Q 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 a_tX5oiJY&EW-55#PfbZn@r8nA*#7~#4U}sD literal 217770 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%0DF=|S)H+j6XlLVXkX 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 From b50d5e553f93fe4c37321b7454140f89fac52e8b Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 28 Nov 2023 13:19:15 +0000 Subject: [PATCH 03/24] GOCDB updates --- .../cloud-compute/registration/_index.md | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/content/en/providers/cloud-compute/registration/_index.md b/content/en/providers/cloud-compute/registration/_index.md index c45ddb75e0..8c59699897 100644 --- a/content/en/providers/cloud-compute/registration/_index.md +++ b/content/en/providers/cloud-compute/registration/_index.md @@ -7,43 +7,41 @@ description: > --- Site endpoints must be registered in -[EGI Configuration Management Database (GOCDB)](https://goc.egi.eu). If you are -creating a new site for your cloud services, check the +[EGI Configuration Management Database (GOCDB)](https://goc.egi.eu). Cloud +services can coexist within an existing (Grid) site, but we are recommending to +register a new site for the cloud services (as per [PROC09 Resource Centre Registration and Certification](https://confluence.egi.eu/display/EGIPP/PROC09+Resource+Centre+Registration+and+Certification) -procedure. Services can also coexist within an existing (grid) site. +procedure - see +[Registration and Certification](../registration-and-certification) section) ## Expected Services These are the expected services for a working site: -- If offering native OpenStack access (nova), register: `org.openstack.nova` - for the Nova endpoint of the site. The **endpoint URL** must contain the - Keystone v3 URL: `https://hostname:port/url/v3`. Set the **Host DN** so the - cloud-info-provider can be enabled in the AMS. +- `org.openstack.nova` for the Nova endpoint of the site. The **endpoint URL** + must contain the Keystone v3 URL: `https://hostname:port/url/v3`. Set the + **Host DN** so the cloud-info-provider can be enabled. -- If offering native OpenStack access (swift), register: `org.openstack.swift` - for the swift endpoint of the site. The **endpoint URL** field must contain the - Keystone v3 URL: `https://hostname:port/url/v3`. +- `eu.egi.cloud.accounting` for the host sending the records to the accounting + repository (executing SSM send). This host needs a valid IGTF-accredited X.509 + certificate. Set the **Host DN** so the SSM can be enabled. -- `eu.egi.cloud.accounting` for the host sending the records to the - accounting repository (executing SSM send). +- `org.openstack.horizon` for the dashboard endpoint of the site (optional). The + endpoint URL field must contain the horizon URL: `https://hostname:port/url/`. + +- (Optional, if offering object storage) `org.openstack.swift` for the swift + endpoint of the site. The **endpoint URL** field must contain the Keystone v3 + URL: `https://hostname:port/url/v3`. ## Deprecated services Deprecated services for cloud providers: - `Site-BDII`. This service collects and publishes site\'s data for the - Information System. Existing sites should already have this registered. + Information System. There is no need to run a BDII for cloud providers. + `eu.egi.cloud.information.bdii` is also deprecated and no longer in use. - `eu.egi.cloud.vm-metadata.vmcatcher` for the VMI replication mechanism. - Register here the host providing the replication (i.e. the host with - cloudkeeper installation) - -- If offering OCCI interface, `eu.egi.cloud.vm-management.occi` for the OCCI - endpoint offered by the site. The endpoint URL must follow this syntax: - - `https://hostname:port/?image=&resource=` - where `` and `` cannot contain spaces. These - attributes map to `os_tpl` and `resource_tpl` respectively and will be the - ones used for monitoring purposes. +- `eu.egi.cloud.vm-management.occi` for the OCCI endpoint offered by the site. + OCCI is no longer in use in FedCloud. From ca147e0c7831153b3be670184cd8c56c3baab0be Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Mon, 18 Dec 2023 15:39:17 +0000 Subject: [PATCH 04/24] Simplify integration --- content/en/providers/cloud-compute/_index.md | 76 ++++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/content/en/providers/cloud-compute/_index.md b/content/en/providers/cloud-compute/_index.md index 0d7d6798a4..dac61dcc93 100644 --- a/content/en/providers/cloud-compute/_index.md +++ b/content/en/providers/cloud-compute/_index.md @@ -5,44 +5,44 @@ weight: 30 type: "docs" --- -This documentation covers how to join the EGI Cloud federation as a provider. If -you are interested in joining please first contact EGI operations team at -[operations@egi.eu](mailto:operations@egi.eu), expressing interest and -providing few details about: - -- the projects you may be involved in as cloud provider. - -- the user communities you want to support (AKA Virtual Organisations or VOs). - You can also support the 'long-tail of science' through the vo.access.egi.eu VO. - -- the technologies (Cloud Management Framework) you want to provide. - +This documentation covers how to join the EGI Cloud federation (also known as +Federated Cloud or FedCloud) as a provider.  If you are interested in joining +please first contact EGI Operations team at +[support@egi.eu](mailto:support@egi.eu), expressing interest and providing few +details about: + +- the projects you may be involved in as a cloud provider +- the user communities you want to support (i.e. + [Virtual Organisations](https://confluence.egi.eu/display/EGIG/Virtual+organisation) + or VOs). You can also support the ’long-tail of science’ through the + vo.access.egi.eu VO +- the technologies (Cloud Management platforms) you want to provide - details on the current status of your deployment (to be installed or already - installed, already used or not, how it is used, who uses the services...) - -Integration of cloud stacks into EGI FedCloud follows a well-defined path, with -certain steps which need to be taken, depending on the cloud stack in question. -By integration here, we refer to the proper interoperation with EGI -infrastructure services such as accounting, monitoring, authentication and -authorisation, etc. These configurations make your site discoverable and -usable by the communities you wish to support, and allow EGI to support you in -operational and technical matters. - -Integration of these services implies specific configuration actions which you -need to take on your site. These aim to be unintrusive and are mostly to -facilitate access to your site by the communities you wish to support, without -interfering with normal operations. This can be summarised essentially as: - -1. Network configuration -1. Permissions configuration -1. AAI configuration -1. Accounting configuration -1. Information system integration -1. VM and appliance repository configuration + installed, already used or not, how it is used, who uses the services, etc). + +Integration of cloud stacks into EGI FedCloud follows a well-defined path, +depending on the particularities of the cloud stack in question. By integration, +we refer to the proper interoperation with EGI infrastructure services such as +accounting, monitoring, authentication and authorisation, etc. These +configurations make your site discoverable and usable by the communities you +wish to support, and allow EGI to support you in operational and technical +matters. + +The series of actions that needs to be taken to achieve Cloud integration is +summarised below: + +1. **Registration and certification** of the site as a + [Federated Resource Centre](../../joining/federated-resource-centre) +1. **Requirements** - hardware and software, network configuration +1. **Registration of endpoints in the Configuration Database** + ([GOCDB](../goc)), a service provided by EGI as a central registry to record + information about the EGI Infrastructure topology and which contains general + information about all participating sites +1. **Authentication and Authorization Integration** (AAI), including the setup + of an `ops` local project that will be used for monitoring your site +1. **Accounting** configuration +1. **Installation validation** If at any time you experience technical difficulties or need support, please -[open a ticket](https://ggus.eu) or discuss the matter with us -[on the forum](https://community.egi.eu) - -You can follow find integration guides for your cloud management in this -documentation. +[open a ticket](https://ggus.eu/). Dedicated integration sessions are available +also on request. From c3a3527af1dd6574680babac3966eb18acad7c48 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Mon, 18 Dec 2023 15:44:26 +0000 Subject: [PATCH 05/24] Simplify openstack installation --- .../cloud-compute/openstack/_index.md | 144 +++--------------- 1 file changed, 25 insertions(+), 119 deletions(-) diff --git a/content/en/providers/cloud-compute/openstack/_index.md b/content/en/providers/cloud-compute/openstack/_index.md index 0c66d0d961..24bbfd82f7 100644 --- a/content/en/providers/cloud-compute/openstack/_index.md +++ b/content/en/providers/cloud-compute/openstack/_index.md @@ -3,17 +3,17 @@ title: "OpenStack" weight: 20 type: "docs" description: > - Integration of OpenStack providers + Integration with OpenStack --- -This manual provides information on how to set up a Resource Centre providing +This section provides information on how to set up a Resource Centre providing cloud resources in the EGI infrastructure. Integration with FedCloud requires a _working OpenStack installation_ as a pre-requirement. EGI supports any recent [OpenStack version](https://releases.openstack.org) (tested from OpenStack Mitaka). -EGI expects the following OpenStack services to be available and accessible from -outside your site: +The following OpenStack services are expected to be available and accessible +from outside the site: - Keystone - Nova @@ -22,112 +22,32 @@ outside your site: - Neutron - Swift (if providing Object Storage) -FedCloud components are distributed through -[CMD (Cloud Middleware Distribution)](https://confluence.egi.eu/display/EGIBG/Cloud+Middleware+Distribution) -These docker containers come pre-packaged and ready to use in the EGI FedCloud -Appliance so you do not need to install any extra components on your site but -just run a VM and configure it appropriately to interact with your services. - The integration is performed by a set of EGI components that interact with the OpenStack services APIs: -![image](openstacksite.png) - - Authentication of EGI users into your system is performed by configuring the - native OpenID Connect support of Keystone. Support for legacy VOs using VOMS - requires the installation of the **Keystone-VOMS Authorization plugin** to - allow users with a valid VOMS proxy to obtain tokens to access your OpenStack - deployment. + native OpenID Connect support of Keystone - **cASO** collects accounting data from OpenStack and uses **SSM** to send the records to the central accounting database on the EGI Accounting service - ([APEL](https://apel.github.io/)) -- **cloud-info-provider** registers the RC configuration and description through - the [Messaging service](../../../internal/messaging) to facilitate service - discovery -- **cloudkeeper** (and **cloudkeeper-os**) synchronises with - [EGI AppDB](https://appdb.egi.eu/browse/cloud) so new or updated images can be - provided by the RC to user communities (VO). + ([APEL](https://apel.github.io/)). cASO and SSM are operated by the site. +- EGI runs the cloud-info-provider and cloudkeeper instances to provide + information discovery and VM image synchronisation -Not all EGI components need to share the same credentials. They are individually -configured, you can use different credentials and permissions if desired. +![image](openstacksite.png) ## Installation options -EGI distributes the integration components as: - -- A Virtual Appliance (VA) that uses Docker containers to bundle all of the - components in a single VM and just needs minor configuration to get started -- RPM and DEB Packages in the - [CMD distribution](https://confluence.egi.eu/display/EGIBG/Cloud+Middleware+Distribution) - -### FedCloud Virtual Appliance - -The EGI FedCloud Appliance is available at -[AppDB](https://appdb.egi.eu/store/vappliance/fedcloud.integration.appliance.openstack) -as an OVA file. You can easily extract the VMDK disk by untaring and optionally -converting it to your preferred format with qemu-img: - -```shell -# get image and extract VMDK -$ curl $(curl "https://appdb.egi.eu/store/vm/image/fc90d1aa-b0ae-46a0-b457-96f6f7a7d446:7875/json?strict" \ - | jq -r .url) \ - | tar x "*.vmdk" -# convert to qcow2 -$ qemu-img convert -O qcow2 FedCloud-Appliance.Ubuntu.*.vmdk fedcloud-appliance.qcow2 -``` - -The appliance running at your OpenStack must: - -- Have a host certificate to send the accounting information to the accounting - repository. DN of the host certificate must be registered in GOCDB with - service type `eu.egi.cloud.accounting`. The host certificate and key in PEM - format are expected in `/etc/grid-security/hostcert.pem` and - `/etc/grid-security/hostkey.pem` respectively. -- Have enough disk space for handling the VM image replication (\~ 100GB for - `fedcloud.egi.eu` VO). By default these are stored at /image_data. You can - mount a volume at that location. - -### Upgrading the OpenStack Appliance - -#### From 2018.05.07 or newer to 2021.03.12 - -Configuration changes: - -- Removes BDII, service is no longer in use -- A cloud-info-provider cron is added -- Uses AMS for pushing accounting records. New configuration file for ssmsend is - available - -#### From 2017.08.09 to 2018.05.07 - -Configuration changes: - -- This upgrade moves the `voms.json` file to the respective `caso` and - `cloudkeeper-os` directories under `/etc/` -- No other changes in configuration are needed - -#### From 20160403 to 2017.08.09 - -There are several major changes between these versions, namely: - -- atrope has been deprecated and cloudkeeper is used instead. The configuration - cannot be reused directly and the new services need to be configured as - described above -- caso is upgraded to version 1.1.1, the configuration file has some - incompatible changes. -- A new bdii.service is available for managing the process is available. - -### CMD Packages - -The CMD-OS repository provides packages that have gone through a quality -assurance process for the supported distributions. Packages are available via -the [EGI repository](https://repository.egi.eu). +cASO and SSM releases can be be obtained from GitHub: +- [cASO](https://github.com/IFCA-Advanced-Computing/caso/releases) +- [SSM](https://github.com/apel/ssm/releases) ## Open Ports +### Inbound + The following **services** must be accessible to allow access to an OpenStack-based FedCloud site (default ports listed below, can be adjusted to -your installation) +your installation). @@ -141,36 +61,22 @@ your installation) -### Outgoing ports +### Outbound The EGI Cloud components require the following outgoing connections open: -| Port | Host | Note | -| ------------ | ----------------------- | --------------------------------------------------------------- | -| **443**/TCP | `msg.argo.grnet.gr` | ARGO Messaging System (used to send accounting records by SSM). | -| **8443**/TCP | `msg.argo.grnet.gr` | AMS authentication (used to send accounting records by SSM). | -| **443**/TCP | `vmcaster.appdb.egi.eu` | AppDB image lists (used by cloudkeeper). | -| **8080**/TCP | `cephrgw01.ifca.es` | Swift server hosting EGI images (used by cloudkeeper). | +| Port | Host | Note | +| ------------ | ------------------- | --------------------------------------------------------------- | +| **443**/TCP | `msg.argo.grnet.gr` | ARGO Messaging System (used to send accounting records by SSM). | +| **8443**/TCP | `msg.argo.grnet.gr` | AMS authentication (used to send accounting records by SSM). | -Images listed in AppDB may be hosted in other servers besides -`cephrgw01.ifca.es`. Check the specific VO-wide image lists for details. - -## Permissions +## Accounts in OpenStack -This is an overview of the expected account permissions used in an OpenStack -site, these accounts can be merged as needed for your deployment: - - - -| Component | Permission | -| ------------ | -------------------------------------------------------------------------------------------- | -| cloud-info | Member of all projects supporting EGI VOs | -| accounting | Member of all projects and able to list users (allowed to `identity:list_users` in keystone) | -| cloud-keeper | Permission to manage the images for all the projects supporting EGI VOs | -| Other users | Automatically created by Keystone and permission set as configured in the mappings | - - +User accounts will be managed by the +[Federated Identity](https://docs.openstack.org/keystone/latest/admin/federation/federated_identity.html) +features of OpenStack. cASO expects to be run with a user that is allowed to +access `identity:list_users` and `identity:list_projects` in Keystone. From c4c01994945776eaa03c7ba79d01b272948402a6 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Mon, 18 Dec 2023 15:44:53 +0000 Subject: [PATCH 06/24] Minor typo fix --- content/en/providers/cloud-compute/openstack/aai.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/providers/cloud-compute/openstack/aai.md b/content/en/providers/cloud-compute/openstack/aai.md index a37f520032..097c34323f 100644 --- a/content/en/providers/cloud-compute/openstack/aai.md +++ b/content/en/providers/cloud-compute/openstack/aai.md @@ -784,7 +784,7 @@ the URLs on your configuration: validation of both kind of tokens automatically. The `HTTP_OIDC_ISS` section should look as follows: - ```json + ````json { "type": "HTTP_OIDC_ISS", "any_one_of": [ @@ -795,7 +795,7 @@ the URLs on your configuration: ```shell $ openstack mapping set --rules mapping.egi.json egi-mapping - ``` + ```` As the new issuer is included in the `remote-id` configuration of the Keystone identity provider, there should not be any changes in your users, they will be From 43846cd77e759c8f8409a5b054d121fa3144579e Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Mon, 18 Dec 2023 15:45:46 +0000 Subject: [PATCH 07/24] Minor formatting update --- .../en/providers/cloud-compute/openstack/gpu.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/en/providers/cloud-compute/openstack/gpu.md b/content/en/providers/cloud-compute/openstack/gpu.md index 212c5cc578..9388e8bed9 100644 --- a/content/en/providers/cloud-compute/openstack/gpu.md +++ b/content/en/providers/cloud-compute/openstack/gpu.md @@ -49,15 +49,15 @@ Users should be able to easily discover the flavours that provide GPUs (or accelerators in general). The following table describes the agreed metadata for EGI providers to add to those flavours: -| Metadata | Definition | Comments | -| ------------------------------ | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Accelerator:Type | Type of accelerator (e.g. `GPU`) | Possible values: `GPU`, `MIC`, `FPGA`, `TPU`, `NPU` | +| Metadata | Definition | Comments | +| ------------------------------ | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Accelerator:Type | Type of accelerator (e.g. `GPU`) | Possible values: `GPU`, `MIC`, `FPGA`, `TPU`, `NPU` | | Accelerator:Number | Number of accelerators available in the flavour (e.g. `1.0`) | Non integers allowed for the case of sharing GPU between VMs | -| Accelerator:Vendor | Name of accelerator Vendor (e.g. `NVIDIA`) | | -| Accelerator:Model | Model of accelerator (e.g. `Tesla V100`) | Need to make consensus and enforce. A100 is usually marketed without "Tesla" classname. Similarly, RTX A6000 usually marketed without “GeForce”. For clarity, full names should be used: “Tesla A100” and “GeForce RTX A6000” | -| Accelerator:Version | Version of the accelerator | Some cards have different versions, e.g. A100 PCIe and NVLink. Openstack does not allow empty value, so we should give 0 if no version is specified | -| Accelerator:Memory | RAM in GB of the accelerator | | -| Accelerator:VirtualizationType | Type of virtualisation used (e.g. `PCI passthrough`) | Not relevant for accounting, but may be still useful in some cases | +| Accelerator:Vendor | Name of accelerator Vendor (e.g. `NVIDIA`) | | +| Accelerator:Model | Model of accelerator (e.g. `Tesla V100`) | Need to make consensus and enforce. A100 is usually marketed without "Tesla" classname. Similarly, RTX A6000 usually marketed without “GeForce”. For clarity, full names should be used: “Tesla A100” and “GeForce RTX A6000” | +| Accelerator:Version | Version of the accelerator | Some cards have different versions, e.g. A100 PCIe and NVLink. Openstack does not allow empty value, so we should give 0 if no version is specified | +| Accelerator:Memory | RAM in GB of the accelerator | | +| Accelerator:VirtualizationType | Type of virtualisation used (e.g. `PCI passthrough`) | Not relevant for accounting, but may be still useful in some cases | There are some extra fields that are defined in the GLUE2.1 schema but not so relevant for GPUs and therefore not considered at the moment. These are listed From c23c52cde3fb30f3d1f04ad15937c6d657369298 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Mon, 18 Dec 2023 15:45:57 +0000 Subject: [PATCH 08/24] Remove cloudkeeper --- .../cloud-compute/openstack/cloudkeeper.md | 66 ------------------- .../cloud-compute/openstack/vo_config.md | 36 +--------- 2 files changed, 3 insertions(+), 99 deletions(-) delete mode 100644 content/en/providers/cloud-compute/openstack/cloudkeeper.md diff --git a/content/en/providers/cloud-compute/openstack/cloudkeeper.md b/content/en/providers/cloud-compute/openstack/cloudkeeper.md deleted file mode 100644 index 06fdeb3bf8..0000000000 --- a/content/en/providers/cloud-compute/openstack/cloudkeeper.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: "VM Image synchronisation" -weight: 40 -type: "docs" -description: > - cloudkeeper and AppDB integration ---- - -VM Images are replicated using `cloudkeeper`, which has two -components: - -- fronted (cloudkeeper-core) dealing the with image lists and downloading the - needed images, run periodically with cron -- backend (cloudkeeper-os) dealing with your glance catalogue, running - permanently. - -### Using the VM Appliance - -Every 4 hours, the appliance will perform the following actions: - -- download the configured lists in `/etc/cloudkeeper/image-lists.conf` and - verify its signature -- check any changes in the lists and download new images -- synchronise this information to the configured glance endpoint - -First you need to configure and start the backend. Edit -`/etc/cloudkeeper-os/cloudkeeper-os.conf` and add the authentication parameters -from line 117 to 136. - -Then add as many image lists (one per line) as you would like to subscribe to -`/etc/cloudkeeper/image-lists.conf`. Use URLs with your AppDB token for -authentication, check the following guides for getting such token and URLs: - -- [how to access to VO-wide image lists](https://wiki.appdb.egi.eu/main:faq:how_to_get_access_to_vo-wide_image_lists), - and -- [how to subscribe to a private image list](https://wiki.appdb.egi.eu/main:faq:how_to_subscribe_to_a_private_image_list_using_the_vmcatcher). - -Finally, you need to provide a `/etc/cloudkeeper-os/mapping.json` that -configures the mapping of VOs supported in your OpenStack. The file should -contain a json document that follows this format: - -```json -{ - "": { - "project": "" - }, - "": { - "project": "", - "domain": "" - } -} -``` - -Note that you can either specify a project ID or the project name with the -domain name in the mapping. Add as many VOs as you are supporting. - -#### Running the services - -cloudkeeper-os should run permanently, there is a `cloudkeeper-os.service` for -systemd in the appliance. Manage as usual: - -```shell -systemctl cloudkeeper-os -``` - -cloudkeeper core is run every 4 hours with a cron script. diff --git a/content/en/providers/cloud-compute/openstack/vo_config.md b/content/en/providers/cloud-compute/openstack/vo_config.md index b97058f25b..d47fda784a 100644 --- a/content/en/providers/cloud-compute/openstack/vo_config.md +++ b/content/en/providers/cloud-compute/openstack/vo_config.md @@ -109,37 +109,7 @@ have admin privileges: openstack role add member --user --project ``` -## Information system +## Information system / VM Image management -If you are correctly setting the `egi.VO` property to your projects, the configuration will -be automatically retrieved by the cloud-info-provider. - -## VM Image Management - -### cloudkeeper-core - -Add the new image list to the `cloudkeeper` configuration in -`/etc/cloudkeeper/cloudkeeper.yml` (or `/etc/cloudkeeper/image-lists.conf` if -using the appliance), new entry should look similar to: - -`https://:x-oauth-basic@vmcaster.appdb.egi.eu/store/vo//image.list` - -### cloudkeeper-os - -Add the user configured in cloudkeeper-os as member of the new project: - -```shell -$ openstack role add member \ - --user \ - --project -``` - -Add the mapping of the project to the VO in `/etc/cloudkeeper-os/mapping.json`: - -```json -{ - "": { - "tenant": "" - } -} -``` +If you are correctly setting the `egi.VO` property to your projects, the +configuration will be automatically retrieved by the catch-all components. From c68b8f0bfb453c9ad3630c1414a2d283dd3417da Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Mon, 18 Dec 2023 15:51:13 +0000 Subject: [PATCH 09/24] Add cASO container --- content/en/providers/cloud-compute/openstack/_index.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/content/en/providers/cloud-compute/openstack/_index.md b/content/en/providers/cloud-compute/openstack/_index.md index 24bbfd82f7..b4339892cc 100644 --- a/content/en/providers/cloud-compute/openstack/_index.md +++ b/content/en/providers/cloud-compute/openstack/_index.md @@ -38,8 +38,13 @@ OpenStack services APIs: ## Installation options cASO and SSM releases can be be obtained from GitHub: -- [cASO](https://github.com/IFCA-Advanced-Computing/caso/releases) -- [SSM](https://github.com/apel/ssm/releases) + +- [cASO](https://github.com/IFCA-Advanced-Computing/caso/releases). cASO + containers are available in the + [fedcloud-caso](https://github.com/EGI-Federation/fedcloud-catchall-operations/pkgs/container/fedcloud-caso) + package from + [fedcloud-catchall-operations](https://github.com/EGI-Federation/fedcloud-catchall-operations) +- [SSM](https://github.com/apel/ssm/releases). ## Open Ports From cc9bc2936052f06f87fadb23ea44030545e0ce67 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Mon, 18 Dec 2023 15:53:57 +0000 Subject: [PATCH 10/24] No cloudkeeper --- content/en/providers/cloud-compute/requirements/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/providers/cloud-compute/requirements/_index.md b/content/en/providers/cloud-compute/requirements/_index.md index efddeecc48..a92f1f568d 100644 --- a/content/en/providers/cloud-compute/requirements/_index.md +++ b/content/en/providers/cloud-compute/requirements/_index.md @@ -19,10 +19,10 @@ The general minimum requirements are described below. components in general do lightweight operations by interacting with your services APIs. - - Image sync requires enough disk space to download and convert images before - uploading into your local catalogue. The number and size of images which + - Image sync requires enough space to store the community images into your + local catalogue. The number and size of images which will be downloaded depends on the communities you plan to support. For the - piloting VO `vo.access.egi.eu`, 100GB of disk should be enough. + operations VO `ops`, a < 4GB image is used. - Servers need X.509 host certificates in order to authenticate to each other or to act as public endpoints in the EGI Federated Cloud context. For accounting From 3470b21e7c76968065edd90cfcb8f72effb38910 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 9 Jan 2024 14:04:54 +0000 Subject: [PATCH 11/24] Add email to the mapping --- content/en/providers/cloud-compute/openstack/vo_config.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/en/providers/cloud-compute/openstack/vo_config.md b/content/en/providers/cloud-compute/openstack/vo_config.md index d47fda784a..6a5525dcaf 100644 --- a/content/en/providers/cloud-compute/openstack/vo_config.md +++ b/content/en/providers/cloud-compute/openstack/vo_config.md @@ -47,7 +47,8 @@ for the VOs are listed in "local": [ { "user": { - "name": "{0}" + "name": "{0}", + "email": "{1}" }, "group": { "id": "" @@ -58,6 +59,9 @@ for the VOs are listed in { "type": "HTTP_OIDC_SUB" }, + { + "type": "HTTP_OIDC_EMAIL" + }, { "type": "HTTP_OIDC_ISS", "any_one_of": [ From 98bf03821f42bb388e53f8d665e0357dbc2b7caa Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 9 Jan 2024 14:05:03 +0000 Subject: [PATCH 12/24] Improve AAI integration --- .../providers/cloud-compute/openstack/aai.md | 501 ++++++++---------- 1 file changed, 232 insertions(+), 269 deletions(-) diff --git a/content/en/providers/cloud-compute/openstack/aai.md b/content/en/providers/cloud-compute/openstack/aai.md index 097c34323f..7b9eae9393 100644 --- a/content/en/providers/cloud-compute/openstack/aai.md +++ b/content/en/providers/cloud-compute/openstack/aai.md @@ -140,6 +140,8 @@ OIDCClaimPrefix "OIDC-" OIDCClaimDelimiter ; OIDCScope "openid profile email eduperson_entitlement" OIDCProviderMetadataURL https://aai-demo.egi.eu/auth/realms/egi/.well-known/openid-configuration +# PKCE method +OIDCPKCEMethod S256 OIDCClientID OIDCClientSecret OIDCCryptoPassphrase @@ -192,6 +194,168 @@ http-request set-header X-Forwarded-Port %[dst_port] {{% /alert %}} +### Multiple OIDC providers + +If your OpenStack deployment needs to support multiple identity providers +(besides EGI Check-in) you will need to configure `mod_auth_openidc` to support +[multiple providers](https://github.com/zmartzone/mod_auth_openidc/wiki/Multiple-Providers#discovery) +and use an OAuth2.0 token introspection proxy like +[ESACO](https://github.com/indigo-iam/esaco). + +#### `mod_auth_openidc` configuration + +First, create a directory to host each of the providers configuration, in our +case we will use `/var/lib/apache2/oidc/metadata`, but adapt this to your +specific needs. Ensure this directory is writable by the user running apache: + +```shell +mkdir -p /var/lib/apache2/oidc/metadata +chown -R www-data:www-data /var/lib/apache2/oidc/metadata +``` + +Set in your Apache configuration the `OIDCMetadataDir` pointing to that +directory + +```ApacheConf +OIDCMetadataDir /var/lib/apache2/oidc/metadata +``` + +You may remove the `OIDCProviderMetadataURL`, `OIDCClientID` and +`OIDCClientSecret` options from the Apache configuration as these will be now +set in new files created in the metadata directory. For every provider you will +support, you need to create 3 files: + +1. `.provider` + with the OpenID Connect Discovery OP JSON metadata. The easiest way to create + this file is getting its content from the OIDC server itself. For EGI + Check-in: + + ```shell + curl https://aai-demo.egi.eu/auth/realms/egi/.well-known/openid-configuration > \ + /var/lib/apache2/oidc/metadata/aai-demo.egi.eu%2Foidc.provider + ``` + +1. `.client` + with the client credentials. For EGI Check-in + (`aai-demo.egi.eu%2Foidc.client`): + + ```json + { + "client_id": "", + "client_secret": "" + } + ``` + +1. `.conf` + with any extra configuration for the provider. This may not be needed if all + your providers are similar. For example to specify the scopes to use for + Check-in, use a `aai-demo.egi.eu%2Foidc.conf` as follows: + + ```json + { + "scope": "openid email profile eduperson_entitlement", + "pkce_method": "S256" + } + ``` + +Now add for the providers you support new configuration in Apache to facilitate +the use of the dashboard. This is for a configuration of an `egi.eu` identity +provider with `openid` as protocol: + +```ApacheConf + + AuthType openid-connect + # This is your Redirect URI with a new iss= option added + OIDCDiscoverURL https:///v3/auth/OS-FEDERATION/websso/openid/redirect?iss=https%3A%2F%2Faai-demo.egi.eu%2Foidc%2F + # Ensure that the user is authenticated with the expected iss + Require claim iss:https://aai-demo.egi.eu/auth/realms/egi + Require valid-user + +``` + +#### ESACO configuration + +ESACO will handle OAuth tokens when users hit your Keystone from API/CLI. It +needs to run as a daemon that listens (by default) on port 8156. We will use +docker for facilitating the deployment: + +1. Create a yaml file with the configuration of the different providers + (`application.yaml`): + + ```yaml + oidc: + clients: + - issuer-url: https://aai-demo.egi.eu/auth/realms/egi + client-id: "" + client-secret: "" + - issuer-url: + client-id: "" + client-secret: "" + ``` + +1. Create a environment file with the ESACO credentials you want to use + (`esaco.env`): + + ```shell + # User name credential requested from clients introspecting tokens + ESACO_USER_NAME= + + # Password credential requested from clients introspecting tokens + ESACO_USER_PASSWORD= + ``` + +1. Run the ESACO server (adapt this as it better fits to run on your servers and + make it run permanently): + + ```shell + docker run -p 8156:8156 -d -env-file=esaco.env \ + -v application.yml:/esaco/config/application.yml:ro \ + indigoiam/esaco:latest + ``` + +1. Configure Keystone's Apache to use ESACO as OAuth introspection endpoint: + + ```ApacheConf + # point this to the host where ESACO is running + OIDCOAuthIntrospectionEndpoint http://localhost:8156/introspect + OIDCOAuthClientID + OIDCOAuthClientSecret + OIDCIDTokenIatSlack 3600 + ``` + +1. Configure also the locations in Apache that should use OAuth: + + ```ApacheConf + + Authtype oauth20 + Require valid-user + + + + Authtype oauth20 + Require valid-user + + ``` + +#### Horizon configuration + +In your Horizon configuration, set the list of providers and their mappings: + +```python +# this is the list that will show up in the dropdown menu +WEBSSO_CHOICES = ( + ("credentials", _("Keystone Credentials")), + ("egi.eu", _("EGI Check-in")), + ("other-idp", _("Other IdP")), +) + +# this maps the options above to keystone's idps and protocols +WEBSSO_IDP_MAPPING = { + "egi.eu": ("egi.eu", "openid"), + "other-idp": ("other-idp.com", "openid") +} +``` + ## Keystone Configuration Configure your `keystone.conf` to include in the `[auth]` section `openid` in @@ -302,8 +466,9 @@ $ cat mapping.egi.json "local": [ { "user": { - "name": "{0}" - }, + "name": "{0}", + "email": "{1}" + }, "group": { "id": "_ops_group_ID_" } @@ -313,6 +478,9 @@ $ cat mapping.egi.json { "type": "HTTP_OIDC_SUB" }, + { + "type": "HTTP_OIDC_EMAIL" + }, { "type": "HTTP_OIDC_ISS", "any_one_of": [ @@ -361,6 +529,10 @@ $ cat mapping.egi.json ] ``` +{{% alert title="Note" color="Info" %}} Note the use of the `HTTP_OIDC_EMAIL` in +the mapping will allow to store the user's email in your local +database.{{% /alert %}} + Create the mapping in Keystone: ```shell @@ -487,165 +659,6 @@ $ openstack --os-auth-url https:///v3 \ -## Multiple OIDC providers - -If your OpenStack deployment needs to support multiple identity providers -(besides EGI Check-in) you will need to configure `mod_auth_openidc` to support -[multiple providers](https://github.com/zmartzone/mod_auth_openidc/wiki/Multiple-Providers#discovery) -and use an OAuth2.0 token introspection proxy like -[ESACO](https://github.com/indigo-iam/esaco). - -### `mod_auth_openidc` configuration - -First, create a directory to host each of the providers configuration, in our -case we will use `/var/lib/apache2/oidc/metadata`, but adapt this to your -specific needs. Ensure this directory is writable by the user running apache: - -```shell -mkdir -p /var/lib/apache2/oidc/metadata -chown -R www-data:www-data /var/lib/apache2/oidc/metadata -``` - -Set in your Apache configuration the `OIDCMetadataDir` pointing to that -directory - -```ApacheConf -OIDCMetadataDir /var/lib/apache2/oidc/metadata -``` - -You may remove the `OIDCProviderMetadataURL`, `OIDCClientID` and -`OIDCClientSecret` options from the Apache configuration as these will be now -set in new files created in the metadata directory. For every provider you will -support, you need to create 3 files: - -1. `.provider` - with the OpenID Connect Discovery OP JSON metadata. The easiest way to create - this file is getting its content from the OIDC server itself. For EGI - Check-in: - - ```shell - curl https://aai-demo.egi.eu/auth/realms/egi/.well-known/openid-configuration > \ - /var/lib/apache2/oidc/metadata/aai-demo.egi.eu%2Foidc.provider - ``` - -1. `.client` - with the client credentials. For EGI Check-in - (`aai-demo.egi.eu%2Foidc.client`): - - ```json - { - "client_id": "", - "client_secret": "" - } - ``` - -1. `.conf` - with any extra configuration for the provider. This may not be needed if all - your providers are similar. For example to specify the scopes to use for - Check-in, use a `aai-demo.egi.eu%2Foidc.conf` as follows: - - ```json - { - "scope": "openid email profile eduperson_entitlement" - } - ``` - -Now add for the providers you support new configuration in Apache to facilitate -the use of the dashboard. This is for a configuration of an `egi.eu` identity -provider with `openid` as protocol: - -```ApacheConf - - AuthType openid-connect - # This is your Redirect URI with a new iss= option added - OIDCDiscoverURL https:///v3/auth/OS-FEDERATION/websso/openid/redirect?iss=https%3A%2F%2Faai-demo.egi.eu%2Foidc%2F - # Ensure that the user is authenticated with the expected iss - Require claim iss:https://aai-demo.egi.eu/auth/realms/egi - Require valid-user - -``` - -In your Horizon configuration, set the list of providers and their mappings: - -```python -# this is the list that will show up in the dropdown menu -WEBSSO_CHOICES = ( - ("credentials", _("Keystone Credentials")), - ("egi.eu", _("EGI Check-in")), - ("other-idp", _("Other IdP")), -) - -# this maps the options above to keystone's idps and protocols -WEBSSO_IDP_MAPPING = { - "egi.eu": ("egi.eu", "openid"), - "other-idp": ("other-idp.com", "openid") -} -``` - -### ESACO configuration - -ESACO will handle OAuth tokens when users hit your Keystone from API/CLI. It -needs to run as a daemon that listens (by default) on port 8156. We will use -docker for facilitating the deployment: - -1. Create a yaml file with the configuration of the different providers - (`application.yaml`): - - ```yaml - oidc: - clients: - - issuer-url: https://aai-demo.egi.eu/auth/realms/egi - client-id: "" - client-secret: "" - - issuer-url: - client-id: "" - client-secret: "" - ``` - -1. Create a environment file with the ESACO credentials you want to use - (`esaco.env`): - - ```shell - # User name credential requested from clients introspecting tokens - ESACO_USER_NAME= - - # Password credential requested from clients introspecting tokens - ESACO_USER_PASSWORD= - ``` - -1. Run the ESACO server (adapt this as it better fits to run on your servers and - make it run permanently): - - ```shell - docker run -p 8156:8156 -d -env-file=esaco.env \ - -v application.yml:/esaco/config/application.yml:ro \ - indigoiam/esaco:latest - ``` - -1. Configure Keystone's Apache to use ESACO as OAuth introspection endpoint: - - ```ApacheConf - # point this to the host where ESACO is running - OIDCOAuthIntrospectionEndpoint http://localhost:8156/introspect - OIDCOAuthClientID - OIDCOAuthClientSecret - OIDCIDTokenIatSlack 3600 - ``` - -1. Configure also the locations in Apache that should use OAuth: - - ```ApacheConf - - Authtype oauth20 - Require valid-user - - - - Authtype oauth20 - Require valid-user - - ``` - ## Moving to EGI Check-in production instance Once tests in the development instance of Check-in are successful, you can move @@ -667,7 +680,10 @@ request, you will need to update your configuration as follows: openstack mapping set --rules mapping.egi.json egi-mapping ``` -- Update Apache configuration to use `aai.egi.eu` instead of `aai-demo.egi.eu`: +- Update Apache configuration to use `aai.egi.eu` instead of `aai-demo.egi.eu`, + if you have multiple OIDC providers, you should as well update the providers + metadata and ESACO configuration. For the basic Apache configuration you + should set these values: ```ApacheConf OIDCProviderMetadataURL https://aai.egi.eu/auth/realms/egi/.well-known/openid-configuration @@ -679,124 +695,71 @@ make any changes to the client configuration, you need to submit a reconfiguration request through the [Federation Registry](https://aai.egi.eu/federation). {{% /alert %}} -## Client Migration to Keycloak - -Check-in is migrating its internal implementation to Keycloak. The Development -and Demo environments already using Keycloak since June 24th 2022 and Production -environment expected to migrate during July 2022. - -A general guide on migration is available on -[Check-in documentation](../../check-in/sp#client-migration-to-keycloak), in -this section we provide specific information for OpenStack providers. - -### Changes in Apache configuration +### Additional VOs -The new Keycloak endpoint has a different URL that needs to be updated in your -apache config. You will also need to add PKCE configuration. These are the -configuration parameters and their new values: +Once `ops` VO is working, you can include any further VOs you want to support as +documented in the [VO Configuration guide](./vo_config). can include as many +mappings as needed in the json file. Users will be members of all the groups -```ApacheConf -# update Metadata URL -OIDCProviderMetadataURL https://aai.egi.eu/auth/realms/egi/.well-known/openid-configuration -# Add PKCE method -OIDCPKCEMethod S256 -# update introspection endpoint -OIDCOAuthIntrospectionEndpoint https://aai.egi.eu/auth/realms/egi/protocol/openid-connect/token/introspect -``` +## Contacting EGI users -{{% alert title="Require claim" color="Warning" %}} If you use the -`Require claim iss:` in your Apache configuration to restrict the -issuer, please allow both the Keycloak and MitreID issuers during the transition -period, e.g.: +Federated users are created into a specific OpenStack domain for every +configured identity provider. All users within the egi.eu domain will have a +unique user name. For users whose community identity is managed by Check-in, +this identifier is of the form `@egi.eu`. The `` portion is +an opaque identifier issued by Check-in, for example: -```ApacheConf - - Require claim iss:https://aai.egi.eu/auth/realms/egi - Require claim iss:https://aai.egi.eu/oidc/ - ``` +$ openstack domain list ++----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ +| ID | Name | Enabled | Description | ++----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ +| 0125ed0ebc8045a49ed8c34c2a78740d | 0125ed0ebc8045a49ed8c34c2a78740d | True | Auto generated federated domain for Identity Provider: egi.eu | +| default | Default | True | The default domain | ++----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ -{{% /alert %}} - -#### Multiple OIDC providers - -{{% alert title="Note" color="Warning" %}} Configuration in this section is only -needed if you are using `mod_auth_oidc` with multiple providers {{% /alert %}} - -If you are using multiple OpenID Connect providers, you will need to add a new -configuration to your metadata directory: - -```shell -$ curl https://aai.egi.eu/auth/realms/egi/.well-known/openid-configuration > \ - /var/lib/apache2/oidc/metadata/aai.egi.eu%2Fauth%2Frealms%2Fegi.conf -# copy credentials from existing client -$ cp /var/lib/apache2/oidc/metadata/aai.egi.eu%2Foidc.client \ - /var/lib/apache2/oidc/metadata/aai.egi.eu%2Fauth%2Frealms%2Fegi.client -# create configuration for the client -$ cat > /var/lib/apache2/oidc/metadata/aai.egi.eu%2Fauth%2Frealms%2Fegi.conf << EOF -{ - "scope": "openid email profile eduperson_entitlement", - "pkce_method": "S256" -} -EOF +$ openstack user list --domain 0125ed0ebc8045a49ed8c34c2a78740d ++------------------------------------------------------------------+-------------------------------------------------------------------------+ +| ID | Name | ++------------------------------------------------------------------+-------------------------------------------------------------------------+ +| 2c096b11a1410d44e3936fa40479ad26eaa649cfd6887f06b3c6669e5d6c03d0 | efb8534478028XXXXXXXXXXXXXXXfeed9766fafc@sram.surf.nl | +| 933c692b53192e4d893e5ed5c026aa444acb4d75f6ee6c304422861207ce1ea5 | e9c37aa0d1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2867bc43581b835c@egi.eu | +| d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c | 529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907@egi.eu | ++------------------------------------------------------------------+-------------------------------------------------------------------------+ ``` -And update your Apache configuration for the authentication with Horizon: +If you have set the email of the user in the mapping, you will be able to also +get this information: -```ApacheConf - - AuthType openid-connect - # This is your Redirect URI with a new iss= option added - OIDCDiscoverURL https:///v3/auth/OS-FEDERATION/websso/openid/redirect?iss=https%3A%2F%2Faai.egi.eu%2Fauth%2Frealms%2Fegi - # Ensure that the user is authenticated with the expected iss - Require claim iss:https://aai.egi.eu/auth/realms/egi - Require valid-user - ``` - -Also update ESACO to include the configuration of the new endpoint URL: - -```yaml -oidc: - clients: - - issuer-url: https://aai.egi.eu/auth/realms/egi - client-id: "" - client-secret: "" - # other clients +$ openstack user show d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c ++---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Field | Value | ++---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| domain_id | 0125ed0ebc8045a49ed8c34c2a78740d | +| email | XXXX-redacted@exmple.com | +| enabled | True | +| federated | [{'idp_id': 'egi.eu', 'protocols': [{'protocol_id': 'openid', 'unique_id': '529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907%40egi.eu'}]}] | +| id | d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c | +| name | 529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907@egi.eu | +| options | {} | +| password_expires_at | None | ++---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ ``` -### Keystone configuration - -Similarly to the change from Demo to Production described -[above](#moving-to-egi-check-in-production-instance), you will need to update -the URLs on your configuration: +Every VO has a VO identity card available via the +[Operations Portal](https://operations-portal.egi.eu/vo/a/list), where you can +also get contact information for the VO managers. -1. Update the `remote-id` of the identity provider to also include the new - issuer: +VMs created by +[EGI's Infrastructure Manager](../../../users/compute/orchestration/im/) have +additional metadata properties that can help to identify the workload: - ```shell - $ openstack identity provider set --remote-id https://aai.egi.eu/auth/realms/egi --remote-id https://aai.egi.eu/oidc/ egi.eu - ``` - -1. Add the new issuer to the `HTTP_OIDC_ISS` filter in your mappings, keep both - the `https://aai.egi.eu/oidc/` and `https://aai.egi.eu/auth/realms/egi` so - users can still use their existing tokens. Check-in will handle the - validation of both kind of tokens automatically. The `HTTP_OIDC_ISS` section - should look as follows: - - ````json - { - "type": "HTTP_OIDC_ISS", - "any_one_of": [ - "https://aai.egi.eu/auth/realms/egi", - "https://aai.egi.eu/oidc/" - ] - } - - ```shell - $ openstack mapping set --rules mapping.egi.json egi-mapping - ```` - -As the new issuer is included in the `remote-id` configuration of the Keystone -identity provider, there should not be any changes in your users, they will be -still be able to manage owned resources after the change. +``` +$ openstack server show 0f3e1420-4480-4bea-95f1-9920a70b324d -c properties -f yaml +properties: + eu.egi.cloud.orchestrator: es.upv.grycap.im + eu.egi.cloud.orchestrator.id: 0afdc7ba-bf5d-11ed-9e89-86ce117c3fcf + eu.egi.cloud.orchestrator.url: https://appsgrycap.i3m.upv.es:31443/im + eu.egi.cloud.orchestrator.user: __OPENID__XXXXXXredacted +``` From 53dc40042018fcddb241c64653e51553e1873403 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 9 Jan 2024 15:11:08 +0000 Subject: [PATCH 13/24] Improve files --- content/en/providers/cloud-compute/_index.md | 4 ++-- .../en/providers/cloud-compute/openstack/aai.md | 15 +++++++-------- .../cloud-compute/openstack/vo_config.md | 3 +++ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/content/en/providers/cloud-compute/_index.md b/content/en/providers/cloud-compute/_index.md index dac61dcc93..a325b81d27 100644 --- a/content/en/providers/cloud-compute/_index.md +++ b/content/en/providers/cloud-compute/_index.md @@ -32,10 +32,10 @@ The series of actions that needs to be taken to achieve Cloud integration is summarised below: 1. **Registration and certification** of the site as a - [Federated Resource Centre](../../joining/federated-resource-centre) + [Federated Resource Centre](../joining/federated-resource-centre/) 1. **Requirements** - hardware and software, network configuration 1. **Registration of endpoints in the Configuration Database** - ([GOCDB](../goc)), a service provided by EGI as a central registry to record + ([GOCDB](../../internal/configuration-database/)), a service provided by EGI as a central registry to record information about the EGI Infrastructure topology and which contains general information about all participating sites 1. **Authentication and Authorization Integration** (AAI), including the setup diff --git a/content/en/providers/cloud-compute/openstack/aai.md b/content/en/providers/cloud-compute/openstack/aai.md index 7b9eae9393..a462a9d5c6 100644 --- a/content/en/providers/cloud-compute/openstack/aai.md +++ b/content/en/providers/cloud-compute/openstack/aai.md @@ -698,18 +698,17 @@ reconfiguration request through the ### Additional VOs Once `ops` VO is working, you can include any further VOs you want to support as -documented in the [VO Configuration guide](./vo_config). can include as many -mappings as needed in the json file. Users will be members of all the groups +documented in the [VO Configuration guide](./vo_config/). ## Contacting EGI users Federated users are created into a specific OpenStack domain for every configured identity provider. All users within the egi.eu domain will have a -unique user name. For users whose community identity is managed by Check-in, -this identifier is of the form `@egi.eu`. The `` portion is -an opaque identifier issued by Check-in, for example: +unique username. For users whose community identity is managed by Check-in, this +identifier is of the form `@egi.eu`. The `` portion is an +opaque identifier issued by Check-in, for example: -``` +```shell $ openstack domain list +----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ | ID | Name | Enabled | Description | @@ -731,7 +730,7 @@ $ openstack user list --domain 0125ed0ebc8045a49ed8c34c2a78740d If you have set the email of the user in the mapping, you will be able to also get this information: -``` +```shell $ openstack user show d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | @@ -755,7 +754,7 @@ VMs created by [EGI's Infrastructure Manager](../../../users/compute/orchestration/im/) have additional metadata properties that can help to identify the workload: -``` +```shell $ openstack server show 0f3e1420-4480-4bea-95f1-9920a70b324d -c properties -f yaml properties: eu.egi.cloud.orchestrator: es.upv.grycap.im diff --git a/content/en/providers/cloud-compute/openstack/vo_config.md b/content/en/providers/cloud-compute/openstack/vo_config.md index 6a5525dcaf..c7ad74bae9 100644 --- a/content/en/providers/cloud-compute/openstack/vo_config.md +++ b/content/en/providers/cloud-compute/openstack/vo_config.md @@ -86,6 +86,9 @@ And update the mapping in your Keystone IdP: $ openstack mapping set --rules mapping.json egi-mapping ``` +You can include as many mappings as needed in the json file. Users will be +members of all the matching groups. + ## Accounting Add the project supporting the VO to cASO: From 83de0321bcbad3e949b89ccba3168675388f0b0b Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 9 Jan 2024 15:20:28 +0000 Subject: [PATCH 14/24] Improve registration --- content/en/providers/cloud-compute/_index.md | 14 +++++++++----- .../providers/cloud-compute/requirements/_index.md | 6 +++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/content/en/providers/cloud-compute/_index.md b/content/en/providers/cloud-compute/_index.md index a325b81d27..74d709dd4a 100644 --- a/content/en/providers/cloud-compute/_index.md +++ b/content/en/providers/cloud-compute/_index.md @@ -32,12 +32,16 @@ The series of actions that needs to be taken to achieve Cloud integration is summarised below: 1. **Registration and certification** of the site as a - [Federated Resource Centre](../joining/federated-resource-centre/) -1. **Requirements** - hardware and software, network configuration + [Federated Resource Centre](../joining/federated-resource-centre/). Briefly a + site parses several intermediate stages (part of + [PROC09 Resource Centre Registration and Certification procedure](https://confluence.egi.eu/display/EGIPP/PROC09+Resource+Centre+Registration+and+Certification)) - + Registered, Candidate, Uncertified - until fully Certified. +1. [**Requirements**](./requirements/) - hardware and software, network + configuration 1. **Registration of endpoints in the Configuration Database** - ([GOCDB](../../internal/configuration-database/)), a service provided by EGI as a central registry to record - information about the EGI Infrastructure topology and which contains general - information about all participating sites + ([GOCDB](../../internal/configuration-database/)), a service provided by EGI + as a central registry to record information about the EGI Infrastructure + topology and which contains general information about all participating sites 1. **Authentication and Authorization Integration** (AAI), including the setup of an `ops` local project that will be used for monitoring your site 1. **Accounting** configuration diff --git a/content/en/providers/cloud-compute/requirements/_index.md b/content/en/providers/cloud-compute/requirements/_index.md index a92f1f568d..6b6be4cda3 100644 --- a/content/en/providers/cloud-compute/requirements/_index.md +++ b/content/en/providers/cloud-compute/requirements/_index.md @@ -20,9 +20,9 @@ The general minimum requirements are described below. services APIs. - Image sync requires enough space to store the community images into your - local catalogue. The number and size of images which - will be downloaded depends on the communities you plan to support. For the - operations VO `ops`, a < 4GB image is used. + local catalogue. The number and size of images which will be downloaded + depends on the communities you plan to support. For the operations VO `ops`, + a < 4GB image is used. - Servers need X.509 host certificates in order to authenticate to each other or to act as public endpoints in the EGI Federated Cloud context. For accounting From b447a8c92a564f43718691cdde8788d23f91909a Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 9 Jan 2024 15:22:11 +0000 Subject: [PATCH 15/24] Fix link --- content/en/providers/cloud-compute/registration/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/providers/cloud-compute/registration/_index.md b/content/en/providers/cloud-compute/registration/_index.md index 8c59699897..5c86c8e934 100644 --- a/content/en/providers/cloud-compute/registration/_index.md +++ b/content/en/providers/cloud-compute/registration/_index.md @@ -12,7 +12,7 @@ services can coexist within an existing (Grid) site, but we are recommending to register a new site for the cloud services (as per [PROC09 Resource Centre Registration and Certification](https://confluence.egi.eu/display/EGIPP/PROC09+Resource+Centre+Registration+and+Certification) procedure - see -[Registration and Certification](../registration-and-certification) section) +[Joining as a provider](../../joining/federated-resource-centre/) section) ## Expected Services From 3872017b9206eec7a237fb22d4f75629e5091e10 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 9 Jan 2024 15:30:59 +0000 Subject: [PATCH 16/24] Move into separate dirs --- content/en/providers/cloud-compute/_index.md | 5 ++--- .../cloud-compute/openstack/{aai.md => aai/_index.md} | 4 ++-- .../openstack/{accounting.md => accounting/_index.md} | 0 .../openstack/{cloud-info.md => cloud-info/_index.md} | 0 .../cloud-compute/openstack/{gpu.md => gpu/_index.md} | 0 .../openstack/{vo_config.md => vo-config/_index.md} | 0 6 files changed, 4 insertions(+), 5 deletions(-) rename content/en/providers/cloud-compute/openstack/{aai.md => aai/_index.md} (99%) rename content/en/providers/cloud-compute/openstack/{accounting.md => accounting/_index.md} (100%) rename content/en/providers/cloud-compute/openstack/{cloud-info.md => cloud-info/_index.md} (100%) rename content/en/providers/cloud-compute/openstack/{gpu.md => gpu/_index.md} (100%) rename content/en/providers/cloud-compute/openstack/{vo_config.md => vo-config/_index.md} (100%) diff --git a/content/en/providers/cloud-compute/_index.md b/content/en/providers/cloud-compute/_index.md index 74d709dd4a..0cd2885f4e 100644 --- a/content/en/providers/cloud-compute/_index.md +++ b/content/en/providers/cloud-compute/_index.md @@ -33,9 +33,8 @@ summarised below: 1. **Registration and certification** of the site as a [Federated Resource Centre](../joining/federated-resource-centre/). Briefly a - site parses several intermediate stages (part of - [PROC09 Resource Centre Registration and Certification procedure](https://confluence.egi.eu/display/EGIPP/PROC09+Resource+Centre+Registration+and+Certification)) - - Registered, Candidate, Uncertified - until fully Certified. + site parses several intermediate stages - Registered, Candidate, + Uncertified - until fully Certified. 1. [**Requirements**](./requirements/) - hardware and software, network configuration 1. **Registration of endpoints in the Configuration Database** diff --git a/content/en/providers/cloud-compute/openstack/aai.md b/content/en/providers/cloud-compute/openstack/aai/_index.md similarity index 99% rename from content/en/providers/cloud-compute/openstack/aai.md rename to content/en/providers/cloud-compute/openstack/aai/_index.md index a462a9d5c6..ad7bfe0890 100644 --- a/content/en/providers/cloud-compute/openstack/aai.md +++ b/content/en/providers/cloud-compute/openstack/aai/_index.md @@ -698,7 +698,7 @@ reconfiguration request through the ### Additional VOs Once `ops` VO is working, you can include any further VOs you want to support as -documented in the [VO Configuration guide](./vo_config/). +documented in the [VO Configuration guide](./vo_config). ## Contacting EGI users @@ -736,7 +736,7 @@ $ openstack user show d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c459816 | Field | Value | +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | domain_id | 0125ed0ebc8045a49ed8c34c2a78740d | -| email | XXXX-redacted@exmple.com | +| email | XXXX-redacted@example.com | | enabled | True | | federated | [{'idp_id': 'egi.eu', 'protocols': [{'protocol_id': 'openid', 'unique_id': '529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907%40egi.eu'}]}] | | id | d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c | diff --git a/content/en/providers/cloud-compute/openstack/accounting.md b/content/en/providers/cloud-compute/openstack/accounting/_index.md similarity index 100% rename from content/en/providers/cloud-compute/openstack/accounting.md rename to content/en/providers/cloud-compute/openstack/accounting/_index.md diff --git a/content/en/providers/cloud-compute/openstack/cloud-info.md b/content/en/providers/cloud-compute/openstack/cloud-info/_index.md similarity index 100% rename from content/en/providers/cloud-compute/openstack/cloud-info.md rename to content/en/providers/cloud-compute/openstack/cloud-info/_index.md diff --git a/content/en/providers/cloud-compute/openstack/gpu.md b/content/en/providers/cloud-compute/openstack/gpu/_index.md similarity index 100% rename from content/en/providers/cloud-compute/openstack/gpu.md rename to content/en/providers/cloud-compute/openstack/gpu/_index.md diff --git a/content/en/providers/cloud-compute/openstack/vo_config.md b/content/en/providers/cloud-compute/openstack/vo-config/_index.md similarity index 100% rename from content/en/providers/cloud-compute/openstack/vo_config.md rename to content/en/providers/cloud-compute/openstack/vo-config/_index.md From 009e1ab45c87d9c917d7af2cf3a2dfd99ed1abbb Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 9 Jan 2024 15:31:23 +0000 Subject: [PATCH 17/24] Fix link --- content/en/providers/cloud-compute/openstack/aai/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/providers/cloud-compute/openstack/aai/_index.md b/content/en/providers/cloud-compute/openstack/aai/_index.md index ad7bfe0890..8aa77ad00a 100644 --- a/content/en/providers/cloud-compute/openstack/aai/_index.md +++ b/content/en/providers/cloud-compute/openstack/aai/_index.md @@ -698,7 +698,7 @@ reconfiguration request through the ### Additional VOs Once `ops` VO is working, you can include any further VOs you want to support as -documented in the [VO Configuration guide](./vo_config). +documented in the [VO Configuration guide](../vo-config). ## Contacting EGI users From c01357f970326447d9240db2f47d3be9552af877 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Wed, 10 Jan 2024 11:13:53 +0000 Subject: [PATCH 18/24] Align mail and description --- content/en/providers/cloud-compute/_index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/content/en/providers/cloud-compute/_index.md b/content/en/providers/cloud-compute/_index.md index 0cd2885f4e..4c4ece9d3e 100644 --- a/content/en/providers/cloud-compute/_index.md +++ b/content/en/providers/cloud-compute/_index.md @@ -7,9 +7,8 @@ type: "docs" This documentation covers how to join the EGI Cloud federation (also known as Federated Cloud or FedCloud) as a provider.  If you are interested in joining -please first contact EGI Operations team at -[support@egi.eu](mailto:support@egi.eu), expressing interest and providing few -details about: +please first contact EGI at [support@egi.eu](mailto:support@egi.eu), expressing +interest and providing few details about: - the projects you may be involved in as a cloud provider - the user communities you want to support (i.e. From fbb32a669ea4e3ac987264347f1a2d57655c9357 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Wed, 10 Jan 2024 11:14:03 +0000 Subject: [PATCH 19/24] Fix header --- content/en/providers/cloud-compute/openstack/aai/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/providers/cloud-compute/openstack/aai/_index.md b/content/en/providers/cloud-compute/openstack/aai/_index.md index 8aa77ad00a..cf088d553d 100644 --- a/content/en/providers/cloud-compute/openstack/aai/_index.md +++ b/content/en/providers/cloud-compute/openstack/aai/_index.md @@ -700,7 +700,7 @@ reconfiguration request through the Once `ops` VO is working, you can include any further VOs you want to support as documented in the [VO Configuration guide](../vo-config). -## Contacting EGI users +## User identification Federated users are created into a specific OpenStack domain for every configured identity provider. All users within the egi.eu domain will have a From 0b3efba6f0c6f28aa768d8103fd20bea9e63d856 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Wed, 10 Jan 2024 11:31:55 +0000 Subject: [PATCH 20/24] Move user section from AAI --- .../cloud-compute/openstack/_index.md | 77 ++++++++++++++++++- .../cloud-compute/openstack/aai/_index.md | 63 --------------- 2 files changed, 73 insertions(+), 67 deletions(-) diff --git a/content/en/providers/cloud-compute/openstack/_index.md b/content/en/providers/cloud-compute/openstack/_index.md index b4339892cc..259c0f713e 100644 --- a/content/en/providers/cloud-compute/openstack/_index.md +++ b/content/en/providers/cloud-compute/openstack/_index.md @@ -79,9 +79,78 @@ The EGI Cloud components require the following outgoing connections open: -## Accounts in OpenStack +## Users -User accounts will be managed by the +### Local Users + +In order to get accounting information from your OpenStack, cASO needs to be run +with a user that is a member of the projects to extract accoutning information +from and it's allowed to access `identity:list_users` and +`identity:list_projects` in Keystone. Check +[cASO documentation](https://caso.readthedocs.io/en/stable/configuration.html#user-credentials-required) +for further information. + +### Federated Users + +Regular user accounts will be managed by the [Federated Identity](https://docs.openstack.org/keystone/latest/admin/federation/federated_identity.html) -features of OpenStack. cASO expects to be run with a user that is allowed to -access `identity:list_users` and `identity:list_projects` in Keystone. +features of OpenStack. These users are created into a specific OpenStack domain +for every configured identity provider. All users within the `egi.eu` domain +will have a unique username. For users whose community identity is managed by +Check-in, this identifier is of the form `@egi.eu`. The `` +portion is an opaque identifier issued by Check-in, for example: + +```shell +$ openstack domain list ++----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ +| ID | Name | Enabled | Description | ++----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ +| 0125ed0ebc8045a49ed8c34c2a78740d | 0125ed0ebc8045a49ed8c34c2a78740d | True | Auto generated federated domain for Identity Provider: egi.eu | +| default | Default | True | The default domain | ++----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ + +$ openstack user list --domain 0125ed0ebc8045a49ed8c34c2a78740d ++------------------------------------------------------------------+-------------------------------------------------------------------------+ +| ID | Name | ++------------------------------------------------------------------+-------------------------------------------------------------------------+ +| 2c096b11a1410d44e3936fa40479ad26eaa649cfd6887f06b3c6669e5d6c03d0 | efb8534478028XXXXXXXXXXXXXXXfeed9766fafc@sram.surf.nl | +| 933c692b53192e4d893e5ed5c026aa444acb4d75f6ee6c304422861207ce1ea5 | e9c37aa0d1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2867bc43581b835c@egi.eu | +| d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c | 529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907@egi.eu | ++------------------------------------------------------------------+-------------------------------------------------------------------------+ +``` + +If you have set the email of the user in the mapping, you will be able to also +get this information: + +```shell +$ openstack user show d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c ++---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Field | Value | ++---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| domain_id | 0125ed0ebc8045a49ed8c34c2a78740d | +| email | XXXX-redacted@example.com | +| enabled | True | +| federated | [{'idp_id': 'egi.eu', 'protocols': [{'protocol_id': 'openid', 'unique_id': '529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907%40egi.eu'}]}] | +| id | d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c | +| name | 529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907@egi.eu | +| options | {} | +| password_expires_at | None | ++---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ +``` + +Every VO has a VO identity card available via the +[Operations Portal](https://operations-portal.egi.eu/vo/a/list), where you can +also get contact information for the VO managers. + +VMs created by +[EGI's Infrastructure Manager](../../../users/compute/orchestration/im/) have +additional metadata properties that can help to identify the workload: + +```shell +$ openstack server show 0f3e1420-4480-4bea-95f1-9920a70b324d -c properties -f yaml +properties: + eu.egi.cloud.orchestrator: es.upv.grycap.im + eu.egi.cloud.orchestrator.id: 0afdc7ba-bf5d-11ed-9e89-86ce117c3fcf + eu.egi.cloud.orchestrator.url: https://appsgrycap.i3m.upv.es:31443/im + eu.egi.cloud.orchestrator.user: __OPENID__XXXXXXredacted +``` diff --git a/content/en/providers/cloud-compute/openstack/aai/_index.md b/content/en/providers/cloud-compute/openstack/aai/_index.md index cf088d553d..4f49bfafed 100644 --- a/content/en/providers/cloud-compute/openstack/aai/_index.md +++ b/content/en/providers/cloud-compute/openstack/aai/_index.md @@ -699,66 +699,3 @@ reconfiguration request through the Once `ops` VO is working, you can include any further VOs you want to support as documented in the [VO Configuration guide](../vo-config). - -## User identification - -Federated users are created into a specific OpenStack domain for every -configured identity provider. All users within the egi.eu domain will have a -unique username. For users whose community identity is managed by Check-in, this -identifier is of the form `@egi.eu`. The `` portion is an -opaque identifier issued by Check-in, for example: - -```shell -$ openstack domain list -+----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ -| ID | Name | Enabled | Description | -+----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ -| 0125ed0ebc8045a49ed8c34c2a78740d | 0125ed0ebc8045a49ed8c34c2a78740d | True | Auto generated federated domain for Identity Provider: egi.eu | -| default | Default | True | The default domain | -+----------------------------------+----------------------------------+---------+---------------------------------------------------------------+ - -$ openstack user list --domain 0125ed0ebc8045a49ed8c34c2a78740d -+------------------------------------------------------------------+-------------------------------------------------------------------------+ -| ID | Name | -+------------------------------------------------------------------+-------------------------------------------------------------------------+ -| 2c096b11a1410d44e3936fa40479ad26eaa649cfd6887f06b3c6669e5d6c03d0 | efb8534478028XXXXXXXXXXXXXXXfeed9766fafc@sram.surf.nl | -| 933c692b53192e4d893e5ed5c026aa444acb4d75f6ee6c304422861207ce1ea5 | e9c37aa0d1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2867bc43581b835c@egi.eu | -| d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c | 529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907@egi.eu | -+------------------------------------------------------------------+-------------------------------------------------------------------------+ -``` - -If you have set the email of the user in the mapping, you will be able to also -get this information: - -```shell -$ openstack user show d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c -+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Field | Value | -+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| domain_id | 0125ed0ebc8045a49ed8c34c2a78740d | -| email | XXXX-redacted@example.com | -| enabled | True | -| federated | [{'idp_id': 'egi.eu', 'protocols': [{'protocol_id': 'openid', 'unique_id': '529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907%40egi.eu'}]}] | -| id | d52112709a37975903576f80f37dde4604d1a227c53cb1fef43c45981673640c | -| name | 529a87e5ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe714cb1309cc3907@egi.eu | -| options | {} | -| password_expires_at | None | -+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ -``` - -Every VO has a VO identity card available via the -[Operations Portal](https://operations-portal.egi.eu/vo/a/list), where you can -also get contact information for the VO managers. - -VMs created by -[EGI's Infrastructure Manager](../../../users/compute/orchestration/im/) have -additional metadata properties that can help to identify the workload: - -```shell -$ openstack server show 0f3e1420-4480-4bea-95f1-9920a70b324d -c properties -f yaml -properties: - eu.egi.cloud.orchestrator: es.upv.grycap.im - eu.egi.cloud.orchestrator.id: 0afdc7ba-bf5d-11ed-9e89-86ce117c3fcf - eu.egi.cloud.orchestrator.url: https://appsgrycap.i3m.upv.es:31443/im - eu.egi.cloud.orchestrator.user: __OPENID__XXXXXXredacted -``` From ac73c3379ecb5aee2f0821cdffd3e3e04341dde7 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 30 Jan 2024 14:50:42 +0000 Subject: [PATCH 21/24] Fix link --- content/en/providers/cloud-compute/openstack/aai/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/providers/cloud-compute/openstack/aai/_index.md b/content/en/providers/cloud-compute/openstack/aai/_index.md index 4f49bfafed..c4ffcf14b5 100644 --- a/content/en/providers/cloud-compute/openstack/aai/_index.md +++ b/content/en/providers/cloud-compute/openstack/aai/_index.md @@ -612,7 +612,7 @@ resources. ### Additional VOs To configure additional VOs please follow steps in the -[VO Configuration guide](./vo_config/). +[VO Configuration guide](../vo_config/). ## Horizon Configuration From 3a8be939f3b6936594f76365c3466ed6444e3e29 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 30 Jan 2024 15:29:50 +0000 Subject: [PATCH 22/24] Minor improvements to text --- .../cloud-compute/openstack/aai/_index.md | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/content/en/providers/cloud-compute/openstack/aai/_index.md b/content/en/providers/cloud-compute/openstack/aai/_index.md index c4ffcf14b5..2d69751c41 100644 --- a/content/en/providers/cloud-compute/openstack/aai/_index.md +++ b/content/en/providers/cloud-compute/openstack/aai/_index.md @@ -432,32 +432,29 @@ Set the name to egi.eu (if it was set to random auto-generated number): $ openstack domain set --name egi.eu $(openstack identity provider show -f value -c domain_id egi.eu) ``` -Create a group per VO that you want to support: +Create a group and add a domain-wide role for auditing purposes (see below): ```shell -# Support for https://operations-portal.egi.eu/vo/view/voname/ops -$ openstack group create ops - # Support for https://operations-portal.egi.eu/vo/view/voname/cloud.egi.eu $ openstack group create --domain egi.eu egi-staff +$ openstack role add --domain egi.eu --group egi-staff reader ``` -Add groups to the desired local project: - -```shell -$ openstack role add --group ops --project ops member -``` - -Add a domain-wide role for auditing purposes (see below): +Every VO you want to support should be mapped to a local project. The `ops` VO +is used by [EGI monitoring](/internal/monitoring/) to ensure the correct +functioning of your site. Create a group for this vo and add the group as a +member of it: ```shell -$ openstack role add --domain egi.eu --group egi-staff reader +# Support for https://operations-portal.egi.eu/vo/view/voname/ops +$ openstack group create ops +$ openstack role add --domain egi.eu --group ops --project member ``` -Define a mapping of users from EGI Check-in to the group just created and -restrict with the `OIDC-eduperson_entitlement` the VOs you want to support for -that group. Substitute the group ID and the allowed entitlements for the -adequate values for your deployment: +Now you can define the mapping of EGI Check-in users into the groups you just +created and restrict with the `OIDC-eduperson_entitlement` attribute which users +will be members of those groups. Substitute the group IDs to the adequate values +for your deployment: ```shell $ cat mapping.egi.json @@ -468,7 +465,7 @@ $ cat mapping.egi.json "user": { "name": "{0}", "email": "{1}" - }, + }, "group": { "id": "_ops_group_ID_" } @@ -500,9 +497,10 @@ $ cat mapping.egi.json "local": [ { "user": { - "name": "{0}" - }, - "group": { + "name": "{0}", + "email": "{1}" + }, + "group": { "id": "_egi-staff_group_ID_" } } @@ -511,6 +509,9 @@ $ cat mapping.egi.json { "type": "HTTP_OIDC_SUB" }, + { + "type": "HTTP_OIDC_EMAIL" + }, { "type": "HTTP_OIDC_ISS", "any_one_of": [ @@ -565,9 +566,9 @@ check whether occupied resources can be freed. EGI Check-in users get an `ePUID` (i.e. a long hash ending in `@egi.eu`) which are translated into local OpenStack user IDs. When VMs are created the owner of -the VM is set to the OpenStack user ID instead of the `ePUID`. However, only -the `ePUID` is linked to the user email in order for the user to be notified. -The mapping between OpenStack user IDs and `ePUIDs` is shown with: +the VM is set to the OpenStack user ID instead of the `ePUID`. However, only the +`ePUID` is linked to the user email in order for the user to be notified. The +mapping between OpenStack user IDs and `ePUIDs` is shown with: ```shell $ openstack user list @@ -575,19 +576,19 @@ $ openstack user list Problem is that regular users will not have the permissions to execute the command above. The steps above to configure a mapping for the `cloud.egi.eu` VO -grant access to staff at EGI.eu to execute the command, using the default -keystone policy: +grant access to selected staff at EGI.eu to execute the command, using the +default keystone policy: ```json "identity:list_users": "(role:reader and system_scope:all) or (role:reader and domain_id:%(target.domain_id)s)" ``` This has been tested in production on OpenStack Ussuri thanks to the -collaboration between EGI.eu and IISAS-Fedcloud. It should also work with -newer versions of OpenStack. +collaboration between EGI.eu and IISAS-Fedcloud. It should also work with newer +versions of OpenStack. -EGI.eu staff belonging to the `cloud.egi.eu` VO should use the below setup -to get the OpenStack user list: +EGI.eu staff belonging to the `cloud.egi.eu` VO having the auditor role should +use the below setup to get the OpenStack user list: ```shell export OS_INTERFACE=public @@ -605,9 +606,8 @@ export OS_DOMAIN_NAME=egi.eu $ openstack user list ``` -With this configuration EGI.eu staff is able to proactively notify creators -of long-running VMs that may not be making an effective use of the cloud -resources. +With this configuration EGI.eu staff is able to proactively notify creators of +long-running VMs that may not be making an effective use of the cloud resources. ### Additional VOs From 3d7abe913435830f384b95c6077968e1f1be3c48 Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Tue, 30 Jan 2024 15:36:27 +0000 Subject: [PATCH 23/24] Fix spelling From 9aa134bb18c2e6b2d747b3e9223cee019a2b626f Mon Sep 17 00:00:00 2001 From: Enol Fernandez Date: Thu, 1 Feb 2024 12:58:20 +0000 Subject: [PATCH 24/24] Spelling fixes --- .../cloud-compute/openstack/_index.md | 2 +- .../cloud-compute/openstack/gpu/_index.md | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/content/en/providers/cloud-compute/openstack/_index.md b/content/en/providers/cloud-compute/openstack/_index.md index 259c0f713e..b5c1110db4 100644 --- a/content/en/providers/cloud-compute/openstack/_index.md +++ b/content/en/providers/cloud-compute/openstack/_index.md @@ -84,7 +84,7 @@ The EGI Cloud components require the following outgoing connections open: ### Local Users In order to get accounting information from your OpenStack, cASO needs to be run -with a user that is a member of the projects to extract accoutning information +with a user that is a member of the projects to extract accounting information from and it's allowed to access `identity:list_users` and `identity:list_projects` in Keystone. Check [cASO documentation](https://caso.readthedocs.io/en/stable/configuration.html#user-credentials-required) diff --git a/content/en/providers/cloud-compute/openstack/gpu/_index.md b/content/en/providers/cloud-compute/openstack/gpu/_index.md index 9388e8bed9..b1e1fefe03 100644 --- a/content/en/providers/cloud-compute/openstack/gpu/_index.md +++ b/content/en/providers/cloud-compute/openstack/gpu/_index.md @@ -49,15 +49,15 @@ Users should be able to easily discover the flavours that provide GPUs (or accelerators in general). The following table describes the agreed metadata for EGI providers to add to those flavours: -| Metadata | Definition | Comments | -| ------------------------------ | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Accelerator:Type | Type of accelerator (e.g. `GPU`) | Possible values: `GPU`, `MIC`, `FPGA`, `TPU`, `NPU` | -| Accelerator:Number | Number of accelerators available in the flavour (e.g. `1.0`) | Non integers allowed for the case of sharing GPU between VMs | -| Accelerator:Vendor | Name of accelerator Vendor (e.g. `NVIDIA`) | | -| Accelerator:Model | Model of accelerator (e.g. `Tesla V100`) | Need to make consensus and enforce. A100 is usually marketed without "Tesla" classname. Similarly, RTX A6000 usually marketed without “GeForce”. For clarity, full names should be used: “Tesla A100” and “GeForce RTX A6000” | -| Accelerator:Version | Version of the accelerator | Some cards have different versions, e.g. A100 PCIe and NVLink. Openstack does not allow empty value, so we should give 0 if no version is specified | -| Accelerator:Memory | RAM in GB of the accelerator | | -| Accelerator:VirtualizationType | Type of virtualisation used (e.g. `PCI passthrough`) | Not relevant for accounting, but may be still useful in some cases | +| Metadata | Definition | Comments | +| ------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Accelerator:Type | Type of accelerator (e.g. `GPU`) | Possible values: `GPU`, `MIC`, `FPGA`, `TPU`, `NPU` | +| Accelerator:Number | Number of accelerators available in the flavour (e.g. `1.0`) | Non integers allowed for the case of sharing GPU between VMs | +| Accelerator:Vendor | Name of accelerator Vendor (e.g. `NVIDIA`) | | +| Accelerator:Model | Model of accelerator (e.g. `Tesla V100`) | Need to make consensus and enforce. A100 is usually marketed without "Tesla" class name. Similarly, RTX A6000 usually marketed without “GeForce”. For clarity, full names should be used: “Tesla A100” and “GeForce RTX A6000” | +| Accelerator:Version | Version of the accelerator | Some cards have different versions, e.g. A100 PCIe and NVLink. Openstack does not allow empty value, so we should give 0 if no version is specified | +| Accelerator:Memory | RAM in GB of the accelerator | | +| Accelerator:VirtualizationType | Type of virtualisation used (e.g. `PCI passthrough`) | Not relevant for accounting, but may be still useful in some cases | There are some extra fields that are defined in the GLUE2.1 schema but not so relevant for GPUs and therefore not considered at the moment. These are listed