-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
azurerm_eventhub_namespace
/ azurerm_servicebus_namespace
- deprecate the zone_redundant
field in v4.0
#26611
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this @WodansSon. The breaking schema changes look good! The test needs some slight re-work though.
@@ -399,7 +400,7 @@ func TestAccEventHubNamespace_BasicWithSkuUpdate(t *testing.T) { | |||
), | |||
}, | |||
{ | |||
Config: r.premium(data), | |||
Config: r.premium(data, features.FourPointOhBeta()), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I appreciate the effort here to reduce the lines of code and repetition, but keeping the clean up effort of all the FourPointOh
/FourPointOhBeta
code in mind, this is more work to unpick than if the config is just duplicated.
We try and leave the test alone if possible and update the function returning the config to return the right config based on the flag, so in this case
func (EventHubNamespaceResource) premium(data acceptance.TestData) string {
if !features.FourPointOhBeta() {
return fmt.Sprintf(`
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "test" {
name = "acctestRG-eh-%d"
location = "%s"
}
resource "azurerm_eventhub_namespace" "test" {
name = "acctesteventhubnamespace-%d"
location = azurerm_resource_group.test.location
resource_group_name = azurerm_resource_group.test.name
sku = "Premium"
capacity = "1"
zone_redundant = true
}
`, data.RandomInteger, data.Locations.Primary, data.RandomInteger)
}
return fmt.Sprintf(`
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "test" {
name = "acctestRG-eh-%d"
location = "%s"
}
resource "azurerm_eventhub_namespace" "test" {
name = "acctesteventhubnamespace-%d"
location = azurerm_resource_group.test.location
resource_group_name = azurerm_resource_group.test.name
sku = "Premium"
capacity = "1"
}
`, data.RandomInteger, data.Locations.Primary, data.RandomInteger)
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
@@ -151,6 +152,10 @@ func TestAccAzureRMServiceBusNamespace_premiumMessagingPartition(t *testing.T) { | |||
} | |||
|
|||
func TestAccAzureRMServiceBusNamespace_zoneRedundant(t *testing.T) { | |||
if features.FourPointOhBeta() { | |||
t.Skipf("Skippped as 'zone_redundant' property is deprecated in 4.0") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
t.Skipf("Skippped as 'zone_redundant' property is deprecated in 4.0") | |
t.Skipf("Skipped as 'zone_redundant' property is deprecated in 4.0") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
@@ -44,6 +44,8 @@ output "eventhub_namespace_id" { | |||
|
|||
* `zone_redundant` - Is this EventHub Namespace deployed across Availability Zones? | |||
|
|||
~> **Note:** The `zone_redundant` field will be removed in v4.0 of the provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anyone using the field will be notified by the deprecation messages added to the field so no need to add this to the documentation as well
~> **Note:** The `zone_redundant` field will be removed in v4.0 of the provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
@@ -41,6 +41,8 @@ output "location" { | |||
|
|||
* `zone_redundant` - Whether or not this ServiceBus Namespace is zone redundant. | |||
|
|||
~> **Note:** The `zone_redundant` field will be removed in v4.0 of the provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
~> **Note:** The `zone_redundant` field will be removed in v4.0 of the provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
~> **Note:** For eventhub premium namespace, `zone_redundant` is computed by api based on the availability zone feature in each region. User's input will be overridden. Please explicitly sets the property to `true` when creating the premium namespace in a region that supports availability zone since the default value is `false` in 3.0 provider. | ||
~> **Note:** For eventhub premium namespace, `zone_redundant` is computed by the api based on the availability zone feature in each region, user's input will be overridden. Please explicitly sets the property to `true` when creating the premium namespace in a region that supports availability zone since the default value is `false` in 3.0 provider. | ||
|
||
~> **Note:** The `zone_redundant` field will be removed in v4.0 of the provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
~> **Note:** The `zone_redundant` field will be removed in v4.0 of the provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
@@ -65,6 +65,8 @@ The following arguments are supported: | |||
|
|||
* `zone_redundant` - (Optional) Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Changing this forces a new resource to be created. | |||
|
|||
~> **Note:** The `zone_redundant` field will be removed in v4.0 of the provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
~> **Note:** The `zone_redundant` field will be removed in v4.0 of the provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
test failure:
------- Stdout: -------
=== RUN TestAccAzureRMServiceBusNamespace_basicCapacity
=== PAUSE TestAccAzureRMServiceBusNamespace_basicCapacity
=== CONT TestAccAzureRMServiceBusNamespace_basicCapacity
testcase.go:113: Step 1/1, expected an error with pattern, no match on: Error running apply: exit status 1
Error: service bus SKU "Basic" only supports `capacity` of 0
with azurerm_servicebus_namespace.test,
on terraform_plugin_test.tf line 30, in resource "azurerm_servicebus_namespace" "test":
30: resource "azurerm_servicebus_namespace" "test" {
--- FAIL: TestAccAzureRMServiceBusNamespace_basicCapacity (42.32s)
FAIL
resource.Schema["zone_redundant"] = &pluginsdk.Schema{ | ||
Type: pluginsdk.TypeBool, | ||
Computed: true, | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should still add a deprecation message here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
resource.Schema["zone_redundant"] = &pluginsdk.Schema{ | ||
Type: pluginsdk.TypeBool, | ||
Computed: true, | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM ❄️
<Actions> <action id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8"> <h3>Bump Terraform `azurerm` provider version</h3> <details id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24"> <summary>Update Terraform lock file</summary> <p>changes detected:
	"hashicorp/azurerm" updated from "3.112.0" to "3.113.0" in file ".terraform.lock.hcl"</p> <details> <summary>3.113.0</summary> <pre>Changelog retrieved from:
	https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.113.0
ENHANCEMENTS:

* dependencies: updating to `v0.20240715.1100358` of `hashicorp/go-azure-sdk` ([#26638](hashicorp/terraform-provider-azurerm#26638 `storage` - updating to use `hashicorp/go-azure-sdk` ([#26218](https://github.com/hashicorp/terraform-provider-azurerm/issues/26218))

BUG FIXES:

* `azurerm_storage_account` - fix a validation bug when replacing a StorageV2 account with a StorageV1 account ([#26639](hashicorp/terraform-provider-azurerm#26639 `azurerm_storage_account` - resolve an issue refreshing blob or queue properties after recreation ([#26218](hashicorp/terraform-provider-azurerm#26218 `azurerm_storage_account` - resolve an issue setting tags for an existing storage account where a policy mandates them ([#26218](hashicorp/terraform-provider-azurerm#26218 `azurerm_storage_account` - fix a persistent diff with the `customer_managed_key` block ([#26218](hashicorp/terraform-provider-azurerm#26218 `azurerm_storage_account` - resolve several consistency related issues when crreating a new storage account ([#26218](https://github.com/hashicorp/terraform-provider-azurerm/issues/26218))

DEPRECATIONS:

* `azurerm_eventhub_namespace` - deprecate the `zone_redundant` field in v4.0 ([#26611](hashicorp/terraform-provider-azurerm#26611 `azurerm_servicebus_namespace` - deprecate the `zone_redundant` field in v4.0 ([#26611](hashicorp/terraform-provider-azurerm#26611; 

</pre> </details> </details> <a href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/331/">Jenkins pipeline link</a> </action> </Actions> --- <table> <tr> <td width="77"> <img src="https://www.updatecli.io/images/updatecli.png" alt="Updatecli logo" width="50" height="50"> </td> <td> <p> Created automatically by <a href="https://www.updatecli.io/">Updatecli</a> </p> <details><summary>Options:</summary> <br /> <p>Most of Updatecli configuration is done via <a href="https://www.updatecli.io/docs/prologue/quick-start/">its manifest(s)</a>.</p> <ul> <li>If you close this pull request, Updatecli will automatically reopen it, the next time it runs.</li> <li>If you close this pull request and delete the base branch, Updatecli will automatically recreate it, erasing all previous commits made.</li> </ul> <p> Feel free to report any issues at <a href="https://github.com/updatecli/updatecli/issues">github.com/updatecli/updatecli</a>.<br /> If you find this tool useful, do not hesitate to star <a href="https://github.com/updatecli/updatecli/stargazers">our GitHub repository</a> as a sign of appreciation, and/or to tell us directly on our <a href="https://matrix.to/#/#Updatecli_community:gitter.im">chat</a>! </p> </details> </td> </tr> </table> Co-authored-by: Jenkins Infra Bot (updatecli) <[email protected]>
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. |
Community Note
Description
The
zone_redundant
field, per the service team, is now going to be 100% controlled by the API. So exposing this as a field to the end user no longer makes sense.PR Checklist
For example: “
resource_name_here
- description of change e.g. adding propertynew_property_name_here
”Changes to existing Resource / Data Source
Testing
EventHub Test Results:
Note: The one failing test case is an environment issue not related to the code change in this PR.
ServiceBus Test Results:
NOTE: The two failures are v4.0 related.
Change Log
Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.
azurerm_eventhub_namespace
/azurerm_servicebus_namespace
- deprecate thezone_redundant
field in v4.0This is a (please select all that apply):
Note
If this PR changes meaningfully during the course of review please update the title and description as required.