feat(linode): add cloud foundation and LoadBalancer task#18213
feat(linode): add cloud foundation and LoadBalancer task#18213moshevayner wants to merge 1 commit intokubernetes:masterfrom
Conversation
87fc707 to
6f49719
Compare
|
/retest |
|
Unknown CLA label state. Rechecking for CLA labels. Send feedback to sig-contributor-experience at kubernetes/community. /check-cla |
hakman
left a comment
There was a problem hiding this comment.
@moshevayner Some initial feedback on the PR. I believe the tasks are a little tricky, but should be easy to fix. Let me know if you have any questions.
| "k8s.io/kops/upup/pkg/fi/cloudup/linode" | ||
| ) | ||
|
|
||
| // +kops:fitask |
There was a problem hiding this comment.
Should run the generator for fitask.
| func (l *LoadBalancerBackends) GetDependencies(tasks map[string]fi.CloudupTask) []fi.CloudupTask { | ||
| var deps []fi.CloudupTask | ||
|
|
||
| if l.LoadBalancer != nil { | ||
| deps = append(deps, l.LoadBalancer) | ||
| } | ||
|
|
||
| return deps | ||
| } |
There was a problem hiding this comment.
No need to set dependencies explicitly. Task already depends on LB.
| return fi.CloudupTaskAsString(l) | ||
| } | ||
|
|
||
| func (l *LoadBalancerBackends) Run(c *fi.CloudupContext) error { |
There was a problem hiding this comment.
Weird, should have Find() and Render(). Run should be very light:
func (v *LoadBalancerBackends) Run(c *fi.CloudupContext) error {
return fi.CloudupDefaultDeltaRunMethod(v, c)
}Signed-off-by: Moshe Vayner <moshe@vayner.me>
6f49719 to
6ab23e3
Compare
|
[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. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
@hakman thanks for the pointers! I think I've addressed all comments, let me know if I missed something 🙏🏼 |
Thanks, trying to look at it today. |
Summary
linode.Cloud,LinodeClientinterface,LinodeCloudinterface,APITarget,Verifier)LoadBalancertask — creates/updates/deletes a Linode NodeBalancer with TCP configs for the API server port, manages backend nodes, and exposesGetWellKnownServicesso the node-config machinery can discover the API server addresslinodemodel.APILoadBalancerModelBuilderwhich wires the task into the cloudup DAGThis is the first in a series of small PRs building out the Linode cloud provider (integration branch: #18212).
/cc @hakman