update to the last jupyterhub version

This commit is contained in:
Christian Barra
2017-01-03 14:22:12 +01:00
11 changed files with 83 additions and 26 deletions

View File

@@ -234,6 +234,12 @@ class User(HasTraits):
# prior to 0.7, spawners had to store this info in user.server themselves.
# Handle < 0.7 behavior with a warning, assuming info was stored in db by the Spawner.
self.log.warning("DEPRECATION: Spawner.start should return (ip, port) in JupyterHub >= 0.7")
if spawner.api_token != api_token:
# Spawner re-used an API token, discard the unused api_token
orm_token = orm.APIToken.find(self.db, api_token)
if orm_token is not None:
self.db.delete(orm_token)
self.db.commit()
except Exception as e:
if isinstance(e, gen.TimeoutError):
self.log.warning("{user}'s server failed to start in {s} seconds, giving up".format(
@@ -310,14 +316,15 @@ class User(HasTraits):
self.state = spawner.get_state()
self.last_activity = datetime.utcnow()
# cleanup server entry, API token from defunct server
if self.server:
# cleanup server entry from db
self.db.delete(self.server)
orm_token = orm.APIToken.find(self.db, api_token)
if orm_token:
self.db.delete(orm_token)
for server in self.servers:
# cleanup servers entry from db
self.db.delete(server)
if not spawner.will_resume:
# find and remove the API token if the spawner isn't
# going to re-use it next time
orm_token = orm.APIToken.find(self.db, api_token)
if orm_token:
self.db.delete(orm_token)
self.db.commit()
finally:
self.stop_pending = False