Skip to content

Creation plugin for flux resource graphs for use with scheduling for compatibility use cases

License

Notifications You must be signed in to change notification settings

compspec/compspec-flux

Repository files navigation

Compspec Flux

PyPI version

A compspec (Composition spec) is a specification and model for comparing things. Compspec Flux provides a simple means to extract metadata about a running flux instance, namely the graph of nodes. Other links of interest include:

  • Compspec: the Python library that discovers and loads this plugin.
  • Compatibility: of container images and applications to a host environment.
  • Compspec Go: the Go library that retrieves artifacts and makes graphs for image selection and scheduling.

Usage

Install compspec and the plugin here:

pip install compspec
pip install compspec-flux

Then (alongside a Flux instance) run the plugin. Note that the VSCode setup provided here will provide this for you. You can use defaults, or add any parameters to the plugin after the plugin name "flux" Here is how to start a flux instance:

flux start --test-size=4

And here is how to print to the terminal:

compspec extract flux
Flux output
{
    "graph": {
        "nodes": {
            "0": {
                "id": 0,
                "metadata": {
                    "type": "cluster",
                    "basename": "cluster",
                    "name": "cluster0",
                    "uniq_id": 0,
                    "containment": {
                        "paths": "/cluster0"
                    },
                    "size": 1,
                    "unit": "",
                    "rank": 0,
                    "exclusive": false
                }
            },
            "1": {
                "id": 1,
                "metadata": {
                    "type": "node",
                    "basename": "node",
                    "name": "node1",
                    "uniq_id": 1,
                    "containment": {
                        "paths": "/cluster0/node1"
                    },
                    "size": 1,
                    "unit": "",
                    "rank": 0,
                    "exclusive": false
                }
            }
        },
        "edges": [
            {
                "source": "0",
                "target": "1",
                "metadata": {
                    "name": {
                        "containment": "contains"
                    }
                }
            },
            {
                "source": "1",
                "target": "0",
                "metadata": {
                    "name": {
                        "containment": "in"
                    }
                }
            }
        ]
    }
}

And how to save to file

compspec extract --outfile cluster-resources.json flux

License

HPCIC DevTools is distributed under the terms of the MIT license. All new contributions must be made under this license.

See LICENSE, COPYRIGHT, and NOTICE for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614

About

Creation plugin for flux resource graphs for use with scheduling for compatibility use cases

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published