Skip to content

linode: Add VPC cloudup task#18316

Merged
k8s-ci-robot merged 1 commit into
kubernetes:masterfrom
moshevayner:linode-pr-vpc
May 18, 2026
Merged

linode: Add VPC cloudup task#18316
k8s-ci-robot merged 1 commit into
kubernetes:masterfrom
moshevayner:linode-pr-vpc

Conversation

@moshevayner
Copy link
Copy Markdown
Member

Adds the first Linode cloudup infrastructure task: VPC create/update support.

This intentionally does not add Linode instances, volumes, load balancers, DNS, or full cluster bring-up support. Those should land in follow-up PRs.

Signed-off-by: Moshe Vayner moshe@vayner.me

/cc @hakman

What this PR does / why we need it:

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):

Special notes for your reviewer:

@k8s-ci-robot k8s-ci-robot requested a review from hakman May 12, 2026 05:44
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels May 12, 2026
@moshevayner
Copy link
Copy Markdown
Member Author

/retest

Copy link
Copy Markdown
Member

@hakman hakman left a comment

Choose a reason for hiding this comment

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

@moshevayner nice progress, some comments, mostly small stuff.
additionally, please look into adding the OWNERS files to the new packages.

Comment thread upup/pkg/fi/cloudup/linode/cloud.go Outdated
Comment on lines +80 to +82
func (c *Cloud) AccessToken() string {
return c.accessToken
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

unused, drop for now

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This method is required in order to maintain the interface contract. When I tried to remove it, I got a compliation error:

cannot use &Cloud{…} (value of type *Cloud) as LinodeCloud value in return statement: *Cloud does not implement LinodeCloud (missing method AccessToken)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

did you remove both at the same time?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I did, but I still had compilations error. Ended up removing from the struct as well and that fixed the errors. Should be good now.

Comment on lines +38 to +40
func (c *MockLinodeCloud) AccessToken() string {
return c.AccessToken_
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

unused, drop for now

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Same as above

Comment thread upup/pkg/fi/cloudup/linode/cloud.go Outdated
}

client := linodego.NewClient(nil)
client.SetUserAgent("kops")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

adding the version is easy and useful for debugging later

Suggested change
client.SetUserAgent("kops")
client.SetUserAgent("kops/" + version.Version)

Comment thread upup/pkg/fi/cloudup/linodetasks/vpc.go Outdated
if found != nil {
return nil, fmt.Errorf("found multiple Linode (Akamai) VPCs named %q", name)
}
found = candidate
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

should this break also?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I intentionally kept scanning so we can detect duplicate matching VPCs rather than taking the first one. Breaking here would hide ambiguous matches.
If you think that's an overkill, I'll break here instead.

Comment thread upup/pkg/fi/cloudup/linodetasks/vpc.go Outdated
}

var found *linodego.VPC
if v.ID != nil {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

is there any case where you have the id?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Actually, not one that I can think of.. Overkill, I'll drop this branch.

@hakman hakman changed the title feat(linode): Add VPC cloudup task linode: Add VPC cloudup task May 13, 2026
@moshevayner moshevayner force-pushed the linode-pr-vpc branch 4 times, most recently from 7c35da0 to 6ca2cdd Compare May 18, 2026 15:30
Adds the first Linode cloudup infrastructure task: VPC create/update support.

This intentionally does not add Linode instances, volumes, load balancers, DNS, or full cluster bring-up support. Those should land in follow-up PRs.

Signed-off-by: Moshe Vayner <moshe@vayner.me>
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 18, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hakman

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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 18, 2026
@k8s-ci-robot k8s-ci-robot merged commit dfcdbd0 into kubernetes:master May 18, 2026
26 checks passed
@moshevayner moshevayner deleted the linode-pr-vpc branch May 18, 2026 17:56
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. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants