From 48c819b4224e3d17d6742da498a5541a3bbe4182 Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Sun, 19 May 2019 11:33:10 -0700 Subject: [PATCH 1/3] Limit memory available in integration tests This helps us catch times where our minimum recommended VM size (512MB?) is too little for TLJH to install or run. Ref #257 --- .circleci/integration-test.py | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/integration-test.py b/.circleci/integration-test.py index 18dbeeb..465d659 100755 --- a/.circleci/integration-test.py +++ b/.circleci/integration-test.py @@ -29,6 +29,7 @@ def run_systemd_image(image_name, container_name): '--mount', 'type=bind,source=/sys/fs/cgroup,target=/sys/fs/cgroup', '--detach', '--name', container_name, + '--memory', '512M', # This is the minimum VM size we support image_name ]) From 2c2a4d9b41cb7952f40e72bb5a5ad8c86b4a97d4 Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Sun, 19 May 2019 12:16:40 -0700 Subject: [PATCH 2/3] Try setting minimum required RAM to 768M 512MB is too little for installing jupyterlab extensions :'( --- .circleci/integration-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/integration-test.py b/.circleci/integration-test.py index 465d659..f55bf1d 100755 --- a/.circleci/integration-test.py +++ b/.circleci/integration-test.py @@ -29,7 +29,7 @@ def run_systemd_image(image_name, container_name): '--mount', 'type=bind,source=/sys/fs/cgroup,target=/sys/fs/cgroup', '--detach', '--name', container_name, - '--memory', '512M', # This is the minimum VM size we support + '--memory', '768M', # This is the minimum VM size we support image_name ]) From b259bedab34ca6636c5e2d671368421daaa246e7 Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Sun, 19 May 2019 13:08:15 -0700 Subject: [PATCH 3/3] Document our minimum RAM requirement --- .circleci/integration-test.py | 5 ++++- docs/howto/admin/resource-estimation.rst | 3 ++- docs/install/amazon.rst | 3 ++- docs/install/custom-server.rst | 1 + docs/install/google.rst | 2 +- docs/install/jetstream.rst | 1 + 6 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.circleci/integration-test.py b/.circleci/integration-test.py index f55bf1d..7366c2f 100755 --- a/.circleci/integration-test.py +++ b/.circleci/integration-test.py @@ -29,7 +29,10 @@ def run_systemd_image(image_name, container_name): '--mount', 'type=bind,source=/sys/fs/cgroup,target=/sys/fs/cgroup', '--detach', '--name', container_name, - '--memory', '768M', # This is the minimum VM size we support + # This is the minimum VM size we support. JupyterLab extensions seem + # to need at least this much RAM to build. Boo? + # If we change this, need to change all other references to this number. + '--memory', '768M', image_name ]) diff --git a/docs/howto/admin/resource-estimation.rst b/docs/howto/admin/resource-estimation.rst index 74bd077..d9ee944 100644 --- a/docs/howto/admin/resource-estimation.rst +++ b/docs/howto/admin/resource-estimation.rst @@ -12,7 +12,8 @@ Memory ====== Memory is usually the biggest determinant of server size in most JupyterHub -installations. +installations. At minimum, your server must have at least **768MB** of RAM +for TLJH to install. .. math:: diff --git a/docs/install/amazon.rst b/docs/install/amazon.rst index 184fd79..3b0981d 100644 --- a/docs/install/amazon.rst +++ b/docs/install/amazon.rst @@ -78,7 +78,8 @@ Let's create the server on which we can run JupyterHub. `Next: Configure Instance Details` in the lower right corner. Check out our guide on How To :ref:`howto/admin/resource-estimation` to help pick - how much Memory / CPU your server needs. + how much Memory / CPU your server needs. You need to have at least **768MB** of + RAM. You may wish to consult the listing `here `_ because it shows cost per hour. The **On Demand** price is the pertinent cost. diff --git a/docs/install/custom-server.rst b/docs/install/custom-server.rst index 651abce..9a8af09 100644 --- a/docs/install/custom-server.rst +++ b/docs/install/custom-server.rst @@ -22,6 +22,7 @@ Pre-requisites #. Some familiarity with the command line. #. A server running Ubuntu 18.04 where you have root access. +#. At least **768MB** of RAM on your server. #. Ability to ``ssh`` into the server & run commands from the prompt. #. A **IP address** where the server can be reached from the browsers of your target audience. diff --git a/docs/install/google.rst b/docs/install/google.rst index 0447cb5..c63a09f 100644 --- a/docs/install/google.rst +++ b/docs/install/google.rst @@ -69,7 +69,7 @@ Let's create the server on which we can run JupyterHub. #. For **Zone**, pick any of the options. Leaving the default as is is fine. #. Under **Machine** type, select the amount of CPU / RAM / GPU you want for your - server. + server. You need at least **768MB** of RAM. You can select a preset combination in the default **basic view**. diff --git a/docs/install/jetstream.rst b/docs/install/jetstream.rst index 3073b54..879018b 100644 --- a/docs/install/jetstream.rst +++ b/docs/install/jetstream.rst @@ -53,6 +53,7 @@ Let's create the server on which we can run JupyterHub. #. Give your server a descriptive **Instance Name**. #. Select an appropriate **Instance Size**. We suggest m1.medium or larger. + Make sure your instance has at least **768MB** of RAM. Check out our guide on How To :ref:`howto/admin/resource-estimation` to help pick how much Memory, CPU & disk space your server needs.