-
Notifications
You must be signed in to change notification settings - Fork 617
✨ RosaNetwork: new CRD & reconciler to provision network infrastructure for ROSA-HCP #5464
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
base: main
Are you sure you want to change the base?
Conversation
Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. 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-sigs/prow repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @mzazrivec. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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-sigs/prow repository. |
webhookClientConfig: | ||
# this is "\n" used as a placeholder, otherwise it will be rejected by the apiserver for being blank, | ||
# but we're going to set it later using the cert-manager (or potentially a patch if not using cert-manager) | ||
caBundle: Cg== |
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.
No need to add the caBundle.
exp/api/v1beta2/rosanetwork_types.go
Outdated
Resource string `json:"resource"` | ||
|
||
// Identified of the created resource. Will be filled in once the resource is created & ready | ||
ID string `json:"ID"` |
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.
ID string `json:"ID"` | |
Id string `json:"id"` |
Or resourceId
exp/api/v1beta2/rosanetwork_types.go
Outdated
// CFResource groups information pertaining to a resource created as a part of a cloudformation stack | ||
type CFResource struct { | ||
// Name of the created resource: NATGateway1, VPC, SecurityGroup, ... | ||
Resource string `json:"resource"` |
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.
Resource string `json:"resource"` | |
Name string `json:"name"` |
OR resourceName
Status string `json:"status"` | ||
|
||
// Message pertaining to the status of the resource | ||
Reason string `json:"reason"` |
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.
message is better I guess ?
Reason string `json:"reason"` | |
Message string `json:"message"` |
exp/api/v1beta2/rosanetwork_types.go
Outdated
// Availability zone of the subnet pair | ||
AvailabilityZone string `json:"availabilityZone"` | ||
|
||
// ID of the public subnet |
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.
// ID of the public subnet | |
// Public subnet Id ex; subnet-xxxxxxxxxx |
main.go
Outdated
@@ -284,6 +284,15 @@ func main() { | |||
} | |||
} | |||
|
|||
// TODO: feature gates? |
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 don't think we need a new feature gate, we can have it under ROSA feature gate
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.
Yes. I did not mean a new feature gate here, just the existing rosa FG.
you also need to update the ValidatingWebhookConfiguration and MutatingWebhookConfiguration here |
5907fb1
to
24a5950
Compare
a947563
to
a255790
Compare
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.
/ok-to-test
// If no identity is specified, the default identity for this controller will be used. | ||
// | ||
// +optional | ||
IdentityRef *infrav1.AWSIdentityReference `json:"identityRef,omitempty"` |
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.
Not sure, if we want to provide this option to end user. We don't do that with RosaControlPlane only default aws identity. However, we should provide OCM identityRef
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.
Why shouldn't we provide this option to the end user? We need to specify the ref to the aws secret somehow. Here I'm just reusing existing structures & code.
What do you mean by OCM identity ref? OCM will not be involved here in any way.
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.
well, to use openshift/rosa and establish ocm client you need to have ocm authentication. Is this not the case with the RosaNetwork CF stack creation?
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.
No. No OCM credentials are needed for rosanet, just AWS credentials.
d2534a7
to
dcc599d
Compare
6f09844
to
241e957
Compare
277c2c9
to
f101821
Compare
56c9d7a
to
32a5181
Compare
@@ -38,6 +39,7 @@ patchesStrategicMerge: | |||
- patches/webhook_in_awsmanagedcontrolplanes.yaml | |||
- patches/webhook_in_eksconfigs.yaml | |||
- patches/webhook_in_eksconfigtemplates.yaml | |||
#- patches/webhook_in_rosanetworks.yaml |
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.
The conversion webhook wil not be implemented?
config/crd/kustomization.yaml
Outdated
@@ -52,6 +54,7 @@ patchesStrategicMerge: | |||
- patches/cainjection_in_awsmanagedclusters.yaml | |||
- patches/cainjection_in_eksconfigs.yaml | |||
- patches/cainjection_in_eksconfigtemplates.yaml | |||
#- patches/cainjection_in_rosanetworks.yaml |
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.
This line should be uncommented, is't it?
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.
Yep, uncommented. Thanks.
Is that really needed at this point? (there are no webhooks implemented for rosanet yet). |
@mzazrivec: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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-sigs/prow repository. I understand the commands that are listed here. |
What type of PR is this?
/kind feature
What this PR does / why we need it:
This pull request implements CRD and a controller for provisioning complete networking infrastructure required to install a ROSA-HCP cluster in AWS. The proposal for this implementation has been described in #5381.
Under the hood, the implementation uses cloudformation stack and a static (i.e. no possibility of customization) cloudformation template from (rosa-cli)[https://github.com/openshift/rosa/blob/master/cmd/create/network/templates/rosa-quickstart-default-vpc/cloudformation.yaml].
This pull request depends on openshift/rosa#2904
Quick howto:
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #
Special notes for your reviewer:
Checklist:
Release note: