-
Notifications
You must be signed in to change notification settings - Fork 281
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi tenancy support #503
Merged
dcrankshaw
merged 68 commits into
ucbrise:develop
from
dcrankshaw:multi_tenancy_support
Jun 21, 2018
Merged
Changes from all commits
Commits
Show all changes
68 commits
Select commit
Hold shift + click to select a range
7397140
started impl, but need to dynamically set labels for prom and svcs
dcrankshaw 82fa658
Added unbound port func, still debugging
simon-mo b79d36d
Remove all occurance of tmp in metrics
simon-mo 1306a4a
Resolve hard coded prometheus path
simon-mo 82974f2
Add label selection to replicas
simon-mo 4e81a8e
Docker Multi-tenancy done
simon-mo 2778c48
Add templating to config yamls; add cluster_name
simon-mo 5cd53a7
Seperation of service done; need check conn
simon-mo a51eb61
Format Code
simon-mo 33189bf
Add tests, fix label selector
simon-mo a2683ad
Format code
simon-mo dad441b
Don't connect after cleanup
simon-mo 8bd5b3b
Format code
simon-mo 7ecc8f2
Add debug line; tests pass locally; suspecting dangling containers
simon-mo f62922b
Checkout parallel build docker
simon-mo bcbda0b
Make persistent test less verbose
simon-mo b963d28
Make Unittest all parallel
simon-mo 044d724
Make maven less verbose
simon-mo 1c9c644
Change persistent_state_test 10->100
simon-mo 3af90eb
Refactor tests to include cluster name
simon-mo ee71d06
Format code
simon-mo e10ff2e
Add logging support; push to test on ubuntu
simon-mo 69c7f1b
Fix docker issue on ubuntu
simon-mo eabf428
Modify comment about prometheus
simon-mo 7b0346d
Fix some kubernetes test
simon-mo ffeef95
Interpreable cluster name
simon-mo 0548997
Format code
simon-mo 94dfa14
Merge remote-tracking branch 'upstream/develop' into multi_tenancy_su…
simon-mo ebb5354
Remove temp_dir usage in deployer serialize func
simon-mo 396ed5f
Address comment
simon-mo 09bf075
Format code
simon-mo 878a00f
Add more comments; shorten naming for cluster
simon-mo 6f2fac5
Merge branch 'develop' into multi_tenancy_support
simon-mo 134bfef
Merge branch 'develop' into multi_tenancy_support
simon-mo c7a5b3f
Fix proxy addr
simon-mo ebe5208
Format code
simon-mo 2270c52
Wrap k8s metric test 2 in retry loop
simon-mo a7ccda2
Clean up test
simon-mo 6ced033
Merge branch 'develop' of https://github.com/ucbrise/clipper into mul…
simon-mo 3d37b5a
Format code
simon-mo caee0ba
Fix frontend exporter naming
simon-mo b447eb0
Add readme to CI process
simon-mo 742d3da
Change testapp name for ekr
simon-mo 83c7c67
Swap the python closure build step
simon-mo ffc321e
Add __registry__ argument
simon-mo 105f0ef
Add registry to docker build process
simon-mo e5eae35
Add cluster info to image name
simon-mo 17634b8
Merge branch 'develop' of https://github.com/ucbrise/clipper into mul…
simon-mo 705394a
Format code
simon-mo 4c2d8d2
Run unittests in clippertest
simon-mo eef8100
Address comment
simon-mo c0e53cd
fix clipper_docker_images location
simon-mo 25f3ddc
Add set -x to debug "invalid reference format"
simon-mo 9c5bb3b
Add debug lines
simon-mo ca1afd9
Fix the blank line issue in clipper_docker_images.txt
simon-mo db84d88
Don't pull ecr images
simon-mo 1dc343a
Fix import
simon-mo 1c3ba94
Set git hash length to at least 10 to prevent collision
simon-mo 533acbe
Update registry in test
simon-mo 855a307
Add version back to metrics
simon-mo 99e2517
Remove CLIPPER_CONTAINER_REGISTRY constant in test
simon-mo d18d509
Revert "Remove CLIPPER_CONTAINER_REGISTRY constant in test"
simon-mo 8a184ac
Add CLIPPER_CONTAINER_REGISTRY back
simon-mo 1b70dd0
Format code
simon-mo 9555086
Fix docker login in unnitest
simon-mo e5c2852
Fix image name in R test
simon-mo cd8d9d1
Fix CLIPPER_CONTAINER_REGISTRY in k8s metrics test
simon-mo 0f58770
Refresh k8s metric tests;fix variable reuse
simon-mo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Description of CI process | ||
|
||
The wonderful AMPlab Jenkins is responsible for running our integration test. | ||
|
||
## How does the CI process work | ||
|
||
|
||
0. Jenkins pull the PR. | ||
1. Jenkins inject environment variables configured in admin page. Currently, we set the following environment variables | ||
in Pull Request Builder: | ||
- AWS_ACCESS_KEY_ID | ||
- AWS_SECRET_ACCESS_KEY | ||
- CLIPPER_K8S_CERT_AUTH | ||
- CLIPPER_K8S_CLIENT_CERT | ||
- CLIPPER_K8S_CLIENT_KEY | ||
- CLIPPER_K8S_PASSWORD | ||
- CLIPPER_TESTING_DOCKERHUB_PASSWORD | ||
2. Jenkins will call `run_ci.sh`. It does three things: | ||
- It calls `build_docker_images.sh` to build all the docker images | ||
- Then it runs unittests docker container for python2 and python3 | ||
- Each unittest cotnainer will run `ci_checks.sh` | ||
3. `ci_checks.sh` will run two things: | ||
- (Only in Python2) It runs `check_foramt.sh` to run the linter for C++ and Python | ||
- It runs `run_unnitests.sh` to run all tests. | ||
- (Only in Python3) It will only run the integration test part, which contains all the python tests and R tests | ||
|
||
## Note on Minikube (WIP) | ||
- We are under the process of moving away from AWS EKS to Minikube in our CI process. Once the PR is in, there will be | ||
more detail here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -91,7 +91,7 @@ function run_jvm_container_tests { | |
echo "Running JVM container tests..." | ||
cd $DIR | ||
cd ../containers/jvm | ||
mvn test | ||
mvn test -q | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👍 |
||
} | ||
|
||
function run_r_container_tests { | ||
|
@@ -129,6 +129,10 @@ function run_frontend_tests { | |
function run_integration_tests { | ||
echo -e "\nRunning integration tests\n\n" | ||
cd $DIR | ||
|
||
echo "GREPTHIS Docker State before:" | ||
docker ps | ||
|
||
python ../integration-tests/clipper_admin_tests.py | ||
python ../integration-tests/many_apps_many_models.py 2 3 | ||
python ../integration-tests/deploy_pyspark_models.py | ||
|
@@ -137,13 +141,20 @@ function run_integration_tests { | |
python ../integration-tests/kubernetes_integration_test.py | ||
python ../integration-tests/kubernetes_multi_frontend.py | ||
python ../integration-tests/deploy_tensorflow_models.py | ||
python ../integration-tests/deploy_mxnet_models.py | ||
python ../integration-tests/deploy_pytorch_models.py | ||
python ../integration-tests/deploy_mxnet_models.py | ||
python ../integration-tests/deploy_pytorch_models.py | ||
# See issue #475 | ||
# python ../integration-tests/deploy_pytorch_to_caffe2_with_onnx.py | ||
../integration-tests/r_integration_test/rclipper_test.sh | ||
python ../integration-tests/clipper_metric_docker.py | ||
python ../integration-tests/clipper_metric_kube.py | ||
python ../integration-tests/clipper_metric_docker.py | ||
python ../integration-tests/clipper_metric_kube.py | ||
python ../integration-tests/multi_tenancy_test.py | ||
python ../integration-tests/multi_tenancy_test.py --kubernetes | ||
python ../integration-tests/kubernetes_namespace.py | ||
|
||
echo "GREPTHIS Docker State After" | ||
docker ps | ||
|
||
echo "Exit code: $?" | ||
echo "GREPTHIS Done running unit tests" | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't want the docker build images script to automatically push the images. Remember, that script is very useful during development for rebuilding images locally. Instead, let's change
build_docker_images.sh
to write the names of all the containers it builds to a file (something likeclipper_docker_images.txt
) and then you can push all those images with the following one-liner (from https://stackoverflow.com/a/13939059/814642):