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

azurerm_redhat_openshift_cluster - support for custom managed_resource_group_name #25529

Merged
merged 6 commits into from
Jun 21, 2024

Conversation

teowa
Copy link
Contributor

@teowa teowa commented Apr 8, 2024

Community Note

  • Please vote on this PR by adding a 👍 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

Support for custom target resource group name, in cluster_profile.0.managed_resource_group_name, but uppercase char cannot be used for this field due to Azure API limitation.
https://learn.microsoft.com/en-us/azure/openshift/quickstart-openshift-arm-bicep-template?pivots=aro-arm#azuredeployjson-parameters

For the domain parameter, specify the domain prefix that will be used as part of the auto-generated DNS name for OpenShift console and API servers. This prefix is also used as part of the name of the resource group that is created to host the cluster VMs.

PR Checklist

  • I have followed the guidelines in our Contributing Documentation.
  • I have checked to ensure there aren't other open Pull Requests for the same update/change.
  • 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.
  • 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

  • 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.
  • 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

  • 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_redhat_openshift_cluster - support for custom target resource group name

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)

Resolves #24959
Resolves #26147

Note

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

@martin-aders
Copy link

Nice - thanks a lot for this PR. It may be worth to prevent users from trying to use the same resource group for the cluster and for the cluster profile / add an equality check as a further validation. Using the same resource group is disallowed and yields the following error:

performing CreateOrUpdate: unexpected status 400 with error: InvalidParameter: The provided resource group
  '/subscriptions/.../resourceGroups/aro-<domain>' is invalid: must be different from resourceGroup of the 
  OpenShift cluster object.

@@ -135,6 +136,19 @@ func (r RedHatOpenShiftCluster) Arguments() map[string]*pluginsdk.Schema {
Sensitive: true,
ValidateFunc: validation.StringIsNotEmpty,
},
"resource_group_name": {
Copy link
Member

Choose a reason for hiding this comment

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

The name of this is quite confusing and clashes with the existing resource_group_id. Please give a more descriptive name for this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

resource_group_name is to set the resource group which will be created by Azure RedHat OpenShift RP to deploy dependency resources. I have confirmed with service team they won't support RG in another subscription so I only expose it as resource_group_name. And before we expose this resource_group_name property, the resource group name is default to aro-{domain} as portal does, where domain is another configurable property.

The resource_group_id is a computed property to display the above resource group ID.

Do we need change this to target_resource_group_name or dependency_resource_group_name? Or can we keep it similar format to resource_group_id?

Copy link
Member

Choose a reason for hiding this comment

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

Separate question, can ARO only deploy it's resources to a resource group that it creates? Or can it deploy it's resources to an already existing one?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Separate question, can ARO only deploy it's resources to a resource group that it creates? Or can it deploy it's resources to an already existing one?

From service team, it must be a resource group that it creates. In other word, the resource group name sent in this field must be a non-existing one.

@teowa teowa changed the title azurerm_redhat_openshift_cluster - support for custom target resource group name azurerm_redhat_openshift_cluster - support for custom managed_resource_group_name May 31, 2024
Copy link
Collaborator

@katbyte katbyte left a comment

Choose a reason for hiding this comment

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

LGTM 🏖️

@katbyte katbyte merged commit 598c331 into hashicorp:main Jun 21, 2024
34 checks passed
@github-actions github-actions bot added this to the v3.110.0 milestone Jun 21, 2024
katbyte added a commit that referenced this pull request Jun 21, 2024
dduportal pushed a commit to jenkins-infra/azure that referenced this pull request Jun 28, 2024
<Actions>
<action
id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8">
        <h3>Bump Terraform `azurerm` provider version</h3>
<details
id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24">
            <summary>Update Terraform lock file</summary>
<p>changes detected:&#xA;&#x9;&#34;hashicorp/azurerm&#34; updated from
&#34;3.109.0&#34; to &#34;3.110.0&#34; in file
&#34;.terraform.lock.hcl&#34;</p>
            <details>
                <summary>3.110.0</summary>
<pre>Changelog retrieved
from:&#xA;&#x9;https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.110.0&#xA;FEATURES:&#xA;&#xA;*
**New Data Source:** `azurerm_load_test`
([#26376](hashicorp/terraform-provider-azurerm#26376
**New Resource:**
`azurerm_virtual_desktop_scaling_plan_host_pool_association`
([#24670](https://github.com/hashicorp/terraform-provider-azurerm/issues/24670))&#xA;&#xA;ENHANCEMENTS:&#xA;&#xA;*
Data Source: `azurerm_monitor_data_collection_endpoint` - support for
the `immutable_id` property
([#26380](hashicorp/terraform-provider-azurerm#26380
Data Source: `azurerm_nginx_certificate` - export the properties
`sha1_thumbprint`, `key_vault_secret_version`,
`key_vault_secret_creation_date`, `error_code` and `error_message`
([#26160](hashicorp/terraform-provider-azurerm#26160
`azurerm_backup_policy_vm` - support for the `tiering_policy` property
([#26263](hashicorp/terraform-provider-azurerm#26263
`azurerm_kubernetes_cluster_node_pool` - Pod Disruption Budgets are now
respected when deleting a node pool
([#26471](hashicorp/terraform-provider-azurerm#26471
`azurerm_monitor_data_collection_endpoint` - support for the
`immutable_id` property
([#26380](hashicorp/terraform-provider-azurerm#26380
`azurerm_mssql_managed_instance` - support the value `GZRS` for the
`storage_account_type` property
([#26448](hashicorp/terraform-provider-azurerm#26448
`azurerm_mssql_managed_instance_transparent_data_encryption` - support
for the `managed_hsm_key_id` property
([#26496](hashicorp/terraform-provider-azurerm#26496
`azurerm_redis_cache_access_policy` - allow updates to `permissions`
([#26440](hashicorp/terraform-provider-azurerm#26440
`azurerm_redhat_openshift_cluster` - support for the
`managed_resource_group_name` property
([#25529](hashicorp/terraform-provider-azurerm#25529
`azurerm_redhat_openshift_cluster` - support for the
`preconfigured_network_security_group_enabled` property
([#26082](hashicorp/terraform-provider-azurerm#26082
`azurerm_iotcentral_application` - remove Computed from `template` and
set default of `[email protected]` in 4.0
([#26485](hashicorp/terraform-provider-azurerm#26485
`azurerm_digital_twins_time_series_database_connection` - remove
Computed from `kusto_table_name` and set a default of
`AdtPropertyEvents` in 4.0
([#26484](https://github.com/hashicorp/terraform-provider-azurerm/issues/26484))&#xA;&#xA;BUG
FIXES:&#xA;&#xA;* Data Source: `azurerm_express_route_circuit_peering` -
fix issue where data source attempts to parse an empty string instead of
generating the resource ID
([#26441](hashicorp/terraform-provider-azurerm#26441
`azurerm_express_route_gateway` - prevent a panic
([#26467](hashicorp/terraform-provider-azurerm#26467
`azurerm_monitor_scheduled_query_rules_alert_v2` - correctly handle the
`identity` block if not specified
([#26364](hashicorp/terraform-provider-azurerm#26364
`azurerm_security_center_automation` - prevent resource recreation when
`tags` are updated
([#26292](hashicorp/terraform-provider-azurerm#26292
`azurerm_synapse_workspace` - fix issue where `azure_devops_repo` or
`github_repo` configuration could not be removed
([#26421](hashicorp/terraform-provider-azurerm#26421
`azurerm_virtual_network_dns_servers` - split create and update function
to fix lifecycle - ignore
([#26427](hashicorp/terraform-provider-azurerm#26427
`azurerm_linux_function_app` - set `allowed_applications` in the request
payload
([#26462](hashicorp/terraform-provider-azurerm#26462
`azurerm_linux_function_app_slot` - set `allowed_applications` in the
request payload
([#26462](hashicorp/terraform-provider-azurerm#26462
`azurerm_windows_function_app` - set `allowed_applications` in the
request payload
([#26462](hashicorp/terraform-provider-azurerm#26462
`azurerm_windows_function_app_slot` - set `allowed_applications` in the
request payload
([#26462](hashicorp/terraform-provider-azurerm#26462
`azurerm_linux_web_app` - set `allowed_applications` in the request
payload
([#26462](hashicorp/terraform-provider-azurerm#26462
`azurerm_linux_web_app_slot` - set `allowed_applications` in the request
payload
([#26462](hashicorp/terraform-provider-azurerm#26462
`azurerm_windows_web_app` - set `allowed_applications` in the request
payload
([#26462](hashicorp/terraform-provider-azurerm#26462
`azurerm_windows_web_app_slot` - set `allowed_applications` in the
request payload
([#26462](hashicorp/terraform-provider-azurerm#26462
`azurerm_api_management` - remove ForceNew from
`additional_location.zones`
([#26384](hashicorp/terraform-provider-azurerm#26384
`azurerm_logic_app_integration_account_schema` - the `name` property now
allows underscores
([#26475](hashicorp/terraform-provider-azurerm#26475
`azurerm_palo_alto_local_rulestack_rule` - prevent error when switching
between `protocol` and `protocol_ports`
([#26490](https://github.com/hashicorp/terraform-provider-azurerm/issues/26490))&#xA;&#xA;DEPRECATIONS:&#xA;&#xA;*
`azurerm_analysis_service_server` - the property
`enable_power_bi_service` has been superseded by
`power_bi_service_enabled`
([#26456](https://github.com/hashicorp/terraform-provider-azurerm/issues/26456))&#xA;&#xA;&#xA;</pre>
            </details>
        </details>
<a
href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/287/">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]>
Copy link

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 github-actions bot locked as resolved and limited conversation to collaborators Jul 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
4 participants