feat(networking): core Neutron resources and data sources - #5
Merged
Conversation
Neutron v2 foundational pair, acceptance-tested against the CE lab (create/update/import, both resources). - pcd_networking_network: base attributes + external-router extension + tags. - pcd_networking_subnet: cidr, gateway, DHCP, allocation_pools, dns_nameservers, tags. - clients: NetworkV2Client; shared configureClient + replaceTags helpers. Computed nested collections (allocation_pools) use types.List rather than native Go slices so the framework can represent "unknown" at plan time.
Acceptance-tested against the CE lab (create/update/import). - pcd_networking_secgroup: name, description, stateful, tags, optional delete_default_rules to strip Neutron's default egress rules on create. - pcd_networking_secgroup_rule: immutable rule (all-ForceNew) with direction, ethertype, protocol, port range, and remote group/prefix.
Acceptance-tested against the CE lab (create/update/import; interface attach/detach). - pcd_networking_router: name, description, admin_state_up, external gateway (external_network_id + enable_snat), tags. - pcd_networking_router_interface: attaches a subnet or existing port to a router; identified by the interface port, immutable (all-ForceNew).
Lookup by id or filters, acceptance-tested against the CE lab (name -> id resolution). Records the networking family CHANGELOG entry.
PF9-pushkar
added a commit
that referenced
this pull request
Jul 14, 2026
feat(networking): core Neutron resources and data sources
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 1 — networking core (Neutron v2)
Third feature family. Every resource and data source is acceptance-tested green against the CE 2026.4 lab (create/update/import,
CheckDestroy, name→id lookups), serialized on the single lab.Resources
pcd_networking_network— base attributes + external-router extension + tags.pcd_networking_subnet— cidr, gateway, DHCP,allocation_pools,dns_nameservers, tags.pcd_networking_secgroup— with optionaldelete_default_rules.pcd_networking_secgroup_rule— immutable rule (all-ForceNew).pcd_networking_router— incl. external gateway (external_network_id+enable_snat).pcd_networking_router_interface— attach a subnet/port to a router.Data sources
pcd_networking_network,pcd_networking_subnet,pcd_networking_secgroup(by id or filters).Deferred to a networking-extras follow-up
pcd_networking_floatingip+ associate) — the CE lab has no external network to allocate from; needs external-network setup first (tracked inDECISIONS.md)._subnet_ids,_port,_port_ids,_router,_floatingip).Test evidence
TF_ACC=1 make testaccfor./internal/services/networking/— 4/4 suites passing.Notes
allocation_pools) usetypes.List, not native Go slices, so "unknown at plan time" is representable.pcd-iso-testup).