Skip to content

[Feature]: Work with a nodes directory #5

@asalois

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions