-
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
Add public IP option to AzureML Computes #21377
Add public IP option to AzureML Computes #21377
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 the pr @Lucasjuv - I think we'll need to read this back into state in the read function? aside from that i've left to comments inline and once address i think this will be good to test and merge
internal/services/machinelearning/machine_learning_compute_cluster_resource.go
Outdated
Show resolved
Hide resolved
internal/services/machinelearning/machine_learning_compute_cluster_resource.go
Outdated
Show resolved
Hide resolved
internal/services/machinelearning/machine_learning_compute_cluster_resource.go
Outdated
Show resolved
Hide resolved
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.
Property names need to be updated in the tests
internal/services/machinelearning/machine_learning_compute_cluster_resource_test.go
Outdated
Show resolved
Hide resolved
internal/services/machinelearning/machine_learning_compute_instance_resource_test.go
Outdated
Show resolved
Hide resolved
@Lucasjuv I updated the properties in the tests hoping that'd be enough to get this in to this week's release but unfortunately there are still test failures:
|
@stephybun I managed to run the acceptance tests locally but they are hanging once the compute instance is created successfully without public the public IP. I'll try to run the test for the cluster. |
I've tried testing the cluster and it complains about vCPU quotas. Even though I have nothing else on the subscription. The Compute Instance test still hangs. I've noticed that on some cases the public access on the workspace is disabled. That might be be due to me adding the private endpoint. I've also tried opening the nsg rules to access the workspace and take a look at the computes on the studio. |
@Lucasjuv any progress on this getting merged in? I was about to push up a commit with these same changes but then found this open pull request. I notice you were having issues with your tests not finishing when no public IP is set with a private endpoint, I think the issue is related to not including a private DNS zone. I believe when deploy azure ML workspace on a private endpoint you will need to add a private DNS zone for ML that is linked to the vnet. |
Related PR: #21706 |
@stephybun Acceptance Tests are passing. |
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.
Hey @Lucasjuv, I've taken a pass at this PR and it's got breaking changes the way it is written. I've detailed what is going on below. We'll most likely want to remove the Default value and just have people pass it in when they want to use it.
internal/services/machinelearning/machine_learning_compute_cluster_resource.go
Outdated
Show resolved
Hide resolved
internal/services/machinelearning/machine_learning_compute_instance_resource.go
Outdated
Show resolved
Hide resolved
internal/services/machinelearning/machine_learning_compute_instance_resource_test.go
Outdated
Show resolved
Hide resolved
I think that the current API version is indeed not returning the property for the compute instance. I didn't test the cluster yet but when we get that API version update it might work. If not I'll have to open a bug on azure's API spec repo. |
After some testing I discovered that the API indeed does not return the value for the public IP on compute instances but It does for the compute cluster so I removed the compute instance changes from this PR. |
@Lucasjuv unfortunately I see the same behaviour mentioned by @mbfrahry on compute clusters. If the value hasn't previously been set then it isn't returned by the API so the current implementation would be a breaking change for existing clusters. @ms-henglu the default value defined in the swagger is for version |
Hi @stephybun , My bad, I attached the wrong link, this default value is defined in |
If you look at the code right now the read function assumes the property true if it is not received. The basic and complete acceptance tests are working so the property is returned in case it is set to false. It is important to note that in the API the property for the CC is in a different object called 'AMLCompute'. This shouldn`t be a breaking change for existing clusters. |
…if the property is set to false
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.
Apologies - it appears I was looking at an outdated version of the PR. I made a minor change to remove the RequiredWith
and to add validation in the create to check that subnet_resource_id
is set when node_public_ip_enabled
is false
since otherwise subnet_resource_id
will always be required even when node_public_ip_enabled
is set to true
.
Other than that LGTM 🎋
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. |
Trying to address issue #20078.
I've added the enable_node_public_ip option to AzureML computes to be able to provision secure environments.