Skip to content

[Feature]: Work with a nodes directory #5

Open

Description

@asalois

Describe the feature

Use a nodes dir that looks like the following.

# ls nodes 
chassis.yaml  river_nodes.yaml  ss_switches.yaml  x1000_nodes.yaml x1001_nodes.yaml ... x1010_nodes.yaml

The x1000_nodes.yaml looks like

_x1000_cabinet_bmcs:
  - xname: x1000c0s0b0
    mac: 00:00:00:00:00:00
    ip: 10.00.41
  - xname: x1000c0s0b1
    mac: 00:00:00:00:00:00
    ip: 10.0.0.40
  - xname: x1000c0s2b0
    mac: 00:00:00:00:00:00
    ip: 10.0.0.38
  - xname: x1000c0s2b1
    mac: 000:00:00:00:00:00
    ip: 10.0.0.39
  - xname: x1000c1s1b0
    mac: 00:00:00:00:00:00
    ip: 10.0.0.27
  - xname: x1000c1s1b1
    mac: 00:00:00:00:00:00
    ip: 10.0.0.28
  - xname: x1000c1s3b0
    mac: 00:00:00:00:00:00
    ip: 10.0.0.25
  - xname: x1000c1s3b1
    mac: 00:00:00:00:00:00
    ip: 10.0.0.26
_x1000_cabinet_nodes:
  - hsn_ips:
      - 10.200.0.32
    interfaces:
      - ip_addrs:
          - ip_addr: 10.1.0.19
            name: management
        mac_addr: 00:00:00:00:00:00
    name: nx0001
    nid: 1
    groups:
      - mountain
      - compute
      - cpu
    xname: x1000c0s0b0n0
    bmc: x1000c0s0b0
  - hsn_ips:
      - 10.200.0.31
    interfaces:
      - ip_addrs:
          - ip_addr: 10.1.0.20
            name: management
        mac_addr: 00:00:00:00:00:00
    name: nx0002
    nid: 2
    groups:
      - mountain
      - compute
      - cpu
    xname: x1000c0s0b0n1
    bmc: x1000c0s0b0
.
.
.

Why do you want this feature?

To use this tool to update the firmware on larger clusters we would like to use the current way we are doing inventory of the nodes. That was includes specifying each node in specific cabinet in one file.

Alternatives you've considered

I could write a python to make all the yaml into one yaml but that would be cumbersome and prone to errors combined with yet another thing that needs to be maintained.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

  1. changed the title [-][Feature]: Work with a nodes dirctory[/-] [+][Feature]: Work with a nodes directory[/+] on May 5, 2026
  2. alexlovelltroy commented on May 6, 2026

    @alexlovelltroy
    Member

    The x1000_nodes.yaml seems to follow the existing pattern and format, so it looks like you can already accomplish much of what you want by running the tool multiple times, once for each cabinet. I don't understand the other files you list, like chassis.yaml. Should the ex-bootstrap tool deal with those as well?

    Can you use bash to run loop through the cabinet files and run them all? Trying to better understand what you need before trying to figure out what code, if any, needs to change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions