Skip to content

Commit a86b826

Browse files
Merge pull request #310456 from CycleCloud/abatallas/ccw_entra_docs
Instructions on how to use Microsoft Entra ID with Azure CycleCloud, Azure CycleCloud Workspace for Slurm, and Open OnDemand
2 parents e93e913 + 02e4b5f commit a86b826

14 files changed

Lines changed: 187 additions & 170 deletions

.openpublishing.redirection.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6640,6 +6640,26 @@
66406640
"redirect_url": "/azure/oracle/oracle-db/database-overview",
66416641
"redirect_document_id": false
66426642
},
6643+
{
6644+
"source_path": "articles/cyclecloud/how-to/ccws/register-entra-id-app.md",
6645+
"redirect_url": "/azure/cyclecloud/how-to/create-app-registration",
6646+
"redirect_document_id": false
6647+
},
6648+
{
6649+
"source_path": "articles/cyclecloud/how-to/ccws/open-ondemand-add-users.md",
6650+
"redirect_url": "/azure/cyclecloud/how-to/ccws/configure-open-ondemand",
6651+
"redirect_document_id": false
6652+
},
6653+
{
6654+
"source_path": "articles/reliability/reliability-health-insights.md",
6655+
"redirect_url": "/azure/azure-health-insights/reliability-health-insights",
6656+
"redirect_document_id": false
6657+
},
6658+
{
6659+
"source_path": "articles/reliability/migrate-load-balancer.md",
6660+
"redirect_url": "/azure/reliability/reliability-load-balancer",
6661+
"redirect_document_id": false
6662+
},
66436663
{
66446664
"source_path": "articles/nat-gateway/nat-availability-zones.md",
66456665
"redirect_url": "/azure/reliability/reliability-nat-gateway",

articles/cyclecloud/how-to/ccws/configure-open-ondemand.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
---
22
title: Configure Open Demand with CycleCloud
33
description: How to configure Open OnDemand with CycleCloud
4-
author: xpillons
5-
ms.date: 09/18/2025
4+
author: abatallas
5+
ms.date: 01/13/2025
66
ms.author: padmalathas
77
---
88

99
# Configure Open OnDemand with CycleCloud
1010
Open OnDemand is a web-based interface that provides a user-friendly way to interact with the Slurm cluster deployed by Azure CycleCloud. Azure CycleCloud automatically installs and configures Open OnDemand when you deploy Azure CycleCloud Workspace for Slurm, but you need to run a few steps manually.
1111

1212
## Update settings for Microsoft Entra ID authentication
13-
The Open OnDemand front end uses Open ID Connect (OIDC) for authentication. The OIDC provider is a Microsoft Entra ID application that you register specifically for this purpose (see [How to register a Microsoft Entra ID application for Open OnDemand Authentication](./register-entra-id-app.md)). The following steps describe how to update the settings for Microsoft Entra ID authentication.
13+
The Open OnDemand front end uses Open ID Connect (OIDC) for authentication. The OIDC provider is a Microsoft Entra ID application that you register for this specific purpose (see [these instructions](../create-app-registration.md) on how to register such an application). The following steps describe how to update the Open OnDemand cluster settings for Microsoft Entra ID authentication in the Azure CycleCloud interface.
1414

1515
Browse to the CycleCloud web portal, select the OpenOnDemand cluster, and select **Edit**. This selection opens the cluster template definition.
1616
1. Select **Advanced settings**.
@@ -28,4 +28,4 @@ Select `Save`, then `Start Cluster`, and wait for the Open OnDemand virtual mach
2828
:::image type="content" source="../../images/ccws/open-ondemand-advanced-settings.png" alt-text="Screenshot of Open OnDemand cluster configuration.":::
2929

3030
## Resources
31-
* [Add users for Open OnDemand](./open-ondemand-add-users.md)
31+
* [Add users to your registered Microsoft Entra ID application](../create-app-registration.md#permissioning-users-for-cyclecloud)

articles/cyclecloud/how-to/ccws/deploy-with-cli.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,6 @@ Prerequisites: Install the Azure CLI and Git, and then sign in or set your Azure
4747
## Resources
4848

4949
* [Configure Open OnDemand with CycleCloud](./configure-open-ondemand.md)
50-
* [Add users for Open OnDemand](./open-ondemand-add-users.md)
50+
* [Add users to your registered Microsoft Entra ID application](../create-app-registration.md#permissioning-users-for-cyclecloud)
5151
* [How to connect to the CycleCloud portal through Bastion](/azure/cyclecloud/how-to/ccws/connect-to-portal-with-bastion)
5252
* [How to connect to a Login Node through Bastion](/azure/cyclecloud/how-to/ccws/connect-to-login-node-with-bastion)

articles/cyclecloud/how-to/ccws/open-ondemand-add-users.md

Lines changed: 0 additions & 22 deletions
This file was deleted.

articles/cyclecloud/how-to/ccws/plan-your-deployment.md

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Plan your CycleCloud Workspace for Slurm Deployment
33
description: A checklist to help plan for your CycleCloud Workspace for Slurm deployment
4-
author: xpillons
5-
ms.date: 07/01/2025
4+
author: abatallas
5+
ms.date: 01/13/2025
66
ms.author: padmalathas
77
---
88

@@ -21,13 +21,38 @@ When you deploy, grant the Azure user account the following roles:
2121
> We recommend that you predeploy a [Hub virtual network](/azure/architecture/networking/architecture/hub-spoke) to connect to your enterprise network if you don't already have one. This hub can accommodate a [VPN Gateway](/azure/vpn-gateway/tutorial-create-gateway-portal) and an Azure Bastion. The CycleCloud Workspace for Slurm environment is a spoke that's peered during deployment.
2222
> Contact Azure HPC Support if VPN or Azure Bastion don't meet your requirements or if your organization blocks them.
2323
24+
## Microsoft Entra ID authentication
25+
26+
Microsoft Entra ID is recommended for all Azure CycleCloud Workspace for Slurm deployments and is required if using Open OnDemand. Both greenfield and brownfield deployments require:
27+
- A registered Microsoft Entra ID application for authentication with CycleCloud and, optionally, Open OnDemand.
28+
- (If using Open OnDemand) A user-assigned managed identity used by the registered Microsoft Entra ID application for the federated credentials.
29+
30+
Visit [these instructions](../create-app-registration.md) to create your own Microsoft Entra ID application registration compatible with Azure CycleCloud Workspace for Slurm and Open OnDemand.
31+
32+
### Post-deployment utility
33+
34+
Once you create Microsoft Entra ID application registration, you can update its redirect URIs automatically with the below helper script.
35+
36+
> [!IMPORTANT]
37+
> Run the following command from a Linux shell with the Azure CLI installed and authenticated with the Azure account designated for deployment. Azure Cloud Shell may not be supported for this scenario.
38+
> [!NOTE]
39+
> Make sure the command-line tool `jq` for JSON processing is installed on your system.
40+
41+
```
42+
LATEST_RELEASE=$(curl -sSL -H 'Accept: application/vnd.github+json' "https://api.github.com/repos/Azure/cyclecloud-slurm-workspace/releases/latest" | sed -n 's/.*"tag_name":[[:space:]]*"\([^"]*\)".*/\1/p')
43+
44+
bash <(curl -sL "https://raw.githubusercontent.com/Azure/cyclecloud-slurm-workspace/refs/tags/${LATEST_RELEASE}/util/entra_postdeploy.sh") -rg CCW_RESOURCE_GROUP_NAME
45+
```
46+
47+
Ensure that you substitute `CCW_RESOURCE_GROUP_NAME` in the above with the name of the resource group with resources created by Azure CycleCloud Workspace for Slurm.
48+
2449
## Greenfield deployment
2550

2651
A greenfield deployment creates the following resources and role assignments:
2752
- A resource group.
2853
- The virtual network and its `ccw-cyclecloud-subnet` and `ccw-compute-subnet` subnets.
2954
- The `ccw-cyclecloud-vm` virtual machine (VM), NIC, OS, data disks, and a system assigned managed identity.
30-
- A user assigned managed identity to access the CycleCloud storage account.
55+
- A user-assigned managed identity to access the CycleCloud storage account.
3156
- A uniquely named storage account for CycleCloud projects and a private endpoint in the `ccw-cyclecloud-subnet`.
3257
- The `nsg-ccw-common` network security group (NSG).
3358
- `Contributor`, `Storage Account Contributor`, and `Storage Blob Data Contributor` roles at the subscription level for the CycleCloud VM system assigned managed identity.
@@ -44,8 +69,6 @@ In a brownfield deployment, you provide existing resources for:
4469
- The virtual network and subnets in which you deploy the environment.
4570
- Filesystem Storage for the user's home directories and other filers, such as external NFS mount points or Azure Managed Lustre Filesystem (AMLS).
4671
- An Azure Database for MySQL flexible server instance for Slurm Job Accounting.
47-
- A registered Microsoft Entra ID application for Open OnDemand authentication.
48-
- A User-Assigned Managed Identity used by the registered Microsoft Entra ID application for the federated credentials.
4972

5073
If you bring your own virtual network, follow these prerequisites:
5174
- A /29 **cyclecloud** subnet for the CycleCloud VM.

articles/cyclecloud/how-to/ccws/register-entra-id-app.md

Lines changed: 0 additions & 69 deletions
This file was deleted.

0 commit comments

Comments
 (0)