From 7830ee8724f488e1ea3efe49a8557aed74114811 Mon Sep 17 00:00:00 2001 From: Eric Rasche Date: Fri, 26 Feb 2016 07:25:51 +0000 Subject: [PATCH] Address @mvdbeek's issues --- config/galaxy.ini.sample | 39 +++++++++++++++++++-------------------- lib/galaxy/config.py | 1 - 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/config/galaxy.ini.sample b/config/galaxy.ini.sample index df83500ed8c..4f8f368d52c 100644 --- a/config/galaxy.ini.sample +++ b/config/galaxy.ini.sample @@ -615,8 +615,9 @@ nglims_config_file = tool-data/nglims.yaml # implementation, alongside a new Golang single-binary-no-dependencies # version. Valid values are (node, golang) #dynamic_proxy=node -# Dynamic proxy can use an SQLite database or a JSON file for IPC, set that -# here. +# +# The NodeJS dynamic proxy can use an SQLite database or a JSON file for IPC, +# set that here. #dynamic_proxy_session_map=database/session_map.sqlite # Set the port and IP for the the dynamic proxy to bind to, this must match @@ -637,30 +638,28 @@ nglims_config_file = tool-data/nglims.yaml # https://FQDN/galaxy-prefix/gie_proxy for proxying #dynamic_proxy_prefix=gie_proxy -# The Golang proxy has a large number of extra options which were not available -# to the NodeJS proxy, as the Golang proxy takes over container management itself. -# This should actually be a preferrable situation, as there will be less hackery -# required in GIE configs. +# The Golang proxy also manages the docker containers more closely than the +# NodeJS proxy, so is able to expose more container management related options -# The length of time a container isn't accessed, before it is culled. -# Previously, individual containers set their own time limit before killing -# themselves. This made it harder for the administrator to centarlise configuration. -# Since the golang proxy manages the containers itself, and tracks when the last packet -# went through to a container, it has a much better idea of when the last connection was. -dynamic_proxy_golang_noaccess = 60 +# This attribute governs the minimum length of time between consecutive HTTP/WS +# requests through the proxy, before the proxy considers a container as being +# inactive and kills it. +#dynamic_proxy_golang_noaccess = 60 -# Given the noaccess time, the golang proxy checks regularly for containers -# which need to be removed. Every $clean_interval seconds, the proxy will check through its route list -# for all tracks which haven't been accessed in at least $noaccess seconds, and kill those. -dynamic_proxy_golang_clean_interval = 10 +# In order to kill containers, the golang proxy has to check at some interval +# for possibly dead containers. This is exposed as a configurable parameter, +# but the default value is probably fine. +#dynamic_proxy_golang_clean_interval = 10 -# The golang proxy needs to know how to talk to your docker daemon -dynamic_proxy_golang_docker_address = unix:///var/run/docker.sock +# The golang proxy needs to know how to talk to your docker daemon. Currently +# TLS is not supported, that will come in an update. +#dynamic_proxy_golang_docker_address = unix:///var/run/docker.sock # The golang proxy uses a RESTful HTTP API for communication with Galaxy # instead of a JSON or SQLite file for IPC. If you do not specify this, it will -# be set randomly for you. -dynamic_proxy_golang_api_key = password +# be set randomly for you. You should set this if you are managing the proxy +# manually. +#dynamic_proxy_golang_api_key = None # -- Logging and Debugging diff --git a/lib/galaxy/config.py b/lib/galaxy/config.py index 0ac87d9a595..f4fc22e09eb 100644 --- a/lib/galaxy/config.py +++ b/lib/galaxy/config.py @@ -467,7 +467,6 @@ class Configuration( object ): self.dynamic_proxy_golang_noaccess = kwargs.get( "dynamic_proxy_golang_noaccess", 60 ) self.dynamic_proxy_golang_clean_interval = kwargs.get( "dynamic_proxy_golang_clean_interval", 10 ) self.dynamic_proxy_golang_docker_address = kwargs.get( "dynamic_proxy_golang_docker_address", "unix:///var/run/docker.sock" ) - self.dynamic_proxy_golang_docker_address = kwargs.get( "dynamic_proxy_golang_docker_address", "unix:///var/run/docker.sock" ) self.dynamic_proxy_golang_api_key = kwargs.get( "dynamic_proxy_golang_api_key", None ) # Default chunk size for chunkable datatypes -- 64k