I’ve been trying to get the nxinx upload stuff working… I think i have the nginx config is working properly (files are present in the right spot with correct ownership and have correct content), but I see a traceback in the log (see below). I don’t see anything in the mail list search about this, so maybe I’ve done something wrong... — here’s are the relevant bits of my galaxy config file --- # nginx can also handle file uploads (user-to-Galaxy) via nginx_upload_module. # Configuration for this is complex and explained in detail in the # documentation linked above. The upload store is a temporary directory in # which files uploaded by the upload module will be placed. nginx_upload_store = /mnt/galaxy/data/galaxy/tmp/upload_store # This value overrides the action set on the file upload form, e.g. the web # path where the nginx_upload_module has been configured to intercept upload # requests. nginx_upload_path = /_upload ——nginx config —— #direct file uploads location /_upload { upload_store /mnt/galaxy/data/galaxy/tmp/upload_store; upload_pass_form_field ""; upload_set_form_field "__${upload_field_name}__is_composite" "true"; upload_set_form_field "__${upload_field_name}__keys" "name path"; upload_set_form_field "${upload_field_name}_name" "$upload_file_name"; upload_set_form_field "${upload_field_name}_path" "$upload_tmp_path"; upload_pass_args on; upload_pass /_upload_done; } location /_upload_done { set $dst /tool_runner/index; if ($args ~ nginx_redir=([^&]+)) { set $dst $1; } rewrite "" $dst; } Any ideas? Brad File '/mnt/galaxy/data/galaxy/galaxy-dist/lib/galaxy/web/framework/middleware/remoteuser.py', line 92 in __call__ return self.app( environ, start_response ) File '/mnt/galaxy/data/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpexceptions.py', line 633 in __call__ return self.application(environ, start_response) File '/mnt/galaxy/data/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 132 in __call__ return self.handle_request( environ, start_response ) File '/mnt/galaxy/data/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 190 in handle_request body = method( trans, **kwargs ) File '/mnt/galaxy/data/galaxy/galaxy-dist/lib/galaxy/webapps/galaxy/controllers/tool_runner.py', line 84 in index template, vars = tool.handle_input( trans, params.__dict__ ) File '/mnt/galaxy/data/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 1869 in handle_input self.update_state( trans, self.inputs_by_page[state.page], state.inputs, incoming, old_errors=old_errors or {}, source=source ) File '/mnt/galaxy/data/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 2263 in update_state current_case = input.get_current_case( value, trans ) File '/mnt/galaxy/data/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py', line 462 in get_current_case raise Exception( "No case matched value:", self.name, str_value ) Exception: ('No case matched value:', 'files_metadata', None) CGI Variables ------------- CONTENT_LENGTH: '-1' CONTENT_TYPE: 'multipart/form-data; boundary=----WebKitFormBoundaryfTsa16a7MJyYSF0i' HTTP_ACCEPT: 'application/json' HTTP_ACCEPT_ENCODING: 'gzip,deflate,sdch' HTTP_ACCEPT_LANGUAGE: 'en-US,en;q=0.8' HTTP_AUTHORIZATION: 'Basic bGFuZ2hvcnN0Om1pZWRoaWRsc2hhZmRv' HTTP_CACHE_CONTROL: 'no-cache' HTTP_CONNECTION: 'close' HTTP_COOKIE: 'galaxysession=dacacca08a0d5b7ec42fdebd408f7de21fe616408da7cc0a81d03a170f28a8adb286af52e48220be; __utma=171448127.504006193.1380078797.1392 167382.1394500277.13; __utmc=171448127; __utmz=171448127.1392167382.12.5.utmcsr=duckduckgo.com<http://duckduckgo.com>|utmccn=(referral)|utmcmd=referral|utmcct=/' HTTP_DNT: '1' HTTP_HOST: 'galaxy.neb.com<http://galaxy.neb.com>' HTTP_ORIGIN: 'http://galaxy.neb.com' HTTP_REFERER: 'http://galaxy.neb.com/' HTTP_REMOTE_USER: 'langhorst@neb.com<mailto:langhorst@neb.com>' HTTP_USER_AGENT: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36' HTTP_X_FORWARDED_FOR: '172.17.1.252' HTTP_X_FORWARDED_HOST: 'galaxy.neb.com<http://galaxy.neb.com>' HTTP_X_REQUESTED_WITH: 'XMLHttpRequest' ORGINAL_HTTP_HOST: 'galaxy_app' ORGINAL_REMOTE_ADDR: '127.0.0.1' PATH_INFO: '/tool_runner/index' REMOTE_ADDR: '172.17.1.252' REQUEST_METHOD: 'POST' SERVER_NAME: '127.0.0.1' SERVER_PORT: '8080' SERVER_PROTOCOL: 'HTTP/1.0' WSGI Variables -------------- application: <paste.recursive.RecursiveMiddleware object at 0x98d8cd0> is_api_request: False paste.cookies: (<SimpleCookie: __utma='171448127.504006193.1380078797.1392167382.1394500277.13' __utmc='171448127' __utmz='171448127.1392167382.12.5.utmcsr=duckduckgo.com<http://duckduckgo.com>|utmccn=(referral)|utmcmd=referral|utmcct=/' galaxysession='dacacca08a0d5b7ec42fdebd408f7de21fe616408da7cc0a81d03a170f28a8adb286af52e48220be'>, 'galaxysession=dacacca08a0d5b7ec42fdebd408f7de21fe616408da7cc0a81d03a170f28a8adb286af52e48220be; __utma=171448127.504006193.1380078797.1392167382.1394500277.13; __utmc=171448127; __utmz=171448127.1392167382.12.5.utmcsr=duckduckgo.com<http://duckduckgo.com>|utmccn=(referral)|utmcmd=referral|utmcct=/') paste.expected_exceptions: [<class 'paste.httpexceptions.HTTPException'>] paste.httpexceptions: <paste.httpexceptions.HTTPExceptionHandler object at 0x98d8ad0> paste.httpserver.thread_pool: <paste.httpserver.ThreadPool object at 0x9c3ed50> paste.recursive.forward: <paste.recursive.Forwarder from /> paste.recursive.include: <paste.recursive.Includer from /> paste.recursive.include_app_iter: <paste.recursive.IncluderAppIter from /> paste.recursive.script_name: '' paste.throw_errors: True request_id: '6193e9a2a9db11e388e10050568436c1' webob._parsed_post_vars: (MultiDict([('history_id', '792704c2cfd232ef'), ('tool_id', 'upload1'), ('inputs', '{"dbkey":"?","file_type":"auto","files_0|type":"upload_dataset","files_0|url_paste":"","space_to_tabs":false}'), ('__files_0|file_data__is_composite', 'true'), ('__files_0|file_data__keys', 'name path'), ('files_0|file_data_name', 'seq_elements2.txt'), ('files_0|file_data_path', '/mnt/galaxy/data/galaxy/tmp/upload_store/0000000004')]), <FakeCGIBody at 7f4f001a8c90 viewing MultiDict([('hi...4')])>) webob._parsed_query_vars: (MultiDict([]), '') wsgi process: 'Multithreaded' ------------------------------------------------------------ -- Brad Langhorst, Ph.D. Applications and Product Development Scientist