Repository navigation
TPT-4654: Support NodeBalancer types and backend connectivity - #890
zliang-akamai wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Returned connectivity metadata can be stale, and unconditional gated-feature tests break integration runs on accounts without access.
3 open findings
What changed in this PR
Adds NodeBalancer type and backend connectivity support to the linode.cloud collection.
Changes:
- Accepts creation-only type, connectivity, and VPC options without including them in updates.
- Documents backend addressing and returned metadata.
- Adds unit coverage and extends populated integration tests for Premium/IPv6 behavior.
| File | Description |
|---|---|
| tests/unit/modules/test_nodebalancer.py | Tests creation forwarding and update exclusions. |
| tests/integration/targets/nodebalancer_populated/tasks/main.yaml | Exercises Premium/IPv6 behavior and metadata consistency. |
| plugins/modules/nodebalancer.py | Adds creation-only options and addressing documentation. |
| plugins/modules/nodebalancer_node.py | Documents connectivity-specific backend addresses. |
| plugins/module_utils/doc_fragments/nodebalancer.py | Adds connectivity examples and return metadata. |
| plugins/module_utils/doc_fragments/nodebalancer_node.py | Clarifies the example’s address comment. |
| plugins/module_utils/doc_fragments/nodebalancer_list.py | Adds returned metadata examples. |
| docs/modules/nodebalancer.md | Updates generated options, examples, and returns. |
| docs/modules/nodebalancer_node.md | Updates generated addressing guidance. |
| docs/modules/nodebalancer_list.md | Documents additional list metadata. |
| docs/modules/nodebalancer_info.md | Documents additional info metadata. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
1ad03e7 to
64880f6
Compare
64880f6 to
8ab6350
Compare
| "This cannot be changed after creation. This option requires " | ||
| "v4beta API access and may not be available to all accounts.", |
| @@ -49,8 +49,10 @@ | |||
| type=FieldType.string, | |||
There was a problem hiding this comment.
Do we need to support a node-level subnet_id field both here and in the nodebalancer module? Not entirely sure myself
https://techdocs.akamai.com/linode-api/reference/post-node-balancer-node
There was a problem hiding this comment.
Yes, it will be a separate PR for an easier review
lgarber-akamai
left a comment
There was a problem hiding this comment.
LGTM and tests are passing!



📝 Description
Add Ansible support for the NodeBalancer API changes covered by linode/linode_api4-python#735 and linode/linode_api4-python#745.
type,backend_connectivity, andvpcsoptions without sending them in update requests.type,backend_connectivity, and read-onlybackend_ipv6_prefixmetadata.us-miathat validates returned metadata.Per-node subnet support is intentionally left for a follow-up. The unavailable
/backend_aclendpoint is not added.✔️ How to Test
Run
make test-int TEST_SUITE=nodebalancer_premium.