Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Improve agent tags message | Christopher Baines | 2021-01-31 |
| | |||
* | Support listing and canceling builds by derivation system | Christopher Baines | 2021-01-31 |
| | |||
* | Exclude allocated builds from setup failures | Christopher Baines | 2021-01-26 |
| | | | | As I think this is causing the allocator to crash. | ||
* | Try to simplify part of the basic allocator | Christopher Baines | 2021-01-26 |
| | | | | As there has been exceptions in this area, the required build priority is #f. | ||
* | Fix a crash when rendering the client builds response | Christopher Baines | 2021-01-26 |
| | |||
* | Don't use with-exception-handler with (backtrace) | Christopher Baines | 2021-01-22 |
| | | | | | | | | | | | With with-exception-handler being called with #:unwind? #f (implicitly). This breaks Guile internals used by (backtrace) [1], meaning you get a different exception/backtrace when Guile itself breaks. This should avoid the "string->number: Wrong type argument in position 1 (expecting string): #f" exception I've been haunted by for the last year. 1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46009 | ||
* | Rework client error handling | Christopher Baines | 2021-01-19 |
| | | | | To see if that produces better logging. | ||
* | Fix up a load of the tag related code | Christopher Baines | 2021-01-17 |
| | | | | | Turns out vector-fold and vector-map don't work like I'd expected them to, like fold and map for vectors. | ||
* | Sure up handling of exceptions within Guile (backtrace) | Christopher Baines | 2021-01-17 |
| | |||
* | Fix bug in allocators from alist to vector switch for tags | Christopher Baines | 2021-01-17 |
| | |||
* | Stop treating collections of tags as alists | Christopher Baines | 2021-01-17 |
| | | | | | | | This translates poorly to JSON, as you can't have multiple values for one name in a JSON object. Is also is risky in terms of assoc-ref being used, and not considering more than one key. Using a vector of pairs should help in both situations. | ||
* | Implement agent/build tag matching | Christopher Baines | 2021-01-17 |
| | | | | | | | | | If the agent and build tags have overlapping keys, compare the tag value, and only match the build to the agent if the value matches. There's a potential issue with some of the code here in that it doesn't cope well with tags with matching keys but differing values, but this is just a first implementation. | ||
* | Allow changing agent tags through the command line | Christopher Baines | 2021-01-17 |
| | |||
* | Add client code for changing agent tags | Christopher Baines | 2021-01-17 |
| | |||
* | Include agent tags in the details response | Christopher Baines | 2021-01-17 |
| | |||
* | Add tags for agents | Christopher Baines | 2021-01-17 |
| | | | | | This will allow doing things like restricting builds by matching up there tags to the tags of the agents. | ||
* | Exclude allocated builds from the basic allocator | Christopher Baines | 2021-01-17 |
| | |||
* | Expose allocated builds for each agent | Christopher Baines | 2021-01-17 |
| | |||
* | Add missing thunk | Christopher Baines | 2021-01-16 |
| | |||
* | Tweak datastore-list-unbuilt-derivation-outputs | Christopher Baines | 2021-01-16 |
| | | | | So it works with the code in handle-build-result. | ||
* | Tweak agent messaging error handling | Christopher Baines | 2021-01-16 |
| | |||
* | Don't error when builds don't have a created at time | Christopher Baines | 2021-01-16 |
| | |||
* | Allow agents to skip submitting build outputs | Christopher Baines | 2021-01-16 |
| | | | | | | | | | If the coordinator isn't going to use the outputs, because they've already been built for example, then save some time by not processing and submitting them. This will probably need to get more configurable on the coordinator side in the future. | ||
* | Start migrating derivation-inputs to derivation_inputs | Christopher Baines | 2021-01-16 |
| | | | | As I think underscores are more idiomatic in JSON. | ||
* | Tell agents when to submit built outputs | Christopher Baines | 2021-01-16 |
| | | | | This is often unnecessary if the outputs have already been built. | ||
* | Add datastore-list-unbuilt-derivation-outputs | Christopher Baines | 2021-01-16 |
| | |||
* | Allow nesting transactions in code | Christopher Baines | 2021-01-16 |
| | | | | | You can't actually nest transactions, so just track if one is in progress, and don't attempt to start a transaction if that's the case. | ||
* | Use a readonly transaction for datastore-fetch-build-to-allocate | Christopher Baines | 2021-01-16 |
| | | | | As it doesn't write to the database. | ||
* | Fix some sqlite datastore slot references | Christopher Baines | 2021-01-16 |
| | |||
* | Move the build result storing logic in to the coordinator module | Christopher Baines | 2021-01-16 |
| | | | | | And out of the datastore. This means that datastore code doesn't have too much logic in it. | ||
* | Move build allocation complexity out of the datastore | Christopher Baines | 2021-01-16 |
| | | | | | And in to the coordinator module. This will make adding more datastore's easier. | ||
* | Add local agent messaging | Christopher Baines | 2021-01-16 |
| | | | | | This is untested, but might be quite cool for running a single agent instance of the build coordinator, all in one process. | ||
* | Move triggering allocations out of the http server | Christopher Baines | 2021-01-15 |
| | | | | As this code should be in the coordinator. | ||
* | Rework the agent messaging modules | Christopher Baines | 2021-01-15 |
| | |||
* | Use methods for the agent messaging | Christopher Baines | 2021-01-15 |
| | | | | This will allow adding more agent messaging approaches. | ||
* | Tweak agent queue timings | Christopher Baines | 2021-01-12 |
| | | | | | Wait slightly longer between starting new threads, and give more time for new jobs to arrive for running threads. | ||
* | Work on the agent thread handling some more | Christopher Baines | 2021-01-06 |
| | | | | | Various changes, hopefully improvements. Inactive threads should stop promptly, and new threads should start promptly when new builds arrive. | ||
* | Give more time for substitute downloads | Christopher Baines | 2021-01-03 |
| | | | | | By the agent. Turns out 10 minutes isn't long enough for some large and slow downloads. | ||
* | Fix the stdin based status display when running under the shepherd | Christopher Baines | 2021-01-03 |
| | | | | | The current input port is #<input: file 0>, which gives eof when read from, so detect this and stop trying to read from it. | ||
* | Add debugging code for the agent status output | Christopher Baines | 2021-01-03 |
| | | | | As this doesn't seem to be working properly when running under the shepherd. | ||
* | Enable matching tags by just the key | Christopher Baines | 2021-01-03 |
| | |||
* | Have build list cope with multiple pages | Christopher Baines | 2021-01-03 |
| | |||
* | Ensure the agent fetches builds if it doesn't have any | Christopher Baines | 2021-01-02 |
| | |||
* | Make sure to have the agent try fetching builds | Christopher Baines | 2021-01-02 |
| | | | | Even if there are no worker threads running. | ||
* | Stop agent threads if there's no work within some time period | Christopher Baines | 2021-01-02 |
| | | | | So that the number of threads can decrease without new jobs arriving. | ||
* | Don't start new agent threads if there are no jobs | Christopher Baines | 2021-01-02 |
| | |||
* | Only use lookup-narinfos on one thread at a time | Christopher Baines | 2021-01-02 |
| | | | | In the agent, as I doubt the new connection caching in Guix is thread safe. | ||
* | Tune agent retrying | Christopher Baines | 2021-01-01 |
| | | | | So that the agent spends less time waiting. | ||
* | Work around caching broken connections in Guix | Christopher Baines | 2021-01-01 |
| | | | | Introduced in be5a75ebb5988b87b2392e2113f6590f353dd6cd. | ||
* | Add missing suffix to an agent log line | Christopher Baines | 2020-12-31 |
| |