Skip to content

Commit 162c04f

Browse files
jakjangCopilottheunrepentantgeek
authored
Add blog post about ASO v2.17 features (#5075)
* Add blog post about ASO v2.17 features This blog post discusses the upcoming features in ASO v2.17, including improved error handling for undeletable resources and the ability to specify role assignments using well-known names. * Update docs/hugo/content/blogs/v2.17-features-with-bevan.md Co-authored-by: Copilot <[email protected]> * Apply suggestions from code review Co-authored-by: Bevan Arps <[email protected]> * Update docs/hugo/content/blogs/v2.17-features-with-bevan.md * Apply suggestions from code review --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Bevan Arps <[email protected]>
1 parent fc1d989 commit 162c04f

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
title: "Developer Talks - Quality of Life Features with Bevan"
3+
date: 2025-12-19
4+
draft: false
5+
description: "Bevan goes over some recent and upcoming features in ASO and how they contribute to a better user experience."
6+
---
7+
8+
With the release of ASO v2.17 coming soon, this felt like a great time to go behind the curtain and get a better idea of what us devs have been working on, both landed and upcoming, and how they contribute to a smoother user experience for ASO users.
9+
10+
We'll go over two exciting features, one landing in v2.17 and one that shipped in v2.16. Alongside our other host of improvements, we hope these features make using ASO that much smoother for our users.
11+
12+
## Improved error handling for resources that can't be deleted
13+
14+
PR [#4987](https://github.com/Azure/azure-service-operator/pull/4987) landing in v2.17 helps with error handling for Azure resources that can not be deleted directly. Azure hosts a number of resource types that cannot be deleted directly; instead, you have to delete their parents.
15+
16+
If a user does attempt to delete one of these resources directly, they'll be met with a number of noisy errors that will populate in their logs.
17+
18+
A snippet of such an error would look like is below:
19+
20+
```go
21+
test_logger.go:160: [2024-04-28T22:19:01Z] SqlDatabaseThroughputSettingController
22+
"msg"="Error during Delete"
23+
"err"="deleting resource "/subscriptions/<sub_id>/resourceGroups/<rg_name>/providers/Microsoft.DocumentDB/databaseAccounts/sample-sqldb-account/sqlDatabases/sample-sql-db/throughputSettings/default": DELETE https://management.azure.com/subscriptions/<sub_id>/resourceGroups/<rg_name>/providers/Microsoft.DocumentDB/databaseAccounts/sample-sqldb-account/sqlDatabases/sample-sql-db/throughputSettings/default
24+
--------------------------------------------------------------------------------
25+
RESPONSE 405: 405 Method Not Allowed
26+
ERROR CODE: MethodNotAllowed
27+
--------------------------------------------------------------------------------
28+
{
29+
"code": "MethodNotAllowed",
30+
"message": "Message: The requested verb is not supported."
31+
}
32+
--------------------------------------------------------------------------------
33+
" name="sample-sql-throughput"
34+
namespace="aso-test-samples-creationanddeletion-test-sqldatabase-v1a-7e1fc"
35+
azureName="default"
36+
action="BeginDelete"
37+
```
38+
39+
With this new enhancement, the workflow in ASO is enhanced to detect when a resource can not be deleted directly, return a more informative error message than what you would see previously, and provides details on how to unblock the resource deletion.
40+
41+
## Allowing specification of role assignments by using well-known names
42+
43+
[This feature](https://github.com/Azure/azure-service-operator/pull/4923) builds upon the support of well-known names added in [#4922](https://github.com/Azure/azure-service-operator/pull/4922) and allows users to specify RoleAssignments using the well-known name of a [built-in RoleDefinition](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles) instead of the full ARM ID.
44+
45+
Before this change if I wanted to assign the "Contributor" role, it would require something like this, using the published GUID:
46+
47+
```yaml
48+
apiVersion: authorization.azure.com/v1api20200801preview
49+
kind: RoleAssignment
50+
metadata:
51+
name: aso-sample-contributor
52+
namespace: default
53+
spec:
54+
...
55+
roleDefinitionReference:
56+
armId: /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c
57+
```
58+
59+
Now, with this change, I'd be able to use the well known name `contributor` instead:
60+
61+
```yaml
62+
apiVersion: authorization.azure.com/v1api20200801preview
63+
kind: RoleAssignment
64+
metadata:
65+
name: aso-sample-contributor
66+
namespace: default
67+
spec:
68+
...
69+
roleDefinitionReference:
70+
armName: Contributor
71+
```
72+
73+
## v2.17 Release
74+
75+
v2.17 introduces these features and more, as we continually strive to make ASO work better for our users!
76+
77+
If you have an enhancement you would like to see in future iterations of ASO, please [submit an issue](https://github.com/Azure/azure-service-operator/issues) or visit the [contributing guide](https://azure.github.io/azure-service-operator/contributing/).

0 commit comments

Comments
 (0)