Commit Graph

63 Commits

Author SHA1 Message Date
Lingqing Gan e1f0c010f8
feat(backend): add postgres initialization (#9798)
* add postgres initialization

* remove load balancer

* go mod tidy

* update license

* license update for viewer

* (test) disable controller license check

* (test) disable persistence agence licence check

* (test) disable scheduled workflow license check

* (test) disable cacheserver license check

* fix db config location

* fix mysql support

* test

* test

* no long set host address

* address comments

* address comments and enable license check

* format

* remove extra blank line

* update licenses

* cache server license

* address comments

* centralize error message

* remove pv in postgres deployment
2023-08-10 21:51:05 +00:00
gkcalat 9ec4dc7f30
fix(backend): Add pipeline spec name validation and relax display name validation (#9374)
* Add pipeline name check at creation time

* Revert changes for pipeline version

* Validate pipeline spec name and relax display name

* Fix e2e test
2023-05-11 23:57:30 +00:00
James Wu 2cfc4283d2
fix(conformance): enable healthz test in full Kubeflow. (#9297)
* Enable healthz test in full Kubeflow.

This change will also be ported to release-2.0-alpha branch to support
conformance tests for KF 1.7, which is using alpha.7 version of KFP.

* Fix build break due to recent refactoring.
2023-05-04 02:02:44 +00:00
Chen Sun 8b2fba3f39
test: Add v2 API integration tests (#9185)
* Add v2 API integration tests

* move v1 client
2023-04-27 20:20:39 +00:00
gkcalat 1f748c5ba4
fix(backend): fix run, job from empty manifest. Closes #8802. (#8805)
* Fix run, job from empty manifest. Closes #8802.

* Add upgrade test case

* Rename function

* Fix typo, remove unnecessary check
2023-02-07 00:21:31 +00:00
gkcalat 135dc64854
feat(backend): Refactor apiserver, add Pipeline and other v2beta services (#8633)
* Staging WIP

* Fix recurring run, switch to pipeline_version_id

* Regenerate python client

* Refactor packages for pipeline service v2

* Stage progress

* Add support for pipeline service v2beta1

* Go mod tidy

* Update licenses

* Set default namespace to be empty

* Separate deletion of pipeline versions

* Change report ReportRunMetrics to obey AIP

* Use pipeline version id in run proto

* Update run.proto

* Upgrade storage

* Remove dependencies on api

* Stage refactoring progress

* Refactor apiserver

* Update v1beta1 unit test

* Update dependencies

* Fix integration test

* Revert visualization server changes (workaround)

* Address comments

* Basic lint the api server

* Update licenses file

* Adjust intergtaion tests

* Fix typos in the tests

* Update tests

* Update test

* Add support v1 delepe pipeline

* Remove gorm.Model to split into a different PR

* Lint api server

* Fix default experiment in upgrade test

* Update storage states

* Testing upgrade test run

* Add copying pod logs to the GCS bucket

* Fix upgrade test

* Adjust backend test for list

* Fix the tests

* Fix workflow manifest discrepancy at create

* Add a few unit-tests

* Add misc service and fix persistence agent

* Remove default values from TEXT columns

* Address comments. Fixes #8702.

* Address comment, reorder resource, server, storage

* Fix front end integration test

* Fix FE integration test

* Fix tabs, add pauses, make more explicit FE test

* Revert FE test changes

* Enable default experiment and disable its deletion

* Replace empty namespace with POD_NAMESPACE

* Default experiment is now the oldest

* Emplace empty with POD_NAMESPACE for argo only

* Fix api integration test

* Revert changes to default experiment's description

* Improve FE test flakiness

* Force refresh in the FE test

* Fix FE integration test

* Add delay in FE test

* Add local debug to FE test

* Update tests

* Fix typo

* Address comments

* Enforce template version verification

* Fix workflow manifest discrepancy with v1

* Fix FE test

* Revert changes in persistence agent

* Limit to one resource owner

* Change default run state to unknown

* Revert changes to FE integration test

* Make states consistent

* Remove links from error messages

* Address comments

* Address comments

* Change the order for teardown

---------

Co-authored-by: Chen Sun <chensun@users.noreply.github.com>
2023-02-03 20:17:01 +00:00
Lingqing Gan 6ee767769d
feat(backend): add support for "finished_at" and others in filter. Fixes #8654 (#8662)
* add support for "finished_at" and other in filter

* update job map

* add UTs

* add integration test for filter

* update integration test

* fix integration test

* add more info

* fixed integration test

* fix small bug

* fix flakiness
2023-01-15 19:00:58 +00:00
Lingqing Gan 7e7e1afcb0
feat(backend): Add support for converting v2 recurring run to scheduled workflow in template (#8521)
* add template support for v2 api

* copyright

* add v2 tests

* add proto files and generate clients

* update dockerfile

* update script

* refactor rec_run_id

* copyright info

* move string definition

* small fix to proto

* small refactor

* template takes model instead of api

* template changes

* convert to model in resource manager

* resolve conflicts

* fix integration test typos

* test

* test

* test

* testing

* temp change for debug

* temp change for debug 2

* temp change for debug 3

* temp change for debug 4

* temp change for debug 5

* temp change for debug 6

* revert resource manager change

* add print

* bring back integration tests

* folder name

* delete a file

* remove package debug

* fix bug

* print more variables

* add log

* add log

* small fix

* add log

* more logs

* add test

* add  logs

* test

* add another test

* use old function for Trigger convertion

* change modeltoCRDTrigger function

* removed V1 at the end of function name

* add comments

* removed unnecessary variable

* typo

* small change

* test

* remove logs for debugging

* small bug

* remove logs for debug

* nit and removed unused functions

* remove unused functions  and move var declararion
2022-12-21 19:43:13 +00:00
Lingqing Gan 6e364d35b1
feat(backend): Add v2 api for experiments (#8480)
* v2 exp proto and generate clients

* server changes

* move v1 and v2 protos into api folder

* regenerate v1 packages

* generate v2 package

* add v2 funcs.

* added v2 create experiment

* integration and initialization tests

* createexperiment works and rest can be pinged

* add create exp tests

* add get experiment

* add get experiment tests

* add list experiment and one test

* add list exp tests

* add TestValidateCreateExperimentRequest_Multiuser

* add delete exp tests

* add archive/unarchive exp and tests

* refactor storage and resource layers

* change api converter

* small fix

* small fixes

* move proto files outside and name v1 package api

* refactor

* refactor
2022-11-29 01:21:43 +00:00
Lingqing Gan 3f2e20d14f
chore(backend): regenerate v1beta1 api clients (#8403)
* add v2 experiment.proto

* regenerate v1beta1 client

* remove api version from combined swagger file

* Revert "regenerate v1beta1 client"

This reverts commit 02769d779b.

* regenerate v1beta1 clients

* regenerate python packages without api version

* remove regenerated v1 python packages&change proto

* refactor v1 exp apis and functions

* remove v2 api package and refactor v1 proto

* regenerate v1 go clients

* regenerate v1 python package

* refactor and update the human maintained swagger

* renew swagger file

* regenerate v1 packages

* regenerate v1 python package

* refactor

* regenerate v1 go clients

* regenerate v1 python package

* recover dockerfile and add s in python

* fix func name

* use commit for sdk execution test

* change sdk execution test

* update test script

* add v1 to methods

* proto update v1 method names

* regenerate v1 go packages

* regenerate python client

* update server methods

* refactor

* refactor

* refactor

* refactor python client

* fix get_healthz

* update sample-test.sh in v2 backend

* sample test script

* change v2 sample test

* change package install order

* Revert "change package install order"

This reverts commit c24fcfbed9.

* use KFP server api from commit for v2 sample tests

* small fix
2022-11-10 19:18:00 +00:00
Lingqing Gan 6c6b1e3a94
chore(backend): move v1 api to v1beta1 package and folder (#8376)
* move v1 api to v1beta1 package and folder

* fix test

* update README.md

* update README.md

* update readme
2022-10-26 07:11:30 +00:00
Lingqing Gan f25127fe76
feat(backend): Implement RuntimeConfig in backend for jobs(RecurringRun) (#8152)
* update server folder

* update storage folder

* update run_api_test.go

* update job_api_test.go

* update upgrade_test.go

* model converter and tests

* fix upgrade_test.go

* fix api tests

* update error messages
2022-08-23 00:01:25 +00:00
Lingqing Gan 2b556ec855
feat(backend): Implement RuntimeConfig in backend (#8085)
* add runtime config model

* add run store and tests

* add runtime_config to model converter and tests

* add runtime_config to api converter and its tests

* change api server and related tests

* remove v2 runtime_config test

* add runtimeconfig to upgrade test

* fix test values

* upgrade test debug

* tests

* add more info for debug

* use NullString instead of String, remove debug

* fix type conversion

* change function and add unit tests

* run go fmt

* Add comments for model

* marshal params using v2 structpb values

* fix small bug

* Revert "run go fmt"

This reverts commit 251c3a9535.

* No longer sort keys

* test values and explain comparison using .String()

* func toApiRuntimeConfig

* tests updates

* add api converter tests

* change test

* fix format

* change test

* simplify marshalling parameters
2022-08-11 23:21:52 +00:00
Lingqing Gan c7b56d6ca6
fix(backend): change downloaded IR from JSON to YAML. Fixes #7673 (#7768)
* change downloaded IR from JSON to YAML

* correct error message

* update error message

* change template.Bytes() to return yaml

* remove json to yaml conversion

* add TODO

* remove yaml package

* mod tidy

* change go mod

* Update test data for evaluation classification feature attribution pipeline.

PiperOrigin-RevId: 446739064

* feat(conformance): adapt run api tests to KF env (#7658)

- Undid earlier refactoring in test_util.go. I think having the util
  function to take a parameter structure is much more readable than
  constructing api parameters in the util function.

* feat(conformance): adapt remaining tests to KF env (#7670)

- Adapted job, rn, upgrade and visualization tests
- Undid earlier change where I had to pass in empty string to indicate
  that resource reference should not be overridden because experiment id
  is specified
- Updated visualization client to support SA token projection auth

* Revert "feat(conformance): adapt remaining tests to KF env (#7670)"

This reverts commit 3cf7c19be9.

* Revert "feat(conformance): adapt run api tests to KF env (#7658)"

This reverts commit e644d7a18b.

* Revert "Update test data for evaluation classification feature attribution pipeline."

This reverts commit 86a2fb2c02.

* block usage of json IR in backend. change test

* update tests

* update tests

* update tests

* fix test

* change commnets

* remove json test

Co-authored-by: Googler <nobody@google.com>
Co-authored-by: James Wu <54086668+james-jwu@users.noreply.github.com>
2022-06-22 01:13:25 +00:00
hsinhoyeh bd38cb5ae8
fix(backend): fixes healthz response by adding json content type. Fixes #7525 (#7532) 2022-05-20 03:44:23 +00:00
James Wu bcbdbd050f
feat(conformance): adapt remaining tests to KF env (#7670)
- Adapted job, rn, upgrade and visualization tests
- Undid earlier change where I had to pass in empty string to indicate
  that resource reference should not be overridden because experiment id
  is specified
- Updated visualization client to support SA token projection auth
2022-05-05 23:56:50 +00:00
James Wu 8b1155158e
feat(conformance): adapt run api tests to KF env (#7658)
- Undid earlier refactoring in test_util.go. I think having the util
  function to take a parameter structure is much more readable than
  constructing api parameters in the util function.
2022-05-05 18:27:13 +00:00
James Wu 913277a3aa
feat(conformance): adapt pipeline version API tests to run in KF (#7653) 2022-05-04 17:47:32 +00:00
James Wu 694a274b4f
feat(conformance): adapt pipeline API tests to KF environment (#7647) 2022-05-03 20:50:00 +00:00
James Wu 1265113dff
feat(conformance): Enable experiment API tests in KF mode. (#7596)
* Conformance: Enable experiment API tests in KF mode.

Added 3 flags:
- isDebugMode is enables HTTP request/response logging
- IsKubeflowMode enables the tests in full Kubeflow mode
- resourceNamespace: the namespace/profile under which the test
  resources are created

Added a new HTTP client that uses SA token volume projection auth. The
test pods will be set up to project SA token.

Plumbed everything through for experiment API tests. The other tests
will be enabled in subsequent PRs.

* Updated change to address comments.
2022-04-29 00:45:56 +00:00
capri-xiyue 2e945750cb
feat(v2): V2 create run api (#6689)
* added draft of create v2 pipeline run

* fixed broken UT and added UT for parsing template

* modified run apis to support v2 IR spec

* remove temporary patch

* fixed dependency

* fixed build failure

* finished draft

* finished create job and run

* refactor template and fixed broken UT

* updated go license

* fixed build failure

* fixed build

* added UT

* modified UT

* fixed build failure

* fixed license
2021-10-28 21:53:51 -07:00
Yuan (Bob) Gong 4360652e66
test(backend/integration): pipeline API integration tests for v2 spec (#6798)
* test(backend/integration): pipeline API integration tests for v2 spec

* test: update PipelineClientInterface
2021-10-26 17:48:27 -07:00
Niklas Hansson 484c61931a
chore: remove sleep from api_job_test.go and add retry instead. (#6584)
* Add retry logic instead of sleep

* retry instead of sleep

* to do comment

* Updated to 8 times and 5 seconds

* missed to update on two places
2021-10-19 02:38:33 -07:00
Niklas Hansson d5223b396e
chore: add condition check and missing error asserts in run_api_test.go (#6604)
* Fix missing asserts and add missing test case

* Update the expected value of the list
2021-09-28 17:02:46 -07:00
Niklas Hansson 129f46a943
chore: add missing assert in pipeline_version_api_test.go, run_api_test.go and upgrade_test.go (#6605) 2021-09-28 16:02:54 -07:00
Niklas Hansson 8d3a368d70
chore: add missing assert and remove duplicate package import in pipeline_api_test (#6603) 2021-09-28 16:02:47 -07:00
Niklas Hansson 00a0ffbdb7
feat(backend): upgrade argo go module to V3. Part of #5718 (#5792)
* updating argo

* updated fix deps and code

* clean up
2021-06-08 05:04:45 -07:00
Haofeng Xie 15b0f50c54
feat(backend): Add qps & burst options in clientset. Fix #5095 (#5231)
* feat(backend): Add qps & burst options in clientset. Fix #5095

* Some minor changes:
* Use comment in client-go as usage string of QPS & burst.
* Use `common.GetXXX()` to retrieve configurations in API server.
* Use a struct to include configurations in cache server.
* Update job_api_test.go to support modified `NewScheduledWorkflowClientOrFatal()`.

* Some minor fixes:
* Create `util.ClientParameters` for configurations needed to create a client.
* Add comments linking to the default value of clientQPS & clientBurst defined in k8s.io/client-go.
2021-03-16 11:14:15 -07:00
Luis Magana 5df2801603
feat(backend): Added multi-user pipelines (UI + API); Fixes #4197 (#4835)
* Added multi-user pipelines backend


corrected typo


updating code based on review


fixes for pipelines server


reverting this back

* removing unnecessary info logging
2021-02-26 06:10:15 -08:00
Niklas Hansson e669b22954
fix(backend): remove Bazel from building the API. Part of #3250 (#4906)
* updated to remove bazel

* rename@

* script to run in container

* update the generation

* updated docker image

* changed name

* updated the code

* regenerated API

* fix env variables

* updated version of go swagger

* rerun generate with updated package

* added healthz

* typo with folders fixed

* changed version

* set version of protoc compiler

* test if version is correct

* test version

* changed version

* updated version agian

* test version

* the latest test

* updated docker image

* fixed some stuff

* new test

* tested other version

* new tests

* changed swagger

* new test

* updated versions

* missed docker file

* updated files@

* change back

* updated after feedback@

* clean up

* remove license and install binary

* update and check differences

* completed rebase

* go mod tidy

* updated based upon work of boby

* remove code commited by misstake

* added by misstake

* updated after feedback

* futher updates after feedback

* final updates from feedback

* switch to Makefile

* update

* fix non-root execution

* clean up, fix release script

* fix swagger

* fix healthz endpoint & regenerate python client

* Delete sample.py.tar.gz

Co-authored-by: Yuan Gong <gongyuan94@gmail.com>
Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>
2021-02-16 16:58:30 -08:00
Yuan (Bob) Gong 3d40bba9a3
chore(backend): clean up backend code generation (#5116)
* chore(backend): tidy go.mod and update tools.go

* go install, instead of go get

* fix problems reported by go vet

* simplify some ide reported redundant syntax

* license is not required for generated code

* remove licenses for generated code

* cleanup

* remove license more

* rm unused BUILD.bazel files

* fixed generate_api.sh

* reimport error.proto
2021-02-09 07:10:57 -08:00
Niklas Hansson eeb7f8f04a
fix(backend): make the scheduleworkflowontroller timezone aware. Fixes #2653 (#4641)
* intial work'

* small fixes

* updated tests and how parameter are set

* try to fix test

* check with out adding missing test

* fixed small typo

* test changes

* updated config

* typo

* updated after feedback

* fixed pointer error

* test to add paramter

* moved to init so removed not needed code

* updated further

* updated tests to also check endtime

* clean up test

* fixed failing test

* fixed the expected test results

* added timezone examples

* further clean up

* fixed time format

* Update params.env

* moved location to cronjobscheduler

* clean up

* set env variable to empty

* reverted back

* updated to make magic nbr to constant

* updated the tests with comment

* added comments on cron expressions

* update naming and return types

* updated to UTC as default

* updated with an alpha notice
2021-01-10 00:59:05 -08:00
numerology 1449cfe0a5 chore(release): bumped version to 1.1.2 2020-12-14 09:43:07 -08:00
Yuan (Bob) Gong 4df8925b05
fix(backend): job api -- deletion/disabling should succeed when swf not found. Fixes #4871 (#4884)
* fix(backend): job api -- deletion should succeed when swf not found

* bug reproducing unit test

* fix the bug and pass reproducing unit test

* reproducing integration test

* fix integration test

* clarify error message

* disable job should also succeed, unify term to CR instead of CRD

* fix unit test error

* fix error message

* improve logging
2020-12-09 18:12:52 -08:00
Niklas Hansson a6c79c2e2c
test(backend): added missing assert statement in job_api_test . (#4705) 2020-11-01 16:36:52 -08:00
Niklas Hansson 5742991c1a
feat(API): exposing api for setting the default version of pipeline. Fixes #4049 (#4406)
* initial work on exposing the default version of pipeline

* update description

* added missing files

* updated api build, unsure if this is correct ...

* updated after feedback

* clean up

* remove empty line

* started to make the integration test

* added integreation test

* fixed build and feedback

* updated the tests

* Updated the test

* new test

* typo

* updated the pipeline default

* updated the pipeline version

* formatting

* error in comparison
2020-10-15 16:19:25 -07:00
Yuan (Bob) Gong b1dcedc6bd
test(backend): Fix upgrade_test flakiness. Fixes #4426 (#4460) 2020-09-02 23:55:41 -07:00
Yuan (Bob) Gong 7840d30274
test(backend): fix TestJobApis test is flaky. Fixes #4419 (#4451) 2020-09-01 22:13:06 -07:00
jingzhang36 da1bc6978d
re-enable upgrade test since 0.5.2 is cut (#3696)
* re-enable upgrade test since 0.5.0 is cut

* renable upgrade test; and in upgrade test, sort resource references
field before comparison

* those types have been defined elsewhere

* expect service account
2020-05-29 13:40:10 +08:00
Yuan (Bob) Gong d3ef4bf39f
[Backend] Use service account passed from api object (#3650)
* Add service account field to run and job api objects

* Update description

* Fix field casing

* Use service account from api object

* Fix bug and add unit test

* Save patched workflow spec into db instead

* Save service account to db model

* Fix unit tests

* Fix integration tests

* Fix upgrade test

* Update upgrade_test.go
2020-05-05 23:23:08 -07:00
Chen Sun f55147d9c0
Sort job resource references before equality check (#3561) 2020-04-29 02:32:24 -07:00
Chen Sun 87ddf202ea
Sort resource references before checking for run struct equality (#3547) 2020-04-20 01:53:38 -07:00
Chen Sun 0d961ce5c1
use reflect.DeepEqual to compare run structs (#3546) 2020-04-17 15:43:14 -07:00
jingzhang36 56d519e9f7
Add archive experiment feature in backend (#3359)
* add new field in db schema and api schema

* auto genereted types for experiment storage state

* add archive and unarchive methods to backend for experiments.

* auto generated archive/unarchive methods for epxeriments

* add archive and unarchive to client

* set proper storage state when creating experiment

* retrieve storage state when we get/list epxeriment(s)

* change expection in test to have storage state

* add storage state in resource manager test

* revise experiemnt server test

* revise api converter test

* integration test of experiment archive

* archive/unarchive experiment affect the storage state of runs in it

* test all the runs in archive/unarchive experiment

* test all runs are archived/unarchived with their experiment in experiment server

* integration test

* integration test: value type mismatch in assertion

* unused import; default value for storage state

* autogen code for frontend

* reorder the fields in api experiment schema

* switch the position of the two enum to verify a hypothesis

* Put a place hodler to prevent any valid item to take the value 0

* Get rid of the place holder since the cause of issue related to value 0 is found and fixed.

* The returned api experiment now has storage state field

* create experiment return doesn't contain storege state

* Cleanup needs to clean runs and pipeliens now

* a missing client

* use resource reference as fileter instead of experiment uuid

* use same namespace in archive unit test

* Leave archive/unarchive experiment integration test to a separate PR

* also need to update jobs when experiments are archived

* Change of unarchiving logic. When experiment is unarchived, jobs/runs in
it stay archived

* add unit test for the job status in archived/unarchived experiment

* change archive state to 3 value enum; add experiment integration test

* make archive state 3 value enum to avoid 0 value mapped to available; add integration test

* run swagger autogen

* fix an expected value

* fix experiment server test

* add job check in experiment server test

* update job crds

* fix a typo

* remove accidentally included irrelevant changes
2020-04-16 07:31:09 +08:00
jingzhang36 6e56960e6a
Refactor the legacy way of using pipeline id to create run in KFP backend (#3437)
* For legacy interface, we switch to the new presentation underhood

* when create run, if user specify a pipeline, we subsitute it with the pipeline's default version

* Add a case where a version and a pipeline are both specified

* comment; get ready pipeline

* comments

* fix upgrade integration test

* comments of todo; expected run/job now has resource references

* fix upgrade test expected value according to the new response

* fix a typo

* a quick hack for upgrade test

* surface err from conversion
2020-04-08 00:08:49 +08:00
jingzhang36 d9bb1be25b
Add pipeline version to job/run integration test so that job/run is c… (#3270)
* Add pipeline version to job/run integration test so that job/run is created from pipeline version

* Use set comparison to check array equation in test

* address comments to use elements match
2020-03-16 16:45:40 +08:00
Yuan (Bob) Gong 5391e88fbc
[Testing] KFP standalone test infra for upgradability (#1971)
* Implement upgrade test

* mark upgrade-tests.sh as executable

* Fix comments

* Base upgrade_test_setup.yaml

* e2e integration of upgrade test

* Fix entrypoint argument

* Fix e2e workflow yaml

* Fix run_test.sh argument processing

* Fix no closing backtick

* Restrucutre upgrade_test.go to focus the test on upgrade verification

* clean up code

* Clean up after upgrade test when it is run in integration tests.

* Include pipeline tests in upgrade test

* Reorder tests

* Add upgrade test coverage for run api resources

* Add job api resource coverage in upgrade test & refactored upgrade test

* Fix add missing step in upgrade test

* Fix BUILD.bazel

* Fix upgrade_test.go

* Try to fix upgrade test failure

* Fix hard coded namespace

* Sync upgrade-tests.sh with new changes in presubmit-tests-with-pipeline-deployment.sh

* Update upgrade test

* Remove redundant code

* Fix integration test exit code

* Fix trigger interval second mismatch
2020-03-09 16:53:37 -07:00
jingzhang36 ee587101d3
Add integration tests for version related methods (#3174)
* create a new version upload integration test file

* checkpoint

* checkpoint

* test

* checkpoint

* checkpoint

* version api integration test

* Fix a typo

* typo in comment

* error message
2020-02-26 21:29:52 +08:00
Yuan (Bob) Gong 8c0bc219ed
[Backend] swf catchup option integration tests (#3139)
* Make local testing easier

* Move cleanup to test setup stage

* Add readme for how to run integration tests

* Add warning about data loss

* Add warning also in the script

* Change flag to isDevMode and cleanup resources if not in dev mode

* Pass through arguments in the bash script

* Fix unit tests

* integration tests for swf NoCatchup option

* Also add cron catchup option tests

* Restructure test

* Adjust format

* Fix BUILD.bazel

* fix typo
2020-02-21 02:28:31 -08:00
Yuan (Bob) Gong b90040a00f
[Backend] Refactor integration tests, facilitate local testing (#3138)
* Make local testing easier

* Move cleanup to test setup stage

* Add readme for how to run integration tests

* Add warning about data loss

* Add warning also in the script

* Change flag to isDevMode and cleanup resources if not in dev mode

* Pass through arguments in the bash script

* Fix unit tests
2020-02-20 23:02:32 -08:00