- pull capacity report via /offers endpoint.
- calculate how many tasks (with resource and constraints) can be fit in the cluster.
examples of using the above 2 features are in aurora-scheduler/australis#33
* Bumping up CI to go1.17 and enabling CI for PRs.
* Adding go.sum now that issues seem to have gone away.
* Bump up aurora to 0.25.0 and mesos to 1.9.0
* Fixing Mac tests. Adding extra time for killing thermos jobs.
* Reduce the thermos overhead for unit tests
Co-authored-by: lenhattan86 <lenhattan86@users.noreply.github.com>
* Upgrading to Thrift 0.13.1. This version is a fork of 0.13.0 with a patch on top of it to fix an issue where trying a realis call after the connection has been closed results in a panic.
* Upgrading compose set up to Mesos 1.6.2 and Aurora 0.22.0.
* Adding support for using different update strategies.
* Adding a monitor that is friendly with auto pause.
* Adding tests for new update strategies.
* Bugfix: switch statements were missing fallthrough statement thus making them retry non-retriable errors. Using a list to catch cases now.
* Adding tests for CreateService, createService when the executor doesn't exist, and createJob when the executor doesn't exist. Renamed Pulse test to reflect that it's using CreateService instead of CreateJob.
* Repsonse propagate back up to caller for context for CreateJob, CreateService, and StartJobUpdate.
* Deleting PR template as Travis CI takes care of running tests and formatting tests now.
* Adding Travis CI badge
* Modifying end to end tests to reflect testing against docker-compose setup in Travis CI.
* Adding bash script to run simple container with tests within bridge network for Mac.
* Adding documentation for setting up a developer environment.
* Decreasing amount of CPU needed for CreateJobWithPulse because a higher value causes Travis CI to hang.
* Change TaskQuery struct parameters to optional
* Thrift API is modified to make all the parameters in the
TaskQuery struct optional
* Autogenerated code is regenerated
* Changes in TaskQuery structs used in the project
* Now that TaskQuery receive optional values, pointers
instead of values must be passed to the struct
* Fixing possible race condition when passing backoff around as a pointer.
* Adding a debug logger that is turned off by default.
Info logger is enabled by default but prints out less information.
* Removing OK Aurora acknowledgment.
* Making Mutex a pointer so that there's no chance it can accidentally be copied.
* Changing %v to %+v for composite structs. Removing a repetitive statement for the Aurora return code.
* Removing another superflous debug statement.
* Removing a leftover helper function from before we changed how we configured the client.
* Changing the logging paradigm to only require a single logger. All logging will be disabled by default. If debug is enabled, and a logger has not been set, the library will default to printing all logging (INFO and DEBUG) to the stdout.
* Minor changes to demonstrate how a logger can be used in conjunction to debug mode.
* Removing port override as it is not needed
* Changing code comments to reflect getting rid of port override.
* Adding port override back in.
* Bug fix: Logger was being set to NOOP despite no logger being provided when debug mode is turned on.
* Turn on logging by default.
* Removing option to override schema and ports for information found on Zookeeper.
* Turning off debug mode for tests because it's too verbose. Making sure LevelLogger is initialized correctly under all scenarios.
* Removing override fields for zk config.
* Remove space.
* Removing info that is now incorrect about zk options.
* Fixing possible race condition when passing backoff around as a pointer.
* Adding a debug logger that is turned off by default. If debug is turned on, but a logger has not been assigned, a default logger that will print to STDOUT will be created.
* Making Mutex a pointer so that there's no chance it can accidentally be copied.
* Removing a leftover helper function from before we changed how we configured the client.
* Minor changes to demonstrate how a logger can be used in conjunction to debug mode in the sample client.
* ZK retries have been cleaned up. We will now retry after every error
EXCEPT when we have a badly formed path.
* ZK library has been reworked with optional arguments pattern to not be
so intertwined with the cluster.json file.
* Timeout error has been re-implemented as RetryError. RetryError
behaves like a Timeout error but is used exclusively to add more context
privately. This allows us to have unit tests that check our retry
mechanism is actually retrying.
* Additional logging has been added to retry mechanisms as well as to
the Zookeeper library we use.
* Fixing logic that can lead to nil error being returned and retry stopping early.
* Fixing possible code path that may lead to an incorrect nil error.
* Changing incorrect license in some source files.
* Changing CreateService to mimic CreateJob by setting the batch size to the instance count.
* Changing Getcerts to GetCerts to match the style of the rest of the codebase.
* Overhauled error handling. Backoff now recognizes temporary errors and continues to retry if it finds one.
* Changed thrift function call wrapper to be more explicitly named and to perform more safety checks.
* Moved Jitter function from realis to retry.
* API code is now more uniform and follows a certain template.
* Lock added whenever a thrift call is made or when a modification is done to the connection. Note that calling ReestablishConn externally may result in some race conditions. We will move to make this function private in the near future.
* Added test for Realis session thread safety. Tested ScheduleStatus monitor. Tested monitor timing out.
* Returning nil whenever there is an error return so that there are no ambiguities.
* Using defer with unlock so that the lock is still released if a panic is invoked.
* Moving from govendor to dep.
* Making the pull request template more friendly.
* Fixing akward space in PR template.
* goimports run on whole project using ` goimports -w $(find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./gen-go/*")`
source of command: https://gist.github.com/bgentry/fd1ffef7dbde01857f66
* Code cleanup: Deleted multiple functions which have become stale. Removed cluster example as we replaced the need to create the Cluster object.
* Cleaned up ZK connection code by using the backoff function. Added a test to the end to end to test that we're getting the host correctly from ZK. Changed clusters test to be an outside package.
* Added LeaderFromZKURL test to end to end tests.
* Added logger to realisConfig so that users can attach their own Loggers to the client. Logger is an interface that shadows most popular logging libraries. Only Print, Println, and Printf are needed to be a realis.Logger type. Example in the client uses the std library log.
* Moved most fmt.Print* calls to be redirected to user provided logger. Logger by default is a no-op logger.
* Adding CreateService to realis interface. Uses the StartJobUpdate API to create services instead of the createJobs API.
* Bumping up version number inside client in anticipation of new release.