Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CASMNET-2183 RVR NMN Support #466

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open

CASMNET-2183 RVR NMN Support #466

wants to merge 29 commits into from

Conversation

lukebates123
Copy link
Contributor

@lukebates123 lukebates123 commented Feb 26, 2024

Summary and Scope

Previously all air cooled nodes, both managed (e.g. UAN) and management (managers, workers and storage nodes) existed on the same VLAN. The data structures existed from the beginning in SLS to separate managed and management node traffic, but structurally this was never done. This change allows managed nodes to be moved to separate networks (VLAN and subnets as prescribed in SLS). This change also limits access of the managed nodes to the management plane NMN.

  • Add Support for River NMN via CLI flag
  • Allows the user to select what nodes are put onto the RVR-NMN VLAN based on the custom_config.yaml input file.
  • No IP-helper configured on L3 SVIs by default
    • This can be set within the river_nmn parameter in the custom_config.yaml file. dhcp: true will set the ip-helper of the river_nmn network to the default dhcp server (kea).
  • ACLs only allow communcation to the nmn-metallb network
  • The default behavior of how configs are generated and what network they go on does not change
  • Add black_hole_vlan_1 and black_hole_vlan_2 to variables in custom_config.yaml
  • Fix Aruba Edge switch templates
  • I have added new tests to cover the new code
  • If adding a new file, I have updated pyinstaller.py
  • I have added entries in CHANGELOG.md for the changes in this PR

Issues and Related PRs

CASMNET-2183

Testing

Generated configs for a Customer system with storage nodes
custom_config.yaml snippet

river_nmn:
  nodes:
    - storage1-25
    - storage10-11
    - cn926
    - cn954
  dhcp: false
black_hole_vlan
black_hole_vlan_1: 4000
black_hole_vlan_2: 4001

sw-leaf-bmc-004.txt

sw-leaf-001.txt
sw-leaf-002.txt

sw-spine-001.txt
sw-spine-002.txt

snippet shows that only nodes selected via the config generation are moved to the RVR VLAN.

interface 1/1/1
    no shutdown
    mtu 9198
    description storage001:ocp:2<==sw-leaf-bmc-004
    no routing
    vlan access 2800
    spanning-tree bpdu-guard
    spanning-tree port-type admin-edge
interface 1/1/2
    no shutdown
    mtu 9198
    description storage002:ocp:2<==sw-leaf-bmc-004
    no routing
    vlan access 2800
    spanning-tree bpdu-guard
    spanning-tree port-type admin-edge
interface 1/1/3
    no shutdown
    mtu 9198
    description storage003:ocp:2<==sw-leaf-bmc-004
    no routing
    vlan access 2800
    spanning-tree bpdu-guard
    spanning-tree port-type admin-edge
interface 1/1/4
    no shutdown
    mtu 9198
    description storage004:ocp:2<==sw-leaf-bmc-004
    no routing
    vlan access 2800
    spanning-tree bpdu-guard
    spanning-tree port-type admin-edge
interface 1/1/5
    no shutdown
    mtu 9198
    description storage005:ocp:2<==sw-leaf-bmc-004
    no routing
    vlan access 2
    spanning-tree bpdu-guard
    spanning-tree port-type admin-edge
interface 1/1/6
    no shutdown
    mtu 9198
    description storage006:ocp:2<==sw-leaf-bmc-004
    no routing
    vlan access 2800
    spanning-tree bpdu-guard
    spanning-tree port-type admin-edge
interface 1/1/7
    no shutdown
    mtu 9198
    description storage007:ocp:2<==sw-leaf-bmc-004
    no routing
    vlan access 2
    spanning-tree bpdu-guard
    spanning-tree port-type admin-edge

@lukebates123 lukebates123 requested a review from a team as a code owner February 26, 2024 21:54
@lukebates123 lukebates123 marked this pull request as draft February 27, 2024 19:02
@lukebates123 lukebates123 marked this pull request as ready for review February 27, 2024 21:59
canu/generate/switch/config/config.py Outdated Show resolved Hide resolved
canu/generate/switch/config/config.py Outdated Show resolved Hide resolved
canu/utils/validate_node_list.py Outdated Show resolved Hide resolved
canu/utils/validate_node_list.py Outdated Show resolved Hide resolved
canu/generate/switch/config/config.py Outdated Show resolved Hide resolved
canu/generate/switch/config/config.py Outdated Show resolved Hide resolved
canu/generate/switch/config/config.py Show resolved Hide resolved
canu/generate/switch/config/config.py Show resolved Hide resolved
Copy link
Collaborator

@trad511 trad511 left a comment

Choose a reason for hiding this comment

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

Make sure the text of the PR is up to date. Still references the flag behavior rather than custom-config

@trad511 trad511 changed the title Rvr nmn support RVR NMN Support Mar 13, 2024
canu/test/aruba/test_suite.yaml Outdated Show resolved Hide resolved
canu/test/aruba/test_suite.yaml Outdated Show resolved Hide resolved
pyinstaller.py Outdated Show resolved Hide resolved
canu/utils/validate_node_list.py Outdated Show resolved Hide resolved
@rustydb rustydb changed the title RVR NMN Support CASMNET-2182 RVR NMN Support Oct 2, 2024
@rustydb rustydb changed the title CASMNET-2182 RVR NMN Support CASMNET-2183 RVR NMN Support Oct 2, 2024
@rustydb
Copy link
Contributor

rustydb commented Oct 28, 2024

Rebased on #521 and all earlier changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants