* Fix API package names and regenerate checked-in proto files. Also bump version of GRPC gateway used.
* Fix BUILD.bazel file for api as well.
* Update Bazel version
* SDK - Separated the generated api client package
* Splitting the package build scripts
* Pinning the API client package version
* Moved import kfp_server_api to the top of the file
* Added the Mac OS X prerequisite install instructions
* Moved the build_kfp_server_api_python_package.sh script to the backend dir
* Updated the dependency version span
* add finished time for list runs
* add finished time for list runs
* fix tests
* add finished time for list runs
* Update run.proto
* address comments
* make query more robust
* fix e2e test
* fix e2e test
* Added the terminate run command to backend and CLI.
No generated files for now.
* Added the generated files.
* Moved the code to run_store.go
Now the call chain is run_client->run_server->resource_manager->run_store
* Using the backoff package for retries.
* Trying to update run status in the DB to "Terminating" before patching the workflow.
* Stopped using the Argo errors module.
* Fixed the compilation errors due to recent backend changes.
* RILEY - WIP - Implementation of workflow_fake.go and first test
Added successful test in resource_manager_test.go and completed, barring nits and conventions, the implementation of Patch() and isTerimated() within workflow_fake.go
Additional tests and lots of clean-up are still necessary
* Adds a few more tests to resource_manager_test and cleans up a bit
* Further clean up. Stopped using squirrel for UPDATE query. Added run_store_tests
* Adds terminate run integration test
* Undo changes to go.sum
* Fixes path to long-running.yaml in integration test
* Allow runs with no Conditions to be terminated
* add count to protos and libs
* close db rows before second query
* count -> total_size
* int32 -> int
* move scan count row to util
* add comments
* add logs when transactions fail
* dedup from and where clauses
* simplify job count query
* job count queries
* run count queries
* add job_store total size test
* added tests for list util
* pr comments
* list_utils -> list
* fix clients and fake clients to support TotalSize
* added TotalSize checks in api integration tests
* Add IS_SUBSTRING operator for use in API resource filtering.
This should allow substring matches on fields like names and labels and
so on.
Also bump the version of Mastermind/squirrel so we get the new 'like'
operator for use when building the SQL query.
Additionally, I also had to fix the generate_api.sh script which had a
bug (it modified the wrong file permissions before), and add a dummy
service to generate Swagger definitions for the Filter itself (this was
a hack in the previous Makefile that I lost when we moved to Bazel).
* Add comments for DummyFilterService
* Add more comments
* change errors returned
* fix import
* Use Bazel to build the entire backend.
This also uses Bazel to generate code from the API definition in the
proto files.
The Makefile is replaced with a script that uses Bazel to first generate
the code, and then copy them back into the source tree.
Most of the BUILD files were generated automatically using Gazelle.
* Fix indentation in generate_api.sh
* Clean up WORKSPACE
* Add README for building/testing backend.
Also fix the missing licenses in the generated proto files.
* Add license to files under go_http_client
* Make all ListXXX operations use POST instead of GET.
Generate new swagger definitions and use these to generate the frontend
APIs using `npm run apis`.
This is to support filtering in List requests, as the current
grpc-gateway swagger generator tool does not support repeated fields in
requests used in GET endpoints.
* Use base64-encoded JSON-stringified version of Filter instead.
This lets us keep filter as a simple parameter in the ListXXX requests,
and gets around having to use POST for List requests.
* refactor filter parsing to parseAPIFilter and add tests
* Hack to ensure correct Swagger definitions are generated for Filter.
* Fix merge conflicts with master after rebase
* fix indentation
* Fix hack so frontend apis compile.
* print failing experiments
* try print again.
* revert experiment_api_test
* Use StdEncoding for base64 encoding
* Fix nil pointer dereference error caused err variable shadowing
* skip integration tests when unit test flag is set to true
* wip
* add StorageState enum to proto
* add StorageState to model
* archive proto/model changes
* wip archive endpoint
* wip adding tests
* archive test
* unarchive proto and implementation
* cleanup
* make storage state required, with a default value
* remove unspecified value from storage state enum
* pr comments
* pr comments
* fix archive/unarchive endpoints, add api integration test
* typo
* WIP: Add filter package with tests.
* Add tests for IN predicate.
* Add listing functions
* Try updating list experiments
* Cleanup and finalize list API.
Add tests for list package, and let ExperimentStore use this new API.
Update tests for the latter as well.
* Add comments. BuildSQL -> AddToSelect for flexibility
* Run dep ensure
* Add filter proto to all other resources
* Add filtering for pipeline server
* Add filtering for job server
* Add filtering for run server
* Try to fix integration tests
This change pins the versions of the libraries that were used to
generate the proto definitions using dep. The Makefile is then modified
so that the tool and library versions used to build the proto generated
files are from the vendor directory. This is a hacky, short-term
solution to ensure a reproducible build while we work on switching to
bazel.
The versions in the Gopkg.toml file were chosen based on my experiments
that generated proto files that did not change from what is already
checked in.