Min RK
783295fabd
fix tags in post_push
2018-04-26 16:43:56 +02:00
Min RK
1c942ec97c
ubuntu base image has utf8 locale
2018-04-26 16:43:56 +02:00
Min RK
3b6d2655ab
fix onbuild build arg
2018-04-26 16:43:56 +02:00
Min RK
8a18d0daab
move onbuild hook to post_build
2018-04-26 16:43:56 +02:00
Min RK
e9f7ccbd25
make build hooks exit on failure
2018-04-26 16:43:56 +02:00
Min RK
68d9f35c0b
build all our docker images on circleci
2018-04-26 16:43:56 +02:00
Min RK
28d78134c1
remove push from circle
...
building directly on docker cloud now, no credentials needed
2018-04-26 16:43:56 +02:00
Min RK
fd92ac852d
add docker cloud hooks for onbuild
2018-04-26 16:43:56 +02:00
Min RK
8399f5288e
add BASE_IMAGE build arg for onbuild
...
for easier automated building
2018-04-26 16:43:56 +02:00
Min RK
f99b7cb7eb
update Python, conda, ubuntu in Dockerfile
2018-04-26 16:43:56 +02:00
Min RK
bb5166077f
further scrub potentially sensitive url params
...
include oauth codes, state, and tokens
2018-04-26 16:42:24 +02:00
Carol Willing
b72e4b66ca
Merge pull request #1831 from minrk/service-stop
...
service.stop is a coroutine
2018-04-26 07:28:55 -07:00
Carol Willing
ed85cd25d6
Merge pull request #1827 from minrk/circle
...
simplify circle2 config
2018-04-26 07:23:52 -07:00
Carol Willing
3f90697e18
Merge pull request #1820 from minrk/test-db-upgrade
...
test database upgrades
2018-04-26 07:22:58 -07:00
Tim Head
73271a3e55
Merge pull request #1833 from rkdarst/cull_idle_py36
...
Note cull-idle needs python3
2018-04-26 15:44:35 +02:00
Richard Darst
6f9ea712de
Note cull-idle needs python3
...
- Closes : #1825
2018-04-26 16:30:51 +03:00
Min RK
6ee244e7cb
Merge pull request #1829 from rkdarst/cull_idle_py36
...
cull_idle_servers.py: py<3.6 compatibility
2018-04-26 14:42:24 +02:00
Min RK
d66a4af79b
service.stop is a coroutine
...
fixes waiting for services to stop on shutdown
2018-04-26 14:29:50 +02:00
Richard Darst
ea7b1caa4e
Add blacklist to auth.py
...
- Introduce blacklist to supplement white list
- Original code by github:ndiy, updated by github:rkdarst
2018-04-26 15:22:41 +03:00
Richard Darst
9cd880fb35
cull_idle_servers.py: Remove f-string for py3.4 compatibility
2018-04-26 15:05:49 +03:00
Min RK
658c152707
simplify circleci 2 config
2018-04-26 10:49:22 +02:00
Min RK
6f1ba77608
Merge pull request #1813 from rkdarst/api_server_state
...
add server.state to server model if requester is an admin
2018-04-26 10:33:22 +02:00
Richard Darst
2344d696ca
API: pass 'server_state' through to admin clients only
...
- This will allow, for example, cull_idle_servers to be more
intelligent when culling servers.
- This is only given to admin API users, because we don't know if all
spawners expect their state to be made available to users.
2018-04-24 16:52:18 +03:00
Min RK
bd816310cb
Merge pull request #1817 from minrk/server-model
...
Always include server sub-models in user api requests
2018-04-24 14:12:58 +02:00
Min RK
2bcf759a9f
Don't forget to install db libs in upgrade env
2018-04-24 11:44:08 +02:00
Min RK
82a04f7032
Merge pull request #1823 from willingc/test-time
...
Add a pytest ini file for running marked tests and edit testing mock files
2018-04-24 11:38:57 +02:00
Min RK
4281babee4
make server-model inclusion opt-in
...
so only certain API endpoints include server info:
- user list
- get named user
The rest exclude running servers
2018-04-24 11:35:51 +02:00
Min RK
d89f2965cf
handle updated server models in culler
...
- servers sub-models model always defined in 0.9
- explicit 'ready' key added, use user.url fallback only when needed
2018-04-24 11:35:15 +02:00
Min RK
e2a2a9903a
spawner.pending is None when nothing is pending
...
rather than False, which is a bit less convenient since we turn it to None in APIs anyway
2018-04-24 11:35:15 +02:00
Min RK
4401cdc16a
Always have .servers
model on users
...
rather than only when named_servers is enabled.
Put new-in-0.9 state there, rather than continuing to add server fields to top-level user model.
2018-04-24 11:35:15 +02:00
Carol Willing
e8d3fb2920
Document the mock service and mock single user servers
2018-04-23 17:38:02 -07:00
Carol Willing
f7ccc137ea
add comments to header docstring
2018-04-23 17:06:44 -07:00
Carol Willing
07bbb4ea02
add comments to test file header docstring
2018-04-23 17:06:15 -07:00
Carol Willing
b189e70c9b
add a minimal ini file for pytest
2018-04-23 15:31:34 -07:00
Carol Willing
de4c9c1463
mark some api tests as slow
2018-04-23 15:31:00 -07:00
Carol Willing
8bdb73ced4
Merge pull request #1809 from minrk/no-expire-again
...
don't expire objects on commit
2018-04-23 09:26:57 -07:00
Min RK
dee9050939
require virtualenv package for tests
2018-04-23 15:44:21 +02:00
Min RK
ae3c214708
remove unused old-jupyterhub.sqlite
2018-04-23 15:23:26 +02:00
Min RK
d6e81867bf
remove upgrade-db step from travis.yml
...
it's now in the test itself
2018-04-23 15:22:45 +02:00
Min RK
d30a5ee0a5
add populate_db.py script to populate a database for upgrading
2018-04-23 15:22:45 +02:00
Min RK
88bb80be0f
ALTER TABLE is required to add foreign key constraints
...
skip this for sqlite upgrade
2018-04-23 15:22:45 +02:00
Min RK
bba1ba1678
create additional test databases
...
for upgrading from multiple base hub versions
2018-04-23 15:22:45 +02:00
Min RK
b50daf20d0
IS NOT NULL typo in upgrade
2018-04-23 15:22:45 +02:00
Min RK
5c6c7cdff5
require tornado 4.5
2018-04-23 13:42:42 +02:00
Min RK
3f9b2a0c28
test with tornado 4.5 on travis
2018-04-23 13:42:34 +02:00
Min RK
453e119808
don't bypass spawner.server to delete server
...
this shouldn't happen, it's just breaking things
2018-04-23 12:54:22 +02:00
Min RK
a021f910c8
expose expire_on_commit option
...
conservative deployments may set
c.JupyterHub.db_kwargs['expire_on_commit'] = True
as an escape if the optimization is causing problems.
2018-04-23 12:54:22 +02:00
Min RK
e6c2afc4db
fix oauth lookup use of relationships
...
have to lookup orm client/user by id
client/user attributes don't exist on oauth objects, which aren't orm objects
2018-04-23 12:54:20 +02:00
Min RK
e6c7b28057
expire before re-running init_services
...
seems to be required, not sure why
2018-04-23 12:53:38 +02:00
Min RK
b1840e8be7
use relationships everywhere
...
in order to use sqlalchemy's expire_on_commit=False optimization,
we need to make sure that objects are kept up to date.
This means we cannot rely on ForeignKey ondelete/onupdate behavior,
we must use sqlalchemy's local relationship cascades
The main key here is that we must use relationships to set foreign-key relations,
e.g. APIToken.user = user instead of APIToken.user_id = user.id.
It also means that we cannot use passive_deletes,
which allows sqlalchemy to defer to the database's more efficient ON DELETE behavior.
This makes deletions more expensive in particular,
but should improve db performance overall.
2018-04-23 12:53:38 +02:00