Skip to content

Comments

Installer: AWS Shared VPC#1397

Merged
openshift-merge-robot merged 1 commit intoopenshift:masterfrom
patrickdillon:aws-shared-vpc
Jun 27, 2023
Merged

Installer: AWS Shared VPC#1397
openshift-merge-robot merged 1 commit intoopenshift:masterfrom
patrickdillon:aws-shared-vpc

Conversation

@patrickdillon
Copy link
Contributor

with private hosted zones in a separate account.

Installer poc PR: openshift/installer#7161

@patrickdillon
Copy link
Contributor Author

First draft is up for early review,

@openshift-ci openshift-ci bot requested review from aravindhp and sosiouxme May 9, 2023 19:58
Copy link
Contributor

@gcs278 gcs278 left a comment

Choose a reason for hiding this comment

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

Looks good thanks

@patrickdillon patrickdillon force-pushed the aws-shared-vpc branch 2 times, most recently from 03710fd to 1fa3e62 Compare May 15, 2023 20:39
@patrickdillon
Copy link
Contributor Author

Bumped this to make the primary suggestion updating the DNS config rather than the infrastructure config, which has been moved to the alternative section.

Also added some minor discussion around how we have a very limited number of existing clusters using this setup that might benefit from adopting the functionality outlined here. My biggest questions are around day 2 support.

Copy link
Contributor

@mtulio mtulio left a comment

Choose a reason for hiding this comment

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

Overall looks good, I have minimal suggestions with regard to the further possibilities of using external credentials.

Comment on lines 207 to 210
hostedZone: #deprecated
privateHostedZone:
id: Z0743278N5ELJPLYA3H6
role: arn:aws:iam::<account-a>:role/<role-name>
Copy link
Contributor

Choose a reason for hiding this comment

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

@patrickdillon is there any claim for having the Public Hosted Zone (baseDomain) in another account?
Is the installer search for baseDomain to discover the HostedZoneId and create the records?
I wonder if there are restrictive customers that would like to keep the publicHostedZone in another account too (I can see in Azure that has a field specifying the Resource Group of the baseDomain/zone).

Thinking about that as we are introducing that external/extra authentication on installer, do you think that would be a good idea to structure the config for future requests? Having something like:

platform:
  aws:
    hostedZone: Z0743278N5ELJPLYA3H6 
    externalCredentials:
      hostedZone:
        iamRole: arn:aws:iam::<account-a>:role/<role-name>

Thinking on that structure, we could allow us to expand for future needs for something like:

baseDomain: example.com
platform:
  aws:
    hostedZone: Z0743278N5ELJPLYA3H6 
    externalCredentials:
      hostedZone:
        role: arn:aws:iam::<account-a>:role/<role-name>
      baseDomain:
        role: arn:aws:iam::<account-x>:role/<role-name>

Expanding a little bit more, but may require more permissions in external accounts: if we would like to teach the installer to create a cluster in shared VPC, creating the resources (fully automated), the following structure may be more flexible:

baseDomain: example.com
platform:
  aws:
    externalResources:
      sharedVPC:  # triggers the automation to create the VPC, subnets, GWs, and subnet resource sharing
        role: arn:aws:iam::<account-a>:role/<role-name>
      hostedZone:
        role: arn:aws:iam::<account-a>:role/<role-name>
      baseDomain:
        role: arn:aws:iam::<account-x>:role/<role-name>

I know that the last scenario could generate a lot of changes on installer, but it seems some scenario that could be exercised by our customers.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

is there any claim for having the Public Hosted Zone (baseDomain) in another account?

I don't believe so, but I am also looking for a definitive answer. The reason I don't believe this is the case, is because with a public zone, if the authoritative dns zone belongs to a different account, users should already be able to delegate to another public DNS zone in the cluster account.

@mrunalp
Copy link
Member

mrunalp commented May 18, 2023

@deads2k @JoelSpeed ptal for API review.

Copy link
Contributor

@JoelSpeed JoelSpeed left a comment

Choose a reason for hiding this comment

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

API structure generally looks good and anything I would add would likely be nits, can iron those out via the o/api PR

Few other nits while reading through but no major concerns from my side


### Graduation Criteria

This functionality is targeted for 4.14 GA and for backporting to previous releases.
Copy link
Contributor

Choose a reason for hiding this comment

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

Have you considered a feature gate?

Do we often backport features? Especially when they include API changes as described here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added details on feature gate.

Do we often backport features? Especially when they include API changes as described here?

No, but this is being prioritized as an exception.

with private hosted zones in a separate account.
Copy link
Member

@mrunalp mrunalp left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jun 27, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jun 27, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mrunalp

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 27, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jun 27, 2023

@patrickdillon: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@openshift-merge-robot openshift-merge-robot merged commit d09fbc4 into openshift:master Jun 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants