Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
966d1c5
Switch to colorlog
jcrist Jan 21, 2020
c598aa1
Start on refactor
jcrist Jan 21, 2020
7ae105c
Add health check route
jcrist Jan 21, 2020
39b4296
Remove tornado from auth
jcrist Jan 21, 2020
3655697
Update authentication
jcrist Jan 22, 2020
fd077a7
Remove tornado from proxies
jcrist Jan 22, 2020
b11eb67
Update auth tests to work
jcrist Jan 22, 2020
723a293
Implement list_clusters for db backend
jcrist Jan 23, 2020
7b70ccb
Expand supported routes
jcrist Jan 23, 2020
971a3bf
Start work on reconciler pattern using local queues
jcrist Jan 27, 2020
5309a1f
Split out cluster config from backend
jcrist Jan 27, 2020
486411a
Start on local backend
jcrist Jan 27, 2020
2e36239
Implement initial scheduler <-> gateway comm
jcrist Jan 27, 2020
024ecc9
Add proxies back in
jcrist Jan 28, 2020
ddb636c
Add worker support
jcrist Jan 30, 2020
83279b2
More robust shutdown process
jcrist Jan 31, 2020
a953dde
A few cleanups
jcrist Jan 31, 2020
a07987d
Add automatic worker restarts
jcrist Jan 31, 2020
5553e60
Add support for timeouts
jcrist Jan 31, 2020
54043a7
Add status checks for pending clusters/workers
jcrist Feb 1, 2020
1914980
Add wait support back to get cluster handler
jcrist Feb 1, 2020
5e6c2a9
Add back adaptive scaling support
jcrist Feb 1, 2020
bd04c30
Add InProcessBackend
jcrist Feb 1, 2020
74ac92b
A few fixups
jcrist Feb 2, 2020
870ce64
Add more logs
jcrist Feb 3, 2020
6580d61
Support reloading from database
jcrist Feb 3, 2020
5c0df87
Shutdown active clusters on application shutdown
jcrist Feb 3, 2020
9f224e2
Add YARN backend
jcrist Feb 3, 2020
cb5b8da
Expose cluster options as api route
jcrist Feb 3, 2020
3687cd9
Port over PBS backend
jcrist Feb 3, 2020
f26b927
Port over SLURM backend
jcrist Feb 3, 2020
2619fc6
A few cleanups
jcrist Feb 3, 2020
a9ad080
Delete kubernetes manager, managers
jcrist Feb 3, 2020
ab71a00
Refactor proxy
jcrist Feb 5, 2020
d86520f
dask-gateway-proxy follows api server
jcrist Feb 6, 2020
0b6b0f5
Cleanup proxy implementation
jcrist Feb 7, 2020
94f48cd
Delete unused utils, add tests for used utils
jcrist Feb 7, 2020
10ba65d
Update proxy tests
jcrist Feb 7, 2020
d982188
Update auth tests
jcrist Feb 8, 2020
ba74851
Simplify proxy testing fixture
jcrist Feb 8, 2020
fbba638
Update test_cli.py
jcrist Feb 10, 2020
c09154a
Update test_client.py, simplify test fixtures
jcrist Feb 10, 2020
ea963e2
Update test_gateway.py
jcrist Feb 10, 2020
937ebbb
Gracefully shutdown reconcilation queues
jcrist Feb 10, 2020
b4f8e34
Expand db tests
jcrist Feb 10, 2020
d25776a
Update backend tests
jcrist Feb 11, 2020
f13debb
Tweak test suite
jcrist Feb 11, 2020
96fb8a5
Delete dead code
jcrist Feb 11, 2020
6a70510
Compat fixes, update travis yml
jcrist Feb 11, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 34 additions & 34 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,22 @@ jobs:
before_install:
- ./continuous_integration/docker/hadoop/start.sh
install:
- docker exec master /working/continuous_integration/docker/hadoop/install.sh
- ./continuous_integration/docker/hadoop/install.sh
script:
- docker exec master /working/continuous_integration/docker/hadoop/script.sh
- ./continuous_integration/docker/hadoop/script.sh

- if: (commit_message !~ skip-tests) AND ((commit_message ~= test-all) OR (commit_message ~= test-kube))
env:
- KUBERNETES-TESTS=true
services:
- docker
before_install:
- source continuous_integration/before_install.sh
- ./continuous_integration/kubernetes/start.sh
install:
- ./continuous_integration/kubernetes/install.sh
script:
- ./continuous_integration/kubernetes/script.sh
#- if: (commit_message !~ skip-tests) AND ((commit_message ~= test-all) OR (commit_message ~= test-kube))
#env:
#- KUBERNETES-TESTS=true
#services:
#- docker
#before_install:
#- source continuous_integration/before_install.sh
#- ./continuous_integration/kubernetes/start.sh
#install:
#- ./continuous_integration/kubernetes/install.sh
#script:
#- ./continuous_integration/kubernetes/script.sh

- if: (commit_message !~ skip-tests) AND ((commit_message ~= test-all) OR (commit_message ~= test-jobqueue) OR (commit_message ~= test-pbs))
env:
Expand All @@ -67,9 +67,9 @@ jobs:
before_install:
- ./continuous_integration/docker/pbs/start.sh
install:
- docker exec pbs /working/continuous_integration/docker/pbs/install.sh
- ./continuous_integration/docker/pbs/install.sh
script:
- docker exec -u dask pbs /working/continuous_integration/docker/pbs/script.sh
- ./continuous_integration/docker/pbs/script.sh

- if: (commit_message !~ skip-tests) AND ((commit_message ~= test-all) OR (commit_message ~= test-jobqueue) OR (commit_message ~= test-slurm))
env:
Expand All @@ -79,26 +79,26 @@ jobs:
before_install:
- ./continuous_integration/docker/slurm/start.sh
install:
- docker exec slurm /working/continuous_integration/docker/slurm/install.sh
- ./continuous_integration/docker/slurm/install.sh
script:
- docker exec -u dask slurm /working/continuous_integration/docker/slurm/script.sh
- ./continuous_integration/docker/slurm/script.sh

- env:
- DOCS=true
before_install:
- source continuous_integration/before_install.sh
install:
- source continuous_integration/install.sh
- pip install kubernetes skein sphinx doctr dask-sphinx-theme
script:
- |
set -xe
pushd docs
make html
popd
if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_EVENT_TYPE" == "push" ]]; then
doctr deploy . --built-docs docs/build/html/
fi
#- env:
#- DOCS=true
#before_install:
#- source continuous_integration/before_install.sh
#install:
#- source continuous_integration/install.sh
#- pip install kubernetes skein sphinx doctr dask-sphinx-theme
#script:
#- |
#set -xe
#pushd docs
#make html
#popd
#if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_EVENT_TYPE" == "push" ]]; then
#doctr deploy . --built-docs docs/build/html/
#fi

notifications:
email: false
30 changes: 30 additions & 0 deletions continuous_integration/docker/hadoop/_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

conda install psutil pykerberos

pip install \
aiohttp \
colorlog \
dask \
distributed \
cryptography \
traitlets \
sqlalchemy \
skein \
pytest \
pytest-asyncio

pushd dask-gateway
python setup.py develop
popd

pushd dask-gateway-server
python setup.py develop
popd

pip list
8 changes: 8 additions & 0 deletions continuous_integration/docker/hadoop/_script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

py.test tests/test_yarn_backend.py tests/test_auth.py -v
29 changes: 1 addition & 28 deletions continuous_integration/docker/hadoop/install.sh
Original file line number Diff line number Diff line change
@@ -1,29 +1,2 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

conda install psutil pykerberos

pip install \
dask \
distributed \
cryptography \
tornado \
traitlets \
sqlalchemy \
skein \
pytest \
pytest-asyncio

pushd dask-gateway
python setup.py develop
popd

pushd dask-gateway-server
python setup.py develop
popd

pip list
docker exec master /working/continuous_integration/docker/hadoop/_install.sh
8 changes: 1 addition & 7 deletions continuous_integration/docker/hadoop/script.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,2 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

py.test tests/test_yarn_cluster.py tests/test_auth.py -v
docker exec master /working/continuous_integration/docker/hadoop/_script.sh
2 changes: 2 additions & 0 deletions continuous_integration/docker/hadoop/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,7 @@ docker run --rm -d \
--name master \
-h master.example.com \
-v "$git_root":/working \
-p 8000:8000 \
-p 8786:8786 \
-p 8088:8088 \
daskgateway/testing-hadoop
29 changes: 29 additions & 0 deletions continuous_integration/docker/pbs/_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

conda install psutil

pip install \
aiohttp \
colorlog \
dask \
distributed \
cryptography \
traitlets \
sqlalchemy \
pytest \
pytest-asyncio

pushd dask-gateway
python setup.py develop
popd

pushd dask-gateway-server
python setup.py develop
popd

pip list
8 changes: 8 additions & 0 deletions continuous_integration/docker/pbs/_script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

py.test tests/test_pbs_backend.py -v
28 changes: 1 addition & 27 deletions continuous_integration/docker/pbs/install.sh
Original file line number Diff line number Diff line change
@@ -1,28 +1,2 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

conda install psutil

pip install \
dask \
distributed \
cryptography \
tornado \
traitlets \
sqlalchemy \
pytest \
pytest-asyncio

pushd dask-gateway
python setup.py develop
popd

pushd dask-gateway-server
python setup.py develop
popd

pip list
docker exec pbs /working/continuous_integration/docker/pbs/_install.sh
8 changes: 1 addition & 7 deletions continuous_integration/docker/pbs/script.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,2 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

py.test tests/test_pbs_cluster.py -v
docker exec -u dask pbs /working/continuous_integration/docker/pbs/_script.sh
2 changes: 2 additions & 0 deletions continuous_integration/docker/pbs/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ docker run --rm -d \
--name pbs \
-h pbs \
-v "$git_root":/working \
-p 8000:8000 \
-p 8786:8786 \
-p 8088:8088 \
--cap-add=SYS_RESOURCE \
daskgateway/testing-pbs
29 changes: 29 additions & 0 deletions continuous_integration/docker/slurm/_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

conda install psutil

pip install \
aiohttp \
colorlog \
dask \
distributed \
cryptography \
traitlets \
sqlalchemy \
pytest \
pytest-asyncio

pushd dask-gateway
python setup.py develop
popd

pushd dask-gateway-server
python setup.py develop
popd

pip list
8 changes: 8 additions & 0 deletions continuous_integration/docker/slurm/_script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

py.test tests/test_slurm_backend.py -v
28 changes: 1 addition & 27 deletions continuous_integration/docker/slurm/install.sh
Original file line number Diff line number Diff line change
@@ -1,28 +1,2 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

conda install psutil

pip install \
dask \
distributed \
cryptography \
tornado \
traitlets \
sqlalchemy \
pytest \
pytest-asyncio

pushd dask-gateway
python setup.py develop
popd

pushd dask-gateway-server
python setup.py develop
popd

pip list
docker exec slurm /working/continuous_integration/docker/slurm/_install.sh
8 changes: 1 addition & 7 deletions continuous_integration/docker/slurm/script.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,2 @@
#!/usr/bin/env bash
source ~/.bashrc

set -xe

cd /working

py.test tests/test_slurm_cluster.py -v
docker exec -u dask slurm /working/continuous_integration/docker/slurm/_script.sh
3 changes: 3 additions & 0 deletions continuous_integration/docker/slurm/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,7 @@ docker run --rm -d \
--name slurm \
-h slurm \
-v "$git_root":/working \
-p 8000:8000 \
-p 8786:8786 \
-p 8088:8088 \
daskgateway/testing-slurm
22 changes: 12 additions & 10 deletions continuous_integration/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,22 @@ set -xe
npm install -g configurable-http-proxy

pip install \
aiohttp \
black \
colorlog \
cryptography \
dask \
distributed \
cryptography \
tornado \
traitlets \
sqlalchemy \
pytest \
pytest-asyncio \
trustme \
jupyterhub \
flake8 \
ipywidgets \
jupyterhub \
notebook \
black \
flake8
pytest \
pytest-asyncio \
sqlalchemy \
tornado \
traitlets \
trustme

pushd dask-gateway
python setup.py develop
Expand Down
Loading