-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: vsoch <[email protected]>
- Loading branch information
Showing
29 changed files
with
1,228 additions
and
230 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#particles-js { | ||
background-color: #091a28 !important; | ||
} | ||
.contents { | ||
width:100% !important; | ||
} | ||
|
||
.project-button { | ||
width: 100px; | ||
margin: 10px 0; | ||
padding: 5px; | ||
color: #1a222c; | ||
background-color: transparent; | ||
border: 1px solid #1a222c; | ||
border-radius: 2px; | ||
text-align: center; | ||
padding:10px; | ||
outline: none; | ||
text-decoration: none; | ||
cursor: pointer; | ||
transition: color .3s ease-out,background-color .3s ease-out,border-color .3s ease-out; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
p .highlighter-rouge, | ||
table .highlighter-rouge, | ||
cell .highlighter-rouge { | ||
background-color: #F7F7F7; | ||
} | ||
pre.highlight, | ||
pre.highlighter-rouge, | ||
.highlighter-rouge, | ||
.highlighter-rouge pre, | ||
.highlight, | ||
.highlight pre { | ||
/* background-color: #131d28; */ | ||
padding-left:20px; | ||
margin-top: 20px; | ||
margin-bottom:20px; | ||
border-radius: 5px; | ||
} | ||
.highlighter-rouge pre { | ||
padding-top:20px; | ||
padding-bottom:20px; | ||
} | ||
.highlight, .highlighter-rouge .hll { background-color: #272822; } | ||
.highlight, .highlighter-rouge .c { color: #75715e } /* Comment */ | ||
.highlight, .highlighter-rouge .err { color: #960050 } /* Error */ | ||
.highlight, .highlighter-rouge .k { color: #66d9ef } /* Keyword */ | ||
.highlight, .highlighter-rouge .l { color: #ae81ff } /* Literal */ | ||
.highlight, .highlighter-rouge .n { color: #f8f8f2 } /* Name */ | ||
.highlight, .highlighter-rouge .o { color: #f92672 } /* Operator */ | ||
.highlight, .highlighter-rouge .p { color: #f8f8f2 } /* Punctuation */ | ||
.highlight, .highlighter-rouge .cm { color: #75715e } /* Comment.Multiline */ | ||
.highlight, .highlighter-rouge .cp { color: #75715e } /* Comment.Preproc */ | ||
.highlight, .highlighter-rouge .c1 { color: #75715e } /* Comment.Single */ | ||
.highlight, .highlighter-rouge .cs { color: #75715e } /* Comment.Special */ | ||
.highlight, .highlighter-rouge .gs { font-weight: bold } /* Generic.Strong */ | ||
.highlight, .highlighter-rouge .kc { color: #66d9ef } /* Keyword.Constant */ | ||
.highlight, .highlighter-rouge .kd { color: #66d9ef } /* Keyword.Declaration */ | ||
.highlight, .highlighter-rouge .kn { color: #f92672 } /* Keyword.Namespace */ | ||
.highlight, .highlighter-rouge .kp { color: #66d9ef } /* Keyword.Pseudo */ | ||
.highlight, .highlighter-rouge .kr { color: #66d9ef } /* Keyword.Reserved */ | ||
.highlight, .highlighter-rouge .kt { color: #66d9ef } /* Keyword.Type */ | ||
.highlight, .highlighter-rouge .ld { color: #e6db74 } /* Literal.Date */ | ||
.highlight, .highlighter-rouge .m { color: #ae81ff } /* Literal.Number */ | ||
.highlight, .highlighter-rouge .s { color: #e6db74 } /* Literal.String */ | ||
.highlight, .highlighter-rouge .na { color: #a6e22e } /* Name.Attribute */ | ||
.highlight, .highlighter-rouge .nb { color: #f8f8f2 } /* Name.Builtin */ | ||
.highlight, .highlighter-rouge .nc { color: #a6e22e } /* Name.Class */ | ||
.highlight, .highlighter-rouge .no { color: #66d9ef } /* Name.Constant */ | ||
.highlight, .highlighter-rouge .nd { color: #a6e22e } /* Name.Decorator */ | ||
.highlight, .highlighter-rouge .ni { color: #f8f8f2 } /* Name.Entity */ | ||
.highlight, .highlighter-rouge .ne { color: #a6e22e } /* Name.Exception */ | ||
.highlight, .highlighter-rouge .nf { color: #a6e22e } /* Name.Function */ | ||
.highlight, .highlighter-rouge .nl { color: #f8f8f2 } /* Name.Label */ | ||
.highlight, .highlighter-rouge .nn { color: #f8f8f2 } /* Name.Namespace */ | ||
.highlight, .highlighter-rouge .nx { color: #a6e22e } /* Name.Other */ | ||
.highlight, .highlighter-rouge .py { color: #f8f8f2 } /* Name.Property */ | ||
.highlight, .highlighter-rouge .nt { color: #f92672 } /* Name.Tag */ | ||
.highlight, .highlighter-rouge .nv { color: #f8f8f2 } /* Name.Variable */ | ||
.highlight, .highlighter-rouge .ow { color: #f92672 } /* Operator.Word */ | ||
.highlight, .highlighter-rouge .w { color: #f8f8f2 } /* Text.Whitespace */ | ||
.highlight, .highlighter-rouge .mf { color: #ae81ff } /* Literal.Number.Float */ | ||
.highlight, .highlighter-rouge .mh { color: #ae81ff } /* Literal.Number.Hex */ | ||
.highlight, .highlighter-rouge .mi { color: #ae81ff } /* Literal.Number.Integer */ | ||
.highlight, .highlighter-rouge .mo { color: #ae81ff } /* Literal.Number.Oct */ | ||
.highlight, .highlighter-rouge .sb { color: #e6db74 } /* Literal.String.Backtick */ | ||
.highlight, .highlighter-rouge .sc { color: #e6db74 } /* Literal.String.Char */ | ||
.highlight, .highlighter-rouge .sd { color: #e6db74 } /* Literal.String.Doc */ | ||
.highlight, .highlighter-rouge .s2 { color: #e6db74 } /* Literal.String.Double */ | ||
.highlight, .highlighter-rouge .se { color: #ae81ff } /* Literal.String.Escape */ | ||
.highlight, .highlighter-rouge .sh { color: #e6db74 } /* Literal.String.Heredoc */ | ||
.highlight, .highlighter-rouge .si { color: #e6db74 } /* Literal.String.Interpol */ | ||
.highlight, .highlighter-rouge .sx { color: #e6db74 } /* Literal.String.Other */ | ||
.highlight, .highlighter-rouge .sr { color: #e6db74 } /* Literal.String.Regex */ | ||
.highlight, .highlighter-rouge .s1 { color: #e6db74 } /* Literal.String.Single */ | ||
.highlight, .highlighter-rouge .ss { color: #e6db74 } /* Literal.String.Symbol */ | ||
.highlight, .highlighter-rouge .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ | ||
.highlight, .highlighter-rouge .vc { color: #f8f8f2 } /* Name.Variable.Class */ | ||
.highlight, .highlighter-rouge .vg { color: #f8f8f2 } /* Name.Variable.Global */ | ||
.highlight, .highlighter-rouge .vi { color: #f8f8f2 } /* Name.Variable.Instance */ | ||
.highlight, .highlighter-rouge .il { color: #ae81ff } /* Literal.Number.Integer.Long */ | ||
|
||
.highlight, .highlighter-rouge .gh { } /* Generic Heading & Diff Header */ | ||
.highlight, .highlighter-rouge .gu { color: #75715e; } /* Generic.Subheading & Diff Unified/Comment? */ | ||
.highlight, .highlighter-rouge .gd { color: #f92672; } /* Generic.Deleted & Diff Deleted */ | ||
.highlight, .highlighter-rouge .gi { color: #a6e22e; } /* Generic.Inserted & Diff Inserted */ |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# JobSpec | ||
|
||
> Next Generation | ||
This is an abstract job specification that takes a description of work, including requirements, services, and resources, and transforms it into the correct submission commands for a specific workload manager or cloud API. It is intended to be used with the <a href="https://converged-computing.github.io/rainbow" target="_blank">Rainbow Scheduler</a> but Rainbow is not required. We are starting with <a href="https://flux-framework.readthedocs.io" target="_blank">Flux Framework</a> and will be extending to Kubernetes and other workload managers and APIs soon.</p> | ||
|
||
## Specifications | ||
|
||
For our current specification, see [the spec](spec.md). For a first draft (that wasn't used) see [here](drafts/). | ||
|
||
## Frequently Asked Questions | ||
|
||
### Is this a Flux jobspec? | ||
|
||
Despite the shared name, this is not a Flux jobspec. Type `man bash` to see that the term "jobspec" predates flux. If we lived in a universe of just Flux, sure we wouldn't need this. But the world is more than Flux, and we want to extend our Jobspec to that - providing an abstraction that works with Flux, but also works with other workload managers and compute environments and application programming interfaces. | ||
|
||
### What are steps? | ||
|
||
A step is a custom setup or staging command that might be allowed for a specific environment. For example, workload managers that know how to map or stage files can use the "stage" step. General steps to write scripts can arguably used anywhere with some form of filesystem, shared or not. The steps that are allowed for a task are shown in the [spec](spec.md). At the onset we will make an effort to only add steps that can be supported across transformer types. | ||
|
||
### Where are the different transformers defined? | ||
|
||
We currently have our primary (core) transformers here in [jobspec/transformer](jobspec/transformer), however a registry that discovers jobspec-* named Python modules can allow an out of tree install and use of a transfomrmer. This use case is anticipating clusters with some custom or private logic that cannot be shared in a public GitHub repository. | ||
|
||
#### Means of Interaction | ||
|
||
There are several likely means of interacting with this library: | ||
|
||
- As a service that runs at some frequency to receive jobs (written as a loop in Python in some context) | ||
- As a cron job that does the same (an entry to crontab to run "jobspec" at some frequency) | ||
- As a one off run with `jobspec run ...` | ||
|
||
For the example usage here, and since the project I am working on is concerned with Flux, we will start with the simplest case - a client that is running inside a flux instance (meaning it can import flux) that reads in a jobspec with a section that defines a set of transforms, and then issues the commands to stage the setup and use flux to run the work defined by the jobspec. | ||
|
||
## Commands | ||
|
||
Read more about the commands and getting started [here](commands.md#commands). | ||
|
||
## Development | ||
|
||
Read our [developer guide](#developer.md) |
Oops, something went wrong.