Releases: box/ClusterRunner
Releases · box/ClusterRunner
0.5.521
Pagination params to base handler (#394) * Add pagination params to base handler & v2 master builds * Include max pagination amount * Add tests and adjustments * Add tests and adjustments * Fix nonnegative parameter checking * Improve tests and fix some pagination logic * Move pagination constants to config and builds endpoint * Fix change that breaks v1 build endpoint and adjust tests
0.5.520
0.5.519
Refactor shutdown functional test to be more stable (#390) This test has been flaky on Windows because of parallel subjobs all trying to copy the same file. This refactors the test config to be simpler and not rely on a copy. The test asserts on both the project directory file list and file contents at the end of the test, so the copy is not really necessary.
0.5.518
Rewrite zip archive creation (#389) This reimplements the functionality of `shutil.make_archive` without the need for calls to `os.chdir`. This is thread-safe, and fixes the issues we've been seeing with finished build showing console output for other builds. It will also hopefully fix the occasional zip file creation issues we've been seeing.
0.5.517
Refactor subjob start threading (#386) This is a follow-up to the previous change to move subjob start off of `SafeThread` to avoid taking down the master service. This change further improves the behavior when a subjob start call fails. - Instead of the `Slave` class starting a new thread to kick off a subjob, `ClusterMaster` starts the thread. This makes more sense since threads are only started to perform asynchronous actions in response to API requests and the `Slave` class shouldn't need to worry about that. - In the case where a new subjob is not started and the slave is instead torn down, previously the teardown API call happened synchronously with the slave's API call to report a result (which is bad). The teardown API call is now asynchronous. - Record error metric when subjob fails to start. - Requeue subjobs when subjob fails to start because of a dead slave or an error on the slave side. Previously subjobs were only requeued if the slave was explicitly put in shutdown mode.
0.5.516
Convert subjob start SafeThread to standard Thread (#384) Sending a subjob to a slave is done asynchronously. Even though it's bad if it fails, it shouldn't bring down the entire master service. This is a quick fix because we've run into this issue multiple times. I'll follow up with a change to clean this up and improve the behavior in the error case.
0.5.515
0.5.512
API Version Identification (#378) * Implement API version handling class A class that resolves the version of the API to consume based on the URI and Accept header of a request. * Remove logging message * Fix linting issues * Include tests for API version parsing * Add more type annotations & adjust test * Fix some comments and naming * Adjust version endpoint for slave to include api version * Fix pep8 linting issue * Move API version file and address feedback * Move API version resolving to initialize method & fix tests * Change re.match to re.search and other minor fixes