# Flux Burst
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![PyPI](https://img.shields.io/pypi/v/flux-burst)](https://pypi.org/project/flux-burst/)
<!--<a target="_blank" rel="noopener noreferrer" href="https://github.com/converged-computing/flux-burst/blob/main/docs/assets/img/logo-transparent.png">
<img align="right" style="width: 250px; float: right; padding-left: 20px;" src="https://github.com/converged-computing/flux-burst/raw/main/docs/assets/img/logo-transparent.png" alt="Cloud Select Logo">
</a>-->
![https://raw.githubusercontent.com/converged-computing/flux-burst/main/docs/assets/img/logo.png](https://raw.githubusercontent.com/converged-computing/flux-burst/main/docs/assets/img/logo.png)
This is a Python module to coordinate Flux bursting. 🧋️
- ⭐️ [Documentation](https://converged-computing.github.io/flux-burst/) ⭐️
- 📦️ [Pypi Package](https://pypi.org/project/flux-burst/) 📦️
## Plugins
Current and desired plugins are:
- [flux-burst-local](https://github.com/converged-computing/flux-burst-local) to "burst" on a local HPC system
- [flux-burst-gke](https://github.com/converged-computing/flux-burst-gke) to burst to Google Kubernetes Engine
- [flux-burst-eks](https://github.com/converged-computing/flux-burst-eks) to burst to Amazon EKS
- [flux-burst-compute-engine](https://github.com/converged-computing/flux-burst-compute-engine) to burst to Google Cloud Compute Engine
## Questions
- How should the plugins (or client) manage checking when to create / destroy clusters?
- Can we have a better strategy for namespacing different bursts (e.g., beyond burst-0, burst-1, ..., burst-N)
- We need a reasonable default for what a plugin should do if something fails (e.g., setup/config)
- How should each plugin decide what size cluster to make? Right now I'm just taking the max size of the job, and we are assuming the jobs need the same node type.
- We will eventually want to use namespaces in a meaningful way (e.g., users)
- We will eventually want a specific burst for a job to be able to customize in more detail, e.g., the namespace or other attribute that comes from a jobspec (right now they are global to the plugin)
- Who controls cleanup? It can be done by the flux-burst global controller or a plugin, automated or manual, either way.
- All plugins should have support to read in YAML parameters (some spec for bursting)
- All plugins should be able to match a resource request to, for example, instance types.
- Should the plugin "local queue" (self.jobs) assume to be associated with one burst, where the size is the max job size?
- Should we derive names based on provided name + size so clusters are unique by name and size?
## 😁️ Contributors 😁️
We use the [all-contributors](https://github.com/all-contributors/all-contributors)
tool to generate a contributors graphic below.
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://vsoch.github.io"><img src="https://avatars.githubusercontent.com/u/814322?v=4?s=100" width="100px;" alt="Vanessasaurus"/><br /><sub><b>Vanessasaurus</b></sub></a><br /><a href="https://github.com/converged-computing/flux-burst/commits?author=vsoch" title="Code">💻</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
## License
HPCIC DevTools is distributed under the terms of the MIT license.
All new contributions must be made under this license.
See [LICENSE](https://github.com/converged-computing/flux-burst/blob/main/LICENSE),
[COPYRIGHT](https://github.com/converged-computing/flux-burst/blob/main/COPYRIGHT), and
[NOTICE](https://github.com/converged-computing/flux-burst/blob/main/NOTICE) for details.
SPDX-License-Identifier: (MIT)
LLNL-CODE- 842614
Raw data
{
"_id": null,
"home_page": "https://github.com/converged-computing/flux-burst",
"name": "flux-burst",
"maintainer": "Vanessa Sochat",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "cloud,flux-framework,flux,bursting",
"author": "Vanessa Sochat",
"author_email": "vsoch@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/d2/0e/b997d6bacc6007543abf00eff16504d83547263ff0876eaf695ce09bb90b/flux-burst-0.0.15.tar.gz",
"platform": null,
"description": "# Flux Burst\n\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n[![PyPI](https://img.shields.io/pypi/v/flux-burst)](https://pypi.org/project/flux-burst/)\n\n<!--<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/converged-computing/flux-burst/blob/main/docs/assets/img/logo-transparent.png\">\n <img align=\"right\" style=\"width: 250px; float: right; padding-left: 20px;\" src=\"https://github.com/converged-computing/flux-burst/raw/main/docs/assets/img/logo-transparent.png\" alt=\"Cloud Select Logo\">\n</a>-->\n\n![https://raw.githubusercontent.com/converged-computing/flux-burst/main/docs/assets/img/logo.png](https://raw.githubusercontent.com/converged-computing/flux-burst/main/docs/assets/img/logo.png)\n\nThis is a Python module to coordinate Flux bursting. \ud83e\uddcb\ufe0f\n\n - \u2b50\ufe0f [Documentation](https://converged-computing.github.io/flux-burst/) \u2b50\ufe0f\n - \ud83d\udce6\ufe0f [Pypi Package](https://pypi.org/project/flux-burst/) \ud83d\udce6\ufe0f\n\n\n## Plugins\n\nCurrent and desired plugins are:\n\n - [flux-burst-local](https://github.com/converged-computing/flux-burst-local) to \"burst\" on a local HPC system\n - [flux-burst-gke](https://github.com/converged-computing/flux-burst-gke) to burst to Google Kubernetes Engine\n - [flux-burst-eks](https://github.com/converged-computing/flux-burst-eks) to burst to Amazon EKS\n - [flux-burst-compute-engine](https://github.com/converged-computing/flux-burst-compute-engine) to burst to Google Cloud Compute Engine\n\n## Questions\n\n- How should the plugins (or client) manage checking when to create / destroy clusters?\n- Can we have a better strategy for namespacing different bursts (e.g., beyond burst-0, burst-1, ..., burst-N)\n- We need a reasonable default for what a plugin should do if something fails (e.g., setup/config)\n- How should each plugin decide what size cluster to make? Right now I'm just taking the max size of the job, and we are assuming the jobs need the same node type.\n- We will eventually want to use namespaces in a meaningful way (e.g., users)\n- We will eventually want a specific burst for a job to be able to customize in more detail, e.g., the namespace or other attribute that comes from a jobspec (right now they are global to the plugin)\n- Who controls cleanup? It can be done by the flux-burst global controller or a plugin, automated or manual, either way.\n- All plugins should have support to read in YAML parameters (some spec for bursting)\n- All plugins should be able to match a resource request to, for example, instance types.\n- Should the plugin \"local queue\" (self.jobs) assume to be associated with one burst, where the size is the max job size?\n- Should we derive names based on provided name + size so clusters are unique by name and size?\n\n## \ud83d\ude01\ufe0f Contributors \ud83d\ude01\ufe0f\n\nWe use the [all-contributors](https://github.com/all-contributors/all-contributors)\ntool to generate a contributors graphic below.\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://vsoch.github.io\"><img src=\"https://avatars.githubusercontent.com/u/814322?v=4?s=100\" width=\"100px;\" alt=\"Vanessasaurus\"/><br /><sub><b>Vanessasaurus</b></sub></a><br /><a href=\"https://github.com/converged-computing/flux-burst/commits?author=vsoch\" title=\"Code\">\ud83d\udcbb</a></td>\n </tr>\n </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\n## License\n\nHPCIC DevTools is distributed under the terms of the MIT license.\nAll new contributions must be made under this license.\n\nSee [LICENSE](https://github.com/converged-computing/flux-burst/blob/main/LICENSE),\n[COPYRIGHT](https://github.com/converged-computing/flux-burst/blob/main/COPYRIGHT), and\n[NOTICE](https://github.com/converged-computing/flux-burst/blob/main/NOTICE) for details.\n\nSPDX-License-Identifier: (MIT)\n\nLLNL-CODE- 842614\n\n\n",
"bugtrack_url": null,
"license": "LICENSE",
"summary": "Flux module that enables burstable plugins.",
"version": "0.0.15",
"project_urls": {
"Homepage": "https://github.com/converged-computing/flux-burst"
},
"split_keywords": [
"cloud",
"flux-framework",
"flux",
"bursting"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d20eb997d6bacc6007543abf00eff16504d83547263ff0876eaf695ce09bb90b",
"md5": "d8ef11c8259f759dc18e7de49b2c442f",
"sha256": "6b7cf82c32efaf7cb10ad6d14f3837669c0e5cac36228eaf8f31aa9d8fb8a4b2"
},
"downloads": -1,
"filename": "flux-burst-0.0.15.tar.gz",
"has_sig": false,
"md5_digest": "d8ef11c8259f759dc18e7de49b2c442f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22858,
"upload_time": "2023-07-18T06:30:16",
"upload_time_iso_8601": "2023-07-18T06:30:16.692023Z",
"url": "https://files.pythonhosted.org/packages/d2/0e/b997d6bacc6007543abf00eff16504d83547263ff0876eaf695ce09bb90b/flux-burst-0.0.15.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-18 06:30:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "converged-computing",
"github_project": "flux-burst",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "flux-burst"
}