summaryrefslogtreecommitdiffstats
path: root/src/endpoint/mod.rs
AgeCommit message (Collapse)Author
2021-11-19Update Copyright string to 2020-2022Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-03-05Move endpoint connection setup to utility moduleMatthias Beyer
Because we can re-use this function in our commandline endpoint maintenance commands implementation. Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-01-18Run `cargo fmt`Matthias Beyer
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
2021-01-13Add LICENSE file and license headersMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-12-14Remove ContainerError type, thiserror dependencyMatthias Beyer
This removes the ContainerError type for simplicity. We can call anyhow!() and just work with that, no need to pull in thiserror just for one type. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-15Implement error reporting of failed jobsMatthias Beyer
This patch implements error reporting if a container job did not end successfully. It does so by adding an error type `ContainerError`, which is either an error that describes that a container did not exit with success, or an anyhow::Error (that describes an error from the container management code). The algorithm of log-aggregation is now intercepted to catch any exit-state log items. If there is no exit-state from the container (No line with "#BUTIDO:STATE:..."), no error is assumed. Here could be a warning later on. The so aggregated state is then passed up to the orchestrator, which then collects the errors and prints them. If the implementation is correct (which is not tested yet, because this is rather difficult to test), all other containers should continue operation until they are ready, before the errors are handled. The code responsible for this (in the Orchestrator implementation) was adapted to not collect until the first error, but collect everything and then check for errors. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-06Rename module: managerconf -> configurationMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-05Remove EndpointManagerMatthias Beyer
This patch removes the `EndpointManager` type, which did nothing except wrap the `ConfiguredEndpoint` and make things way more complicated than they need to be. Now, the `EndpointScheduler` holds the `ConfiguredEndpoint`s directly in a `Arc<RwLock<_>>` and manages them without the additional layer of complexity. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-03Implement schedulerMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-11-03Add first setup for EndpointManagerMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>