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|utmccn=(referral)|utmcmd=referral|utmcct=/'
  HTTP_DNT: '1'
  HTTP_HOST: 'galaxy.neb.com'
  HTTP_ORIGIN: 'http://galaxy.neb.com'
  HTTP_REFERER: 'http://galaxy.neb.com/'
  HTTP_REMOTE_USER: '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_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|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|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