Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Modules] Added known issues to the Redis Cache Enterprise Module #3986

Merged
merged 2 commits into from
Sep 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 33 additions & 4 deletions docs/wiki/Known issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ This section provides an overview of the most impactful limitations and known is
- [management/management-group](#managementmanagement-group)
- [recovery-services/vault](#recovery-servicesvault)
- [network/network-manager](#networknetwork-manager)
- [cache/redis-enterprise](#cacheredis-enterprise)
- [CI environment specific](#ci-environment-specific)
- [Static validation](#static-validation)
- [Deployment validation](#deployment-validation)
Expand Down Expand Up @@ -53,15 +54,15 @@ Further details are also provided in issue [#1342](https://github.com/Azure/Reso

## recovery-services/vault

The Recovery Services Vaults module does not currently attach the content of the identity property correctly when both user- and systemassigned identity fields are selected.
The Recovery Services Vaults module does not currently attach the content of the identity property correctly when both user- and system-assigned identity fields are selected.

The pipeline shows a success but the assignment of both identities never happens although both identities (systemassigned is a serviceprincipal, userassigned is a managed identity resource) get created successfully.
The pipeline shows a success but the assignment of both identities never happens although both identities (system-assigned or user-assigned) get created successfully.

Upon cleanup the system-assigned identity will not be removed.
Upon clean-up, the system-assigned identity will not be removed.

When the deployment is then run again it fails, because Azure tries to attach this rogue service principal as a system-assigned identity.

Since the behavior is inconsistent via Api (depending on spacing and whether capital letters are used), a ticket on the bicep repository has been opened for that. For more details, refer to the issue in the bicep repository ([#9662](https://github.com/Azure/bicep/issues/9662)).
Since the behaviour is inconsistent via API (depending on spacing and whether capital letters are used), a ticket on the bicep repository has been opened for that. For more details, refer to the issue in the bicep repository ([#9662](https://github.com/Azure/bicep/issues/9662)).

A related issue has been opened in the Bug board [#2391](https://github.com/Azure/ResourceModules/issues/2391).

Expand All @@ -71,6 +72,34 @@ In order to deploy a Network Manager with the `networkManagerScopes` property se

---

## cache/redis-enterprise

The Azure Redis Cache Enterprise module pipeline is expected to fail in our development/validation environment for a few reasons:

- The subscription type used to validate CARML modules does not support deployment of the Azure Redis Cache Enterprise service.

The error messages expected to be seen in the pipeline are:

```json
{
"code": "ResourceDeploymentFailure",
"target": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Cache/redisEnterprise/<resourceName>",
"message": "The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'."
}

// OR

{
"code": "BadRequest",
"message": "Purchase has failed because we couldn't find a valid payment method associated with your Azure subscription. Please use a different Azure subscription or add\\update current payment method for this subscription and retry."
}

```

Therefore, the module was manually tested in a dedicated environment.

For the general prerequisites, please refer to the [official docs](https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/quickstart-create-redis-enterprise).

# CI environment specific

This section outlines known issues that currently affect the CI environment, i.e., the validation and publishing pipelines.
Expand Down
68 changes: 1 addition & 67 deletions modules/cache/redis-enterprise/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ This module deploys a Redis Cache Enterprise.

| Parameter Name | Type | Description |
| :-- | :-- | :-- |
| `name` | string | The name of the Redis Cache Enerprise resource. |
| `name` | string | The name of the Redis Cache Enterprise resource. |

**Optional parameters**

Expand Down Expand Up @@ -154,72 +154,6 @@ tags: {
</details>
<p>

### Parameter Usage: `userAssignedIdentities`

You can specify multiple user assigned identities to a resource by providing additional resource IDs using the following format:

<details>

<summary>Parameter JSON format</summary>

```json
"userAssignedIdentities": {
"value": {
"/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {},
"/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002": {}
}
}
```

</details>

<details>

<summary>Bicep format</summary>

```bicep
userAssignedIdentities: {
'/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {}
'/subscriptions/[[subscriptionId]]/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {}
}
```

</details>
<p>

### Parameter Usage: `redisConfiguration`

All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc..

Name | Description | Value
---------|----------|---------
aof-storage-connection-string-0 | First storage account connection string | string
aof-storage-connection-string-1 | Second storage account connection string | string
maxfragmentationmemory-reserved | Value in megabytes reserved for fragmentation per shard | string
maxmemory-delta | Value in megabytes reserved for non-cache usage per shard e.g. failover. | string
maxmemory-policy | The eviction strategy used when your data won't fit within its memory limit. | string
maxmemory-reserved | Value in megabytes reserved for non-cache usage per shard e.g. failover. | string
rdb-backup-enabled | Specifies whether the rdb backup is enabled | string
rdb-backup-frequency | Specifies the frequency for creating rdb backup | string
rdb-backup-max-snapshot-count | Specifies the maximum number of snapshots for rdb backup | string
rdb-storage-connection-string | The storage account connection string for storing rdb file | string

For more details visit [Microsoft.Cache redis reference](https://learn.microsoft.com/en-us/azure/templates/microsoft.cache/redis?tabs=bicep)

<details>

<summary>Bicep format</summary>

```bicep
userAssignedIdentities: {
'/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001': {}
'/subscriptions/12345678-1234-1234-1234-123456789012/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-002': {}
}
```

</details>
<p>

### Parameter Usage: `privateEndpoints`

To use Private Endpoint the following dependencies must be deployed:
Expand Down
2 changes: 1 addition & 1 deletion modules/cache/redis-enterprise/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ metadata owner = 'Azure/module-maintainers'
@description('Optional. The geo-location where the resource lives.')
param location string = resourceGroup().location

@description('Required. The name of the Redis Cache Enerprise resource.')
@description('Required. The name of the Redis Cache Enterprise resource.')
param name string

@allowed([
Expand Down
4 changes: 2 additions & 2 deletions modules/cache/redis-enterprise/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "0.21.1.54444",
"templateHash": "14564256646537619194"
"templateHash": "9175405114330234869"
},
"name": "Redis Cache Enterprise",
"description": "This module deploys a Redis Cache Enterprise.",
Expand All @@ -22,7 +22,7 @@
"name": {
"type": "string",
"metadata": {
"description": "Required. The name of the Redis Cache Enerprise resource."
"description": "Required. The name of the Redis Cache Enterprise resource."
}
},
"lock": {
Expand Down
Loading