Skip to content

TPT-4527: Implemented changes for SLADE and CLEO projects#665

Open
ezilber-akamai wants to merge 10 commits intolinode:proj/slade-cleofrom
ezilber-akamai:TPT-4257-slade-cleo
Open

TPT-4527: Implemented changes for SLADE and CLEO projects#665
ezilber-akamai wants to merge 10 commits intolinode:proj/slade-cleofrom
ezilber-akamai:TPT-4257-slade-cleo

Conversation

@ezilber-akamai
Copy link
Copy Markdown
Contributor

@ezilber-akamai ezilber-akamai commented Mar 11, 2026

📝 Description

Added new kernel and boot_size fields to Linode Create options. Also made root_pass optional when image is provided (if authorized_keys is provided instead) for Linode creation and rebulding, and Linode Disk creation.

Removed root_pass from returned fields for instance creation, disk creation, and instance rebuilding as root passwords are no longer automatically generated.

✔️ How to Test

make test-unit
make test-int

@ezilber-akamai ezilber-akamai changed the base branch from dev to proj/slade-cleo March 11, 2026 18:07
@ezilber-akamai ezilber-akamai requested a review from Copilot March 12, 2026 13:29
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the Linode create/rebuild/disk-create flows to support SLADE/CLEO requirements by adding kernel and boot_size to instance creation and changing how root_pass is handled when SSH keys are provided.

Changes:

  • Add kernel and boot_size fields to LinodeGroup.instance_create.
  • Change instance_create, Instance.rebuild, and Instance.disk_create to require at least one of root_pass or authorized_keys, and stop returning generated passwords.
  • Update unit tests to pass explicit root_pass and to assert the new return values.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
linode_api4/groups/linode.py Updates instance_create signature, validation, request payload, and return type; adds kernel/boot_size.
linode_api4/objects/linode.py Updates disk_create and rebuild credential validation and return behavior.
test/unit/objects/linode_test.py Updates object-level unit tests for rebuild and disk_create new return values and request bodies.
test/unit/linode_client_test.py Updates client unit tests for instance_create to include explicit root_pass and assert payload.
test/unit/groups/linode_test.py Updates/extends group-level unit tests, including new coverage for kernel/boot_size.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ezilber-akamai ezilber-akamai marked this pull request as ready for review March 12, 2026 18:59
@ezilber-akamai ezilber-akamai requested a review from a team as a code owner March 12, 2026 18:59
@ezilber-akamai ezilber-akamai requested review from lgarber-akamai and zliang-akamai and removed request for a team March 12, 2026 18:59
@zliang-akamai
Copy link
Copy Markdown
Member

Is it accessible in prod API yet? If so, can we have some integration tests as well?

@ezilber-akamai
Copy link
Copy Markdown
Contributor Author

Is it accessible in prod API yet? If so, can we have some integration tests as well?

No API access yet I believe. We have a separate ticket for integration tests once the test plan is complete and we have API access.

Copy link
Copy Markdown
Member

@zliang-akamai zliang-akamai left a comment

Choose a reason for hiding this comment

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

LGTM!

if image and not "root_pass" in kwargs:
ret_pass = Instance.generate_root_password()
kwargs["root_pass"] = ret_pass
if (
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

FYI: I think the removal of the root password generation would be a breaking change. All good if that's how we want to move forward, just figured I'd call it out 🙂

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah true, but I think since the purpose of this project is to make passwords optional it would be odd to generate one even when the user intentionally does not provide one.

@ezilber-akamai ezilber-akamai added breaking-change for breaking changes in the changelog. new-feature for new features in the changelog. labels Apr 9, 2026
@ezilber-akamai ezilber-akamai marked this pull request as draft April 10, 2026 14:31
@ezilber-akamai ezilber-akamai marked this pull request as ready for review April 10, 2026 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change for breaking changes in the changelog. new-feature for new features in the changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants