From 87422db3e605b03a21e6c31f24e87b73f561c617 Mon Sep 17 00:00:00 2001 From: Alexander Tiunov Date: Thu, 13 Apr 2017 23:18:25 +0300 Subject: [PATCH 1/4] minor fixes --- everware/image_handler.py | 4 ++-- everware/spawner.py | 28 +--------------------------- frontend_tests/normal_scenarios.py | 3 --- 3 files changed, 3 insertions(+), 32 deletions(-) diff --git a/everware/image_handler.py b/everware/image_handler.py index 16e2929..72a4f85 100644 --- a/everware/image_handler.py +++ b/everware/image_handler.py @@ -42,8 +42,8 @@ def block(self): return value def __enter__(self): - if self._exception is not None: - raise self._exception + # if self._exception is not None: + # raise self._exception return self def __exit__(self, exc_type, exc_value, traceback): diff --git a/everware/spawner.py b/everware/spawner.py index c929241..ef7d87c 100755 --- a/everware/spawner.py +++ b/everware/spawner.py @@ -323,33 +323,6 @@ def remove_old_container(self): self.log.info("Can't erase container %s due to %s" % (self.container_name, e)) @gen.coroutine - def wait_up(self): - # copied from jupyterhub, because if user's server didn't appear, it - # means that spawn was unsuccessful, need to set is_failed - try: - yield self.user.server.wait_up(http=True, timeout=self.http_timeout) - ip, port = yield self.get_ip_and_port() - self.user.server.ip = ip - self.user.server.port = port - self._is_up = True - except TimeoutError: - self._is_failed = True - self._add_to_log('Server never showed up after {} seconds'.format(self.http_timeout)) - self.log.info("{user}'s server never showed up after {timeout} seconds".format( - user=self.user.name, - timeout=self.http_timeout - )) - yield self.notify_about_fail("Http timeout limit %.3f exceeded" % self.http_timeout) - raise - except Exception as e: - self._is_failed = True - message = str(e) - self._add_to_log('Something went wrong during waiting for server. Error: %s' % message) - yield self.notify_about_fail(message) - raise e - - - @gen.coroutine def start(self, image=None): """start the single-user server in a docker container""" self._user_log = [] @@ -534,3 +507,4 @@ def start(self, image=None, extra_create_kwargs=None): self.db.commit() self.log.info("{} was started on {} ({}:{})".format( self.container_name, node_name, self.user.server.ip, self.user.server.port)) + return self.user.server.ip, self.user.server.port diff --git a/frontend_tests/normal_scenarios.py b/frontend_tests/normal_scenarios.py index 7d141f7..07b3279 100644 --- a/frontend_tests/normal_scenarios.py +++ b/frontend_tests/normal_scenarios.py @@ -55,9 +55,6 @@ def scenario_timeout(user): user.log('correct, timeout happened') driver.find_element_by_id("resist").click() user.log("resist clicked") - commons.fill_repo_info(driver, user, 'https://github.com/everware/test_long_creation') - user.log("spawn clicked (second try)") - user.wait_for_element_present(By.ID, "resist") def scenario_no_dockerfile(user): From 23e4aeac3b3b4f5048e49ebc17da9c0903839131 Mon Sep 17 00:00:00 2001 From: Alexander Tiunov Date: Thu, 13 Apr 2017 23:38:02 +0300 Subject: [PATCH 2/4] remove from in yield --- everware/spawner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/everware/spawner.py b/everware/spawner.py index ef7d87c..27a7504 100755 --- a/everware/spawner.py +++ b/everware/spawner.py @@ -226,7 +226,7 @@ def wait_up(self): # means that spawn was unsuccessful, need to set is_failed try: yield self.user.server.wait_up(http=True, timeout=self.http_timeout) - ip, port = yield from self.get_ip_and_port() + ip, port = yield self.get_ip_and_port() self.user.server.ip = ip self.user.server.port = port self._is_up = True From 663c7bd19a8a46667962d246a53afa6e427827ef Mon Sep 17 00:00:00 2001 From: Alexander Tiunov Date: Fri, 14 Apr 2017 16:00:57 +0300 Subject: [PATCH 3/4] use -kill if -term didn't work --- build_tools/test_frontend.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build_tools/test_frontend.sh b/build_tools/test_frontend.sh index 06f5620..22d3d18 100755 --- a/build_tools/test_frontend.sh +++ b/build_tools/test_frontend.sh @@ -13,6 +13,10 @@ function kill_everware { echo "Stopping everware" pkill -TERM -f everware-server sleep $WAIT_FOR_STOP + if [[ ! -z `pgrep -f everware-server` ]] ; then + echo "Fail to stop with sigterm, killing" + pkill -KILL -f everware-server + fi } if [ -z "$UPLOADDIR" ] ; then From 59c9cf8bafc68a639b23e72898817c660956a058 Mon Sep 17 00:00:00 2001 From: Alexander Tiunov Date: Fri, 14 Apr 2017 16:43:38 +0300 Subject: [PATCH 4/4] wait after killing --- build_tools/test_frontend.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build_tools/test_frontend.sh b/build_tools/test_frontend.sh index 22d3d18..4b839a0 100755 --- a/build_tools/test_frontend.sh +++ b/build_tools/test_frontend.sh @@ -7,7 +7,7 @@ LOG="/tmp/frontend_test_hub.log" NPROC=2 TESTS_DIR="frontend_tests" WAIT_FOR_START=3 -WAIT_FOR_STOP=25 +WAIT_FOR_STOP=20 function kill_everware { echo "Stopping everware" @@ -16,6 +16,7 @@ function kill_everware { if [[ ! -z `pgrep -f everware-server` ]] ; then echo "Fail to stop with sigterm, killing" pkill -KILL -f everware-server + sleep $WAIT_FOR_STOP fi }