perfsonar / perfsonar/psconfig

Bug: `'host1' is not of type 'object'` validation error on correct JSON

Open
#166 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5
Forks
3
PR merge metrics
No merged PRs in 30d

Description

Bug: 'host1' is not of type 'object' validation error on correct JSON
Describe the bug

When running psconfig validate (and using pSConfig pScheduler agent) on a valid psconfig JSON file, validation fails with the error:

Error: 'host1' is not of type 'object'

This happens even though the file matches the official documentation (https://docs.perfsonar.net/psconfig_templates_intro.html) and contains the required sections.

To Reproduce

Steps to reproduce the behavior:

  1. Save the following as /tmp/pscheduler-agent.json:
    {
      "addresses": {
        "host1": { "address": "192.0.2.1" },
        "host2": { "address": "192.0.2.2" }
      },
      "groups": {
        "my_mesh": {
          "type": "mesh",
          "addresses": [ "host1", "host2" ]
        }
      },
      "tests": {
        "my_ping_test": {
          "type": "pscheduler",
          "spec": {
            "test": { "type": "ping" },
            "schedule": { "interval": "PT5M" }
          }
        }
      },
      "archives": {
        "local-esmond": {
          "archiver": "esmond",
          "data": {
            "url": "http://localhost/esmond/perfsonar/archive/"
          }
        }
      },
      "tasks": {
        "ping_all": {
          "group": "my_mesh",
          "test": "my_ping_test",
          "archives": [ "local-esmond" ]
        }
      }
    }
    
  2. Run:
    psconfig validate /tmp/pscheduler-agent.json
    
  3. Observe the output:
    Validating JSON schema ...... FAIL
        Error: 'host1' is not of type 'object'
    
System info
  • OS: NAME="AlmaLinux" VERSION="9.5 (Teal Serval)"
  • perfsonar-psconfig-utils version: 5.1.4-1.el9.noarch
  • perfsonar-psconfig-pscheduler version: 5.1.4-1.el9.noarch
  • Python version: Python 3.9.21
Additional context
  • The JSON file is valid (checked with python3 -m json.tool).
  • The file matches the example in the official documentation.
  • This error blocks the agent from accepting valid psconfig templates.

Thank you for your help!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running psconfig validate on the supplied /tmp/pscheduler-agent.json example and trace the validation entry point handling the addresses section. Compare the schema's expected shape with the documented JSON and confirm that validation succeeds for the example without breaking other psconfig templates.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.