Skip to content

Release 3.21 - #1155

Merged
KimForss merged 39 commits into
mainfrom
release/may-2026
Jul 8, 2026
Merged

Release 3.21#1155
KimForss merged 39 commits into
mainfrom
release/may-2026

Conversation

@KimForss

@KimForss KimForss commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Problem

This pull request introduces several significant improvements across CI/CD workflows, Docker image builds, and the web application codebase. The main highlights include enhanced GitHub Actions workflows for validation and deployment, updated Dockerfile dependencies and build steps, improved error handling in controllers, and the addition of a service for interacting with GitHub Actions from the web app.

1. App Service support for GitHub Actions

  • Added support for deploying to Azure App Service using GitHub Actions in the deployment pipeline.
  • Updated deployment scripts and documentation to include steps for configuring GitHub Actions for App Service deployments.

2. Enhanched NVME disk support for Azure VMs

  • Added support for iSCSI temp disks for Azure Virtual Machines with NVME disks

3. Terraform and Infrastructure Changes

  • Terraform version references updated from 1.15.1 to 1.15.5
  • Removed the NFS sapmnt network perimeter association for Windows systems, as it is not required for Windows deployments
  • Fixed the additional IP for HA IPs for Windows deployments

4. Miscellaneous fixes

  • Do not create a user profile for the 'grid' user on non-ORACLE-ASM deployments
  • Oracle HA configuration updates for non-ASM deployments
  • Delegate software download to controller for Windows deployments to facilitate storage accounts without access keys
  • Get the correct HANA components from the BoM

hdamecharla and others added 28 commits May 8, 2026 17:21
…pendencies (#1115)

* Refactor Azure login functions to enhance Managed Identity handling and error reporting

* Bump aquasecurity/trivy-action

Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 97e0b3872f55f89b95b2f65b3dbab56962816478 to ed142fd0673e97e23eac54620cfb913e5ce36c25.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](aquasecurity/trivy-action@97e0b38...ed142fd)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-version: ed142fd0673e97e23eac54620cfb913e5ce36c25
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump github/codeql-action from 4.32.6 to 4.35.3

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.6 to 4.35.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@0d579ff...e46ed2c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump dotnet-ef from 10.0.5 to 10.0.7

---
updated-dependencies:
- dependency-name: dotnet-ef
  dependency-version: 10.0.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump actions/upload-artifact from 7.0.0 to 7.0.1

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@bbbca2d...043fb46)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump github/codeql-action from 4.32.6 to 4.35.4

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.6 to 4.35.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@0d579ff...68bde55)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump step-security/harden-runner from 2.15.1 to 2.19.1

Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.15.1 to 2.19.1.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](step-security/harden-runner@58077d3...a5ad31d)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump Microsoft.Identity.Web and Microsoft.Identity.Web.UI

Bumps Microsoft.Identity.Web from 4.8.0 to 4.9.0
Bumps Microsoft.Identity.Web.UI from 4.8.0 to 4.9.0

---
updated-dependencies:
- dependency-name: Microsoft.Identity.Web
  dependency-version: 4.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: Microsoft.Identity.Web.UI
  dependency-version: 4.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add GitHub token handling in RestHelper for API requests

* Add user prompt to switch to SDAFUtilities module in scripts

* Refactor code structure for improved readability and maintainability

* Enhance Remove-SDAFADOProject function to purge deleted app registrations and improve error handling

* Enhance Remove-SDAFADOProject and Remove-SDAFADOWorkloadZone functions to improve app registration removal and add purging of deleted apps

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Kimmo Forss <kimforss@microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…oot.sh (#1122)

**Change Summary: NVMe Per-Boot Swap Script**

- Added early-exit check for waagent-managed swap:
  - Define `WAAGENT_SWAP_FILE=/mnt/swapfile`
  - If active in `swapon`, log and exit (code 0)

- Retained NVMe swap logic:
  - Wait for `/mnt/resource` mount
  - If `/mnt/resource/swapfile` is active → exit (code 0)
  - Else → create and enable swap

**Impact:** Prevents per-boot failures when waagent manages swap, while preserving NVMe swap recreation when required.
* Add utility storage account configurations and resources for improved management

* fix: make file_share name and blob_container name optional with auto-generated defaults

- Changed name fields from required (string) to optional(string, "")
- Transform auto-generates names: share00, share01... / container00, container01...
- Also auto-generates names for blob_containers through transform (was passing raw)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: always create network rules for utility storage, toggle Deny/Allow

- Network rules now created for every utility storage account (not just when firewall enabled)
- default_action uses enable_firewall_for_keyvaults_and_storage ? Deny : Allow
- Matches transport/diagnostics storage pattern to prevent open-to-all-networks default

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: add support for additional subnet IDs in utility storage account network rules

* fix: update utility storage account configurations to use FileStorage and Premium tier with NFS protocol

* fix: streamline file share protocol handling in utility storage settings

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Kimmo Forss <kimmo.forss@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…cies (#1126)

* Refactor SystemController to support GitHub and ADO platforms; add GitHub environment management views and models; enhance notification handling and styling; update dependencies and project files.

* Enhance scripts to support GitHub integration; update argument parsing in remove_control_plane_v2.sh, remover_v2.sh, and set_secrets_v2.sh for improved functionality.

* Refactor scripts for improved platform handling and output logging

- Updated 04-sap-software-download.sh to enhance logging and output file generation for software download status.
- Modified 10-remover-terraform-system.sh to include detailed output for system removal and improved variable handling.
- Enhanced 10-remover-terraform-workload-zone.sh to log the removal of workload zone infrastructure and update readme file accordingly.
- Adjusted 12-remove-control-plane-finalize.sh and 12-remove-control-plane.sh to set environment variables based on platform and include control plane name in parameters.

* Add support for Entra ID App Registration and Storage Table Data Contributor role

- Introduced a new function to create or retrieve an existing Entra ID App Registration for the SDAF web application.
- Updated role assignments to include "Storage Table Data Contributor".
- Enhanced user input prompts to configure the web application and its App Registration name.
- Added logic to handle App Registration variables in the environment configuration.

* Add GitHub PAT support and refactor key vault secret management

* Refactor container-build workflow: rename job to 'Build' and remove unused checkout step

* Update Dockerfile: upgrade Terraform, Node.js, and Ansible versions; adjust dotnet SDK; streamline file copying and build process

* Refactor LandscapeController and SystemController: remove redundant variables and streamline pipeline triggering logic

* Update argument parsing in set_secrets_v2.sh: add GitHub PAT option to input options

* Update key vault secret name for GitHub App PAT: change from 'GH_APP_PAT' to 'GH-APP-PAT'

* Refactor LandscapeController and ViewBagActionFilter: improve platform comparison logic and streamline ViewBag assignments

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Refactor GitHubEnvironmentController, LandscapeController, SystemController, and remover_v2.sh: streamline success messages and remove redundant code

* Refactor GitHubEnvironmentController, LandscapeController, SystemController, and RestHelper: improve code clarity and update GitHub repository handling; update Azure.Storage.Blobs package version

* Refactor Edit action in EnvironmentController: change to asynchronous method for improved performance and responsiveness

* Add success message and redirect after environment creation in GitHubEnvironmentController

* Refactor getEnvironments calls in Create and Edit views: improve parameter handling for pipeline deployment and platform

* Refactor getEnvironments call in Edit view: enhance parameter handling for pipeline deployment and platform

* Refactor environment handling in Landscape and RestHelper: update to support GitHub and ADO platforms, enhance dropdown integration, and improve error handling

* Remove client_secret_setting_name from web app resource and update lifecycle ignore_changes to exclude tags

* Update Terraform version to 1.15.5 across multiple scripts and configurations

* Enhance security perimeter local variable handling: add length checks for resource ID to prevent errors

* Enhance deployment feedback: add success messages for workload zone and system deployment actions

* Refactor GitHub environment handling: update parameter types, fix label text, and improve layout conditions

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Fix constructor in GitHubEnvironmentController: ensure GitHubEnvironmentHelper is initialized correctly

* Update version to 3.21.0.0 and add release notes for new features and enhancements

---------

Co-authored-by: Kimmo Forss <kimforss@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Add pacemaker.timer configuration for delayed startup after boot

* Enhance pacemaker.timer configuration to start the timer and check for SBD sysconfig file existence

* Remove redundant pacemaker.timer start command from configuration

* Increase SBD timeout from 15 to 120 seconds in pacemaker configurations

* Fix formatting in pacemaker.timer configuration file
#1130)

Co-authored-by: Kimmo Forss <kimforss@microsoft.com>
* Add unmount tasks for SAP installation across multiple roles

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Kimmo Forss <kimforss@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Update changelog and modify conditions for grid user profile creation in Oracle ASM installations

* Refine SAPmnt associations and update changelog (#1131)

* Enhance conditions for Oracle ASM database installation by adding platform check

* Add directory creation task for Oracle ASM database installation

* Set ORACLE_SID for standby database duplication in Oracle Data Guard tasks

* Update DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT for standby database configuration

* Update CONTROL_FILES paths for standby database duplication in Oracle Data Guard tasks

* Add root privileges for directory creation and update debug message for Oracle installation status

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Fix CONTROL_FILES paths and remove unnecessary DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT settings for standby database duplication

* Update environment variable for Oracle standby database tasks

* Add task to create directories as root user for Oracle Data Guard setup

---------

Co-authored-by: Kimmo Forss <kimforss@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…nd connectivity checks

- Removed redundant memory variable settings in 02-prepare-secondary.yaml.
- Consolidated SGA and PGA size calculations based on memory in 03-duplicate-database.yaml.
- Added TNSPING connectivity checks for primary and secondary databases in 03-duplicate-database.yaml.
- Enhanced post-deployment tasks in 04-postdeployment-primary.yaml and 04-postdeployment-secondary.yaml to include memory variable settings and connectivity tests.
- Updated permissions for password files and directories in main.yaml.
- Cleaned up observer role tasks in configure.yaml by commenting out unnecessary steps related to OPatch and root scripts.
… improve error handling in Terraform removal process
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update network security rules and adjust Ansible script configurations
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Refactor task names in main.yaml for consistency and clarity
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Update SAP HANA installation logic to handle SP09 and enforce RHEL compatibility

Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Enhance SAP HANA installation tasks to check SP patch level and update component selection logic for RHEL compatibility

Enhance backup tasks to mask sensitive information and improve download messages in BOM validator

Mask sensitive information in backup results for HANA System Replication

Fix backup result output to reference stdout for tenant database backup

Refactor debug messages in HANA backup tasks for improved readability
@KimForss
KimForss requested review from devanshjainms and nnoaman July 2, 2026 20:27
Copilot AI review requested due to automatic review settings July 8, 2026 15:59
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
dhruvmicrosoft
dhruvmicrosoft previously approved these changes Jul 8, 2026

@dhruvmicrosoft dhruvmicrosoft left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lg!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 197 out of 198 changed files in this pull request and generated 12 comments.

Comment thread Webapp/SDAF/Views/System/Edit.cshtml Outdated
Comment thread Webapp/SDAF/Views/System/Create.cshtml Outdated
Comment thread Webapp/SDAF/Views/Landscape/Edit.cshtml Outdated
Comment thread Webapp/SDAF/Views/Landscape/Create.cshtml Outdated
Comment thread CHANGELOG/v3.21.0.0/CHANGELOG.md Outdated
Comment thread deploy/terraform/run/sap_system/tfvar_variables.tf
Comment thread Webapp/SDAF/Controllers/GitHubActionsService.cs Outdated
Comment thread Webapp/SDAF/Views/GitHubEnvironment/Edit.cshtml Outdated
Comment thread Webapp/wwwroot/js/site.js
Copilot AI review requested due to automatic review settings July 8, 2026 16:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 197 out of 198 changed files in this pull request and generated 8 comments.

Comment thread Webapp/SDAF/Views/System/Create.cshtml Outdated
Comment thread Webapp/SDAF/Views/Landscape/Create.cshtml Outdated
Comment thread Webapp/SDAF/Views/GitHubEnvironment/Edit.cshtml Outdated
Comment thread deploy/scripts/remover_v2.sh Outdated
Comment thread CHANGELOG/v3.21.0.0/CHANGELOG.md Outdated
Comment thread CHANGELOG/v3.21.0.0/CHANGELOG.md Outdated
Comment thread Webapp/SDAF/Controllers/GitHubFileUploader.cs
Comment thread Webapp/SDAF/Controllers/GitHubEnvironmentHelper.cs
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 8, 2026 16:20
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 197 out of 198 changed files in this pull request and generated 10 comments.

Comment thread deploy/ansible/roles-sap/windows/3.3-bom-processing/tasks/bom_processor.yaml Outdated
Comment thread deploy/scripts/remover_v2.sh Outdated
Comment thread deploy/scripts/remove_control_plane_v2.sh
Comment thread Webapp/SDAF/Controllers/FileController.cs
Comment thread deploy/terraform/run/sap_system/variables_local.tf
Comment thread Webapp/SDAF/Controllers/GitHubActionsService.cs Outdated
Comment thread Webapp/SDAF/Controllers/GitHubEnvironmentHelper.cs
Comment thread Webapp/SDAF/Views/GitHubEnvironment/Index.cshtml Outdated
Comment thread Webapp/SDAF/Views/GitHubEnvironment/Index.cshtml Outdated
Copilot AI review requested due to automatic review settings July 8, 2026 16:29
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 197 out of 198 changed files in this pull request and generated 2 comments.

Comment thread Webapp/SDAF/Controllers/GitHubActionsService.cs
Copilot AI review requested due to automatic review settings July 8, 2026 16:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 197 out of 198 changed files in this pull request and generated 5 comments.

Comment thread Webapp/SDAF/Controllers/ViewBagActionFilter.cs Outdated
Comment thread deploy/ansible/roles-db/4.1.3-oracle-data-guard/tasks/main.yaml
Comment thread Webapp/SDAF/Views/GitHubEnvironment/Edit.cshtml Outdated
Comment thread Webapp/SDAF/Views/GitHubEnvironment/Create.cshtml Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 8, 2026 16:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 197 out of 198 changed files in this pull request and generated 1 comment.

@nnoaman nnoaman left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@hdamecharla hdamecharla left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@KimForss
KimForss merged commit e313ce9 into main Jul 8, 2026
16 checks passed
@devanshjainms
devanshjainms deleted the release/may-2026 branch July 8, 2026 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants