Skip to content

Releases: box/ClusterRunner

0.5.521

27 Jul 00:36
Compare
Choose a tag to compare
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

20 Jul 21:16
Compare
Choose a tag to compare
Add v2 API routes (#392)

* Add v2 API routes under root route

* Add v2 API routes to slave service

* Make v2 slave routes plural and type hinting

* Add more type annotations

0.5.519

20 Jul 07:26
Compare
Choose a tag to compare
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

12 Jul 17:27
Compare
Choose a tag to compare
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

12 Jul 07:31
Compare
Choose a tag to compare
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

11 Jul 00:16
Compare
Choose a tag to compare
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

06 Jul 19:29
Compare
Choose a tag to compare
Merge pull request #379 from box/enable-https

Enable https for CR master and slave

0.5.512

05 Jul 22:36
Compare
Choose a tag to compare
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

0.5.511

29 Jun 20:46
Compare
Choose a tag to compare
Merge pull request #377 from box/dont-kill-slave

Stop killing slaves when setup_build fails

0.5.509

22 Jun 00:32
Compare
Choose a tag to compare
Merge pull request #374 from box/errors

Add metrics for internal errors