Commit Graph

56 Commits

Author SHA1 Message Date
Ian Roddis
d731f9f5b1 Adding support for execution on slurm grids
- Adding support for SlurmTaskExecutor in `daggyd` if DAGGY_ENABLE_SLURM is defined.
- Renaming some test cases
- Enabling compile-time slurm support
- Adding slurm documentation
2021-09-10 10:53:58 -03:00
Ian Roddis
d15580f47f Massive re-org to allow per-executor job specification formats and executor-specific task validation and expansion.
A few different renames to try and keep things more consistent.
2021-09-03 09:10:38 -03:00
Ian Roddis
e746f8c163 - Adding daemonization for daggyd
- Changing how parameter keys are stored in the map to allow for future key handling.
2021-09-01 13:32:16 -03:00
Ian Roddis
77f7819584 Fixing test where return by reference would cause unexpected results when compiled with release flags 2021-08-31 19:14:34 -03:00
Ian Roddis
441cdb5b2e Renaming rest_server to daggyd, and daggy to libdaggy 2021-08-31 17:04:03 -03:00
Ian Roddis
7b07380e16 - Removing duplicate information (taskName stored in 3 places) 2021-08-31 12:21:34 -03:00
Ian Roddis
2c00001e0b Adding support for isGenerator tasks
- Changing how DAG is represented, both in code and how DAGs are defined
  in JSON.
- Removing std::vector<Task> representation in favour of a map that will
  enforce unique task names
- Task names now have a name (generated), and a definedName.
- Adding support to loggers to add tasks after a DAGRun has been
  initialized.
2021-08-30 22:05:37 -03:00
Ian Roddis
7fa47c1c4a More CI stupidity 2021-08-25 16:16:58 -03:00
Ian Roddis
fcdc225e28 Adjusting test case to eventually exit with an error after a reasonable time. 2021-08-25 15:20:08 -03:00
Ian Roddis
212bd80df2 Squashed commit of the following:
commit 73994327de890590eede353c8131f3f7c1e8aaa3
Author: Ian Roddis <gitlab@ie2r.com>
Date:   Wed Aug 25 13:38:29 2021 -0300

    - Fixing up checks for individual dag runs

commit f20e3a3dec8c063111cf60f2bec2b8f84c8a4100
Author: Ian Roddis <gitlab@ie2r.com>
Date:   Wed Aug 25 10:49:43 2021 -0300

    - Finishing serialization of DAGRun
    - Checkpointing work.

commit b490abadf93e3085e4204003de7eaa8183b4e1d5
Author: Ian Roddis <gitlab@ie2r.com>
Date:   Wed Aug 25 10:34:08 2021 -0300

    - Consolidating struct definitions into Defines.hpp
    - Renaming DAGRunRecord member runStates to taskRunStates

commit 050346ec1fd10d1091f261905c6175ffe0bcf001
Author: Ian Roddis <gitlab@ie2r.com>
Date:   Wed Aug 25 09:27:05 2021 -0300

    - Adding additional tests for server endpoints
2021-08-25 13:40:05 -03:00
Ian Roddis
6ed57806d0 - More fixes for CI failing tests 2021-08-24 07:58:58 -03:00
Ian Roddis
307cff73f8 - More fixes for CI failing tests 2021-08-23 17:58:43 -03:00
Ian Roddis
7016cb37ba - More fixes for CI failing tests 2021-08-23 17:53:47 -03:00
Ian Roddis
cf37f9a6fc - More fixes for CI failing tests 2021-08-23 17:49:04 -03:00
Ian Roddis
1bdc5dafd5 - More fixes for CI failing tests 2021-08-23 17:42:43 -03:00
Ian Roddis
d4c9b3fcee - Adjusting tests so they run without referencing /tmp 2021-08-23 17:37:33 -03:00
Ian Roddis
808a7f9af4 - Adding more documentation
- Renaming "parameters" to "taskParameters" for clarity, and to distinguish from "executionParameters" that will be implemented down the road.
2021-08-23 14:17:22 -03:00
Ian Roddis
6b9baffe27 Changing Executor interface to allow for more flexible tasks down the road 2021-08-23 12:03:16 -03:00
Ian Roddis
2083b1c3f1 Refactoring RunState, fixing logic error in when to end errored DAG runs, added convenience functions to retry failed DAGs. 2021-08-20 21:44:12 -03:00
Ian Roddis
dc8ea4c369 - Adding support for state to OStreamLogger to make it more useful for test cases
- Making runDAG return the end DAG
- Adding much more robust test for DAG execution for basic tests.
2021-08-20 12:43:01 -03:00
Ian Roddis
1f2712b090 - Fixing issue with parameter expansion on DAG submission to server
- Adding sections to unit_server tests
- Adding cleanup
2021-08-20 11:11:12 -03:00
Ian Roddis
791e7a15a7 - Fixing request logic to avoid hangs when REQUIREs fail before the client has been shutdown. 2021-08-20 10:58:57 -03:00
Ian Roddis
db47bc1593 - Adding unit tests for Server 2021-08-20 10:58:57 -03:00
Ian Roddis
71344b3a2a - Sidequest: Clean up header-only library dependencies with cmake. 2021-08-20 10:58:57 -03:00
Ian Roddis
de8025e0f9 - Fixing bug that yielded empty expanded command sets. 2021-08-20 10:58:10 -03:00
Ian Roddis
1668117566 - Checkpointing work on expanding commands. 2021-08-20 10:39:39 -03:00
Ian Roddis
9f90f54b67 - More work on DAGLoggers
- Still need unit tests for the FilesystemLogger
2021-08-13 10:23:55 -03:00
Ian Roddis
4d519cc596 - Adding default pretty-printer for Task
- Adding equivalency check for Task
- Adding test to ensure serialization / deserialization is reproducible.
2021-08-11 10:16:38 -03:00
Ian Roddis
621467dd5a - Adding task serialization
- Renaming DAGLogger to DAGRunLogger
- Adding more functionality to FileSystemLogger
2021-08-10 11:44:56 -03:00
Ian Roddis
a97c3ff783 - Removing Catch2 code from codebase, will pull it via FetchContent instead.
- Changing StdOutLogger to OStreamLogger, so that test cases output can be silenced.
2021-08-09 15:48:53 -03:00
Ian Roddis
28c5b3eea3 - Adding StdOutLogger and adding tests for DAG execution to verify it works.
- Roughing in FileSystemLogger
- Deleting Scheduler code and associated unit tests as being too complicated for maintenance.
- Refactoring namespaces for loggers and executors.
2021-08-09 14:59:54 -03:00
Ian Roddis
a8e85f8feb - Adding StdOutLogger and adding tests for DAG execution to verify it works.
- Roughing in FileSystemLogger
- Deleting Scheduler code and associated unit tests as being too complicated for maintenance.
- Refactoring namespaces for loggers and executors.
2021-08-09 14:59:23 -03:00
Ian Roddis
0516bde09f - Refactoring struct (de)serialization 2021-08-09 10:33:49 -03:00
Ian Roddis
1849a2fee4 - Adding TODO list to keep track of things.
- Adding .idea to gitignore
- Adding DAG execution to utilities, redefining the logger
2021-08-05 15:24:17 -03:00
Ian Roddis
afcb917cc9 Completing task building. 2021-08-02 15:44:41 -03:00
Ian Roddis
54e8170c68 Adding JSON parsing helpers to Utilities. 2021-08-02 11:31:46 -03:00
Ian Roddis
f2f3d22574 Renaming Executor to TaskEecutor 2021-08-01 11:28:30 -03:00
Ian Roddis
0349a5109b * Formatting code with clang-tidy
* Roughing in more metastore work
2021-07-22 12:57:51 -03:00
Ian Roddis
987718334f Adding missing stdc++fs link for std::filesystem 2021-07-09 15:51:27 -03:00
Ian Roddis
a603ebead5 Scheduler now completing work 2021-07-06 11:35:30 -03:00
Ian Roddis
9b9409d504 Things mostly work, just a strange hang when executing code with forking executor 2021-07-05 15:37:29 -03:00
Ian Roddis
468993edb5 Checkpointing work 2021-07-05 11:57:38 -03:00
Ian Roddis
209ec6f380 Fixing up threadpool 2021-06-20 10:33:35 -03:00
Ian Roddis
1003e88303 adding unit test 2021-06-16 13:55:27 -03:00
Ian Roddis
a661125976 Changing unit test to a more standard file 2021-06-16 10:16:30 -03:00
Ian Roddis
d7b4309908 Changing unit test to a more standard file 2021-06-16 10:15:58 -03:00
Ian Roddis
40f6b283be Fixing things for programs with very large output. 2021-06-15 14:43:47 -03:00
Ian Roddis
81f0935f36 Adding local forking executor and associated tests 2021-06-15 13:38:54 -03:00
Ian Roddis
9cfa8cab7f Rejigging the DAG traversal so it is a bit more efficient 2021-06-11 10:20:15 -03:00
Ian Roddis
7a6dbb85c2 making test a bit more interesting 2021-06-10 09:35:53 -03:00