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

unable to take a subset of defined daemons to assign as a peer for an aggregator. #1583

Open
emdonat opened this issue Jan 17, 2025 · 3 comments
Assignees
Milestone

Comments

@emdonat
Copy link
Collaborator

emdonat commented Jan 17, 2025

I have defined a set of daemons:

daemons:
- names: "compute[1-30]"
  hosts: "compute[1-30]"
  endpoints:
  - names: "compute[1-30]-ib0"
    ports: 411
    xprt: sock
    auth:
      name: ovis
      plugin: ovis

- names: "admin[1-3]-agg"
  hosts: "admin[1-3]"
  endpoints:
  - names: "admin[1-3]-ib0"
    bind_all: True
    ports: 413
    xprt: sock
    auth:
      name: ovis
      plugin: ovis
      conf: "/tmp/inst/auth.conf"

- names: "admin[1-3]-samp"
  hosts: "admin[1-3]"
  endpoints:
  - names: "admin[1-3]-samp"
    ports: 411
    xprt: sock
    auth:
      name: ovis
      plugin: ovis

- names: "gw[1-3]"
  hosts: "gw[1-3]"
  endpoints:
  - names: "gw[1-3]-ib1"
    ports: 411
    xprt: sock
    auth:
      name: ovis
      plugin: ovis

- names: "login[1-2]"
  hosts: "login[1-2]"
  endpoints:
  - names: "login[1-2]-ib0"
    ports: 411
    xprt: sock
    auth:
      name: ovis
      plugin: ovis

and then am attempting to take a subset of these for an aggregator:

aggregators:
- daemons: "admin1-agg"
  peers:
  - daemons: "compute[1-10]"
    endpoints: "compute[1-10]-ib0"
    reconnect: 20s
    type: active
    updaters:
      - mode: pull
        interval: "1.0s"
        offset: "10ms"
        sets:
          - regex: ".*"
            field: inst
  - daemons: "gw1"
    endpoints: "gw1-ib1"
    reconnect: 20s
    type: active
    updaters:
      - mode: pull
        interval: "1.0s"
        offset: "10ms"
        sets:
          - regex: ".*"
            field: inst
  - daemons: "admin1-samp"
    endpoints: "admin1-samp"
    reconnect: 20s
    type: active
    updaters:
      - mode: pull
        interval: "1.0s"
        offset: "10ms"
        sets:
          - regex: ".*"
            field: inst
  - daemons: "login1"
    endpoints: "login1-ib0"
    reconnect: 20s
    type: active
    updaters:
      - mode: pull
        interval: "1.0s"
        offset: "10ms"
        sets:
          - regex: ".*"
            field: inst

and receiving the following error:

Traceback (most recent call last):
  File "/tmp/inst/bin/ldmsd_yaml_parser", line 30, in <module>
    cluster = YamlCfg(None, None, conf_spec, args)
  File "/tmp/inst/lib/python3.6/site-packages/ldmsd/parser_util.py", line 703, in __init__
    self.aggregators = self.build_aggregators(cluster_config)
  File "/tmp/inst/lib/python3.6/site-packages/ldmsd/parser_util.py", line 434, in build_aggregators
    raise ValueError(f'Daemons regex {daemons["names"]} does not match daemon regex "{group}"\n')
ValueError: Daemons regex login[1-2] does not match daemon regex "admin1-agg"

It appears that maybe it doesn't like taking a subset of the defined daemons? This seems like it should be fine to do.

@emdonat emdonat added this to the v4.4.5 milestone Jan 17, 2025
@nick-enoent
Copy link
Collaborator

@emdonat Good catch, I implemented a fix today. Testing it on our network. I'll have pull request out this weekend, but it should be ready for you Monday.

@emdonat
Copy link
Collaborator Author

emdonat commented Jan 23, 2025

Just so it isn't lost in a merged pull request:

ldmsd_yaml_parser --ldms_config ./cluster.yaml --daemon_name admin1-agg
KeyError: 'compute[1-15]'

During handling of the above exception, another exception occurred:

Exception: Agg config Error: 'compute[1-15]' Line:972

I still don't seem to be able to take a subset of daemons per aggregator stanza as noted in #1583

@nick-enoent
Copy link
Collaborator

@emdonat This should be addressed in #1589

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

No branches or pull requests

3 participants