terraform-provider-azurerm icon indicating copy to clipboard operation
terraform-provider-azurerm copied to clipboard

`azurerm_eventhub_namespace_customer_managed_key` - parsing UAI ID fetched from the parent eventhub namespace

Open xiaxyi opened this issue 1 year ago • 5 comments

Community Note

  • Please vote on this PR by adding a :thumbsup: reaction to the original PR to help the community and maintainers prioritize for review
  • Please do not leave "+1" or "me too" comments, they generate extra noise for PR followers and do not help prioritize for review

Description

PR Checklist

  • [x] I have followed the guidelines in our Contributing Documentation.
  • [x] I have checked to ensure there aren't other open Pull Requests for the same update/change.
  • [x] I have checked if my changes close any open issues. If so please include appropriate closing keywords below.
  • [ ] I have updated/added Documentation as required written in a helpful and kind way to assist users that may be unfamiliar with the resource / data source.
  • [x] I have used a meaningful PR title to help maintainers and other users understand this change and help prevent duplicate work. For example: “resource_name_here - description of change e.g. adding property new_property_name_here

Changes to existing Resource / Data Source

  • [x] I have added an explanation of what my changes do and why I'd like you to include them (This may be covered by linking to an issue above, but may benefit from additional explanation).
  • [ ] I have written new tests for my resource or datasource changes & updated any relevent documentation.
  • [x] I have successfully run tests with my changes locally. If not, please provide details on testing challenges that prevented you running the tests.
  • [ ] (For changes that include a state migration only). I have manually tested the migration path between relevant versions of the provider.

Testing

  • [x] My submission includes Test coverage as described in the Contribution Guide and the tests pass. (if this is not possible for any reason, please include details of why you did or could not add test coverage)

image

Change Log

Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.

  • azurerm_eventhub_namespace_customer_managed_key - parsing UAI resource ID that's returned by the api.

The resourceGroups staticSegment of the UAI ID was changed to resourcegroups by the api, which caused the mismatch of the same uai that's assigned to the parent eventhub namespace and the uai assigned to the eventhub cmk,

This is a (please select all that apply):

  • [ ] Bug Fix
  • [ ] New Feature (ie adding a service, resource, or data source)
  • [ ] Enhancement
  • [ ] Breaking Change

Related Issue(s)

Fixes #0000

[!NOTE] If this PR changes meaningfully during the course of review please update the title and description as required.

xiaxyi avatar Apr 30 '24 07:04 xiaxyi

Thanks @xiaxyi . could you please @ reviewer here to pass this updates

Scarlettliuyc avatar May 06 '24 04:05 Scarlettliuyc

Thanks @tombuildsstuff for the comment, the userAssignedIdentity in the right side of the equation is a sting that's got by userAssignedIdentity := d.Get("user_assigned_identity_id").(string). We didn't parse the id as there is a validation function in schema to validate the user's input of the user_assigned_identity_id

"user_assigned_identity_id": {
				Type:         pluginsdk.TypeString,
				Optional:     true,
				ValidateFunc: commonids.ValidateUserAssignedIdentityID,
			},

Do we need to parse the user_assigned_identity_id in order to do the resourceids.Match()?

xiaxyi avatar May 07 '24 09:05 xiaxyi

@xiaxyi

Do we need to parse the user_assigned_identity_id in order to do the resourceids.Match()?

Yes, intentionally. By comparing the Resource ID types rather than the literal string value, we can do context-aware comparisons (since we know what each of the Resource ID Segments are, we can compare the IDs with that context - which will help in the future with the some of the casing related items).

tombuildsstuff avatar May 07 '24 09:05 tombuildsstuff

Thanks @tombuildsstuff , code is updated, would you mind taking a look and let me know if everything is cool?

xiaxyi avatar May 13 '24 01:05 xiaxyi

Hi @tombuildsstuff good day, as we have customers are waiting for this fix to update, could please review an approve it ASAP. Thanks in advanced.

Scarlettliuyc avatar May 14 '24 07:05 Scarlettliuyc

hi @tombuildsstuff good day, could confrim when this fix would be update? Thanks in advanced.

Scarlettliuyc avatar May 21 '24 05:05 Scarlettliuyc

@tombuildsstuff Thanks for the comment, adding the empty check for this property. Tests are fine: image

xiaxyi avatar May 22 '24 01:05 xiaxyi

@tombuildsstuff Thanks for the comment, adding the empty check for this property. Tests are fine: image

Hi @xiaxyi - Can you take a look at optimising the test config, it's using a dedicated cluster which I believe is unnecessary for this property? This makes the test take 4+ hours and cost a large amount of $ per test - Can you take a look at removing the dedicated cluster resource from the test and posting the test result?

Thanks!

jackofallops avatar May 22 '24 08:05 jackofallops

@jackofallops The PR is rebased on your latest changes to the eventhub test cases. Would you mind taking a look? Thanks

xiaxyi avatar May 28 '24 05:05 xiaxyi

@jackofallops The PR is rebased on your latest changes to the eventhub test cases. Would you mind taking a look? Thanks

Hi @xiaxyi - Looks like there's another error in one of the tests, it may be unrelated to this change, but we'll need it fixed before we can merge this. If you can check the CI log from your last run, you can see it. I'll try and make some time to take a look later today if you don't get to it.

jackofallops avatar May 29 '24 06:05 jackofallops

@jackofallops I changed the random string from using the location to random string when naming the key vault in test cases, otherwise, the tests will fail due to the duplicate kv name, such as "Status= Code="VaultAlreadyExists" Message="The vault name 'acctestkvwesteurope' is already in use."

tests are good: image

xiaxyi avatar May 30 '24 01:05 xiaxyi

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions. If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

github-actions[bot] avatar Jul 01 '24 02:07 github-actions[bot]