Skip to content

TPT-4656: Support NodeBalancer type and backend connectivity - #735

Open
zliang-akamai wants to merge 1 commit into
devfrom
zhiwei/TPT-4656/nodebalancer-type-backend-connectivity
Open

TPT-4656: Support NodeBalancer type and backend connectivity#735
zliang-akamai wants to merge 1 commit into
devfrom
zhiwei/TPT-4656/nodebalancer-type-backend-connectivity

Conversation

@zliang-akamai

@zliang-akamai zliang-akamai commented Aug 28, 2026

Copy link
Copy Markdown
Member

📝 Description

Add SDK support for NodeBalancer type and backend_connectivity.

✔️ How to Test

Unit Testing

python -m pytest test/unit/objects/nodebalancers_test.py test/unit/linode_client_test.py::NodeBalancerGroupTest

Integration Testing

make TEST_SUITE="nodebalancer" TEST_CASE="test_create_nb" test-int

Expose type and backend_connectivity on NodeBalancer, document create
kwargs, and cover IPv6/VPC backends in unit and integration tests.
@zliang-akamai
zliang-akamai requested review from a team as code owners August 28, 2026 23:46
@zliang-akamai
zliang-akamai requested review from psnoch-akamai and yec-akamai and removed request for a team August 28, 2026 23:46
@zliang-akamai zliang-akamai added the new-feature for new features in the changelog. label Aug 28, 2026
@zliang-akamai
zliang-akamai requested a lite review from Copilot August 28, 2026 23:46

Copilot AI left a comment

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.

Pull request overview

Adds SDK support for NodeBalancer type and backend_connectivity by exposing them as read-only model properties, documenting the new create-time parameters, and extending tests/fixtures to cover IPv6 backend address formats and the new response fields.

Changes:

  • Expose NodeBalancer.type and NodeBalancer.backend_connectivity as read-only properties and ensure they are omitted from PUT payloads.
  • Document type, backend_connectivity, vpcs, and configs on NodeBalancer creation, and update node address documentation to include IPv6 bracketed formats.
  • Expand unit/integration test coverage and fixtures to validate the new fields and IPv6 node address forwarding.

Reviewed changes

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

Show a summary per file
File Description
test/unit/objects/nodebalancers_test.py Adds unit tests for IPv6 node creation, config rebuild with IPv6 nodes, and NodeBalancer type/backend_connectivity behavior.
test/unit/linode_client_test.py Adds unit tests ensuring create() forwards type, backend_connectivity, configs node addresses, and vpcs.
test/integration/models/nodebalancer/test_nodebalancer.py Updates integration create test to pass and assert type/backend_connectivity.
test/fixtures/nodebalancers.json Extends list fixture data with type and backend_connectivity.
test/fixtures/nodebalancers_123456.json Extends single NodeBalancer fixture with type and backend_connectivity.
test/fixtures/linode_instances_123_nodebalancers.json Extends Linode->NodeBalancers fixture with type and backend_connectivity.
linode_api4/objects/nodebalancer.py Updates node address docstring and adds NodeBalancer type/backend_connectivity properties.
linode_api4/groups/nodebalancer.py Documents type, backend_connectivity, vpcs, and configs kwargs on NodeBalancer create.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 108 to 111
client_udp_sess_throttle=5,
type="premium",
backend_connectivity="ipv6",
)
Comment on lines +165 to +168
:param address: The address where this backend can be reached. This may
be a private IPv4 address, a public IPv6 address in
``[IPv6]:port`` format, or a VPC address. The address
type must match this NodeBalancer's ``backend_connectivity``.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-feature for new features in the changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants