apache / apache/cloudstack-extensions

Network Namespace extension should support untagged public networks

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
4
Forks
4
Avg merge
1h
Merged PRs (30d)
3

Description

## Summary

The current Network Namespace extension code does not support an untagged public network. It treats the public VLAN value as a numeric VLAN ID and attempts to create a VLAN sub-interface. In an environment where the public network is intentionally untagged, this causes the following Marvin tests to fail if the Public network is not tagged (a valid scenario):

- `test_05_isolated_network_full_lifecycle`
- `test_06_vpc_multi_tier_and_restart`
- `test_07_vpc_network_acl`
- `test_09_vpc_source_nat_ip_update`

The later Static NAT and port-forwarding errors appear to be consequences of the initial public-network setup failure, rather than four unrelated test failures.

## Environment

- CloudStack Marvin smoke tests
- Network Namespace extension
- Public network is untagged and uses the existing bridge/uplink path
- No tagged public VLAN is available on this test network

## Observed behavior

The extension attempts to create a VLAN interface using the literal value `untagged`, resulting in an error similar to:

`Error: argument "untagged" is wrong: id is invalid`

The Network Namespace extension script then exits with code 2, and the dependent network operations fail.

## Expected behavior

When the configured public network is untagged, the extension should:

1. Skip creation of an `ethX.` VLAN sub-interface.
2. Use the existing bridge or physical uplink directly.
3. Continue with the required address, route, ARP, and NAT setup.
4. Preserve the current behavior for numeric VLAN configurations.

A public network does not inherently require VLAN tagging; both tagged and untagged deployments are valid. Supporting the explicit `untagged` mode would allow the same tests to run on simple bridge/NAT-based lab networks without requiring an artificial VLAN configuration.

## Validation

Please consider adding coverage for both:

- Numeric VLAN configuration, preserving current tagged behavior.
- Explicit untagged configuration, without creating a VLAN sub-interface.

It would also be helpful if the extension scripts used by a test run could be pinned to a commit or release, rather than fetched from a moving branch at runtime, so that failures remain reproducible.

This issue concerns the Network Namespace extension only; it is not a change to the default CloudStack Virtual Router path.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Network Namespace extension script and the public-network setup path, then run the listed Marvin tests: test_05_isolated_network_full_lifecycle, test_06_vpc_multi_tier_and_restart, test_07_vpc_network_acl, and test_09_vpc_source_nat_ip_update. Verify that numeric VLAN configurations retain their current behavior and that explicit untagged configuration completes address, route, ARP, and NAT setup without creating a VLAN sub-interface.

Written by the indexing model from the issue text.

Assessment

Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.