[galaxy-dev] nginx upload - traceback

2014-03-12 Thread Langhorst, Brad
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.comhttp://duckduckgo.com|utmccn=(referral)|utmcmd=referral|utmcct=/'
  HTTP_DNT: '1'
  HTTP_HOST: 'galaxy.neb.comhttp://galaxy.neb.com'
  HTTP_ORIGIN: 'http://galaxy.neb.com'
  HTTP_REFERER: 'http://galaxy.neb.com/'
  HTTP_REMOTE_USER: 'langho...@neb.commailto:langho...@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.comhttp://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.comhttp://duckduckgo.com|utmccn=(referral)|utmcmd=referral|utmcct=/'
 

[galaxy-dev] nginx upload

2014-02-13 Thread Briand, Sheldon
Hi,

I'm trying to debug file uploads using the file browser.  I have nginx setup to 
proxy but not to a sub directory.
/usr/sbin/nginx -V
nginx version: nginx/1.4.3
--add-module=/usr/local/src/nginx_upload_module-2.2.0

Here are the settings in my universe_wsgi.ini:
nginx_upload_store = database/tmp/upload_store
nginx_upload_path = /_upload



Here is the nginx config:

user  galaxy;
worker_processes  1;
events {
worker_connections  1024;
}


http {
include   /etc/nginx/mime.types;
default_type  application/octet-stream;

gzip  on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 4;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml applicatio$
gzip_buffers 16 8k;
gzip_disable MSIE [1-6].(?!.*SV1);


upstream galaxy_app {
  server localhost:8080;
}

log_format  main  '$remote_addr - $remote_user [$time_local] $request '
  '$status $body_bytes_sent $http_referer '
  '$http_user_agent $http_x_forwarded_for';

access_log  /var/log/nginx/access.log  main;
sendfileon;
keepalive_timeout  65;
server {
listen   80;
server_name  localhost eugene.imb.nrc.ca;
client_max_body_size 10G;

#charset koi8-r;
#access_log  /var/log/nginx/log/host.access.log  main;

location / {
  proxy_pass   http://galaxy_app;
  proxy_set_header   X-Forwarded-Host $host;
  proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}

location /static {
   alias /software/packages/galaxy/galaxy-dist/static;
   expires 24h;
}
location /static/style {
alias /software/packages/galaxy/galaxy-dist/static/june_2007_style/blue;
expires 24h;
}
location /static/scripts {
alias /software/packages/galaxy/galaxy-dist/static/scripts/packed;
}
location /favicon.ico {
alias /software/packages/galaxy/galaxy_dist/static/favicon.ico;
}
location /robots.txt {
alias /software/packages/galaxy/galaxy-dist/static/robots.txt;
}

location /_x_accel_redirect/ {
internal;
alias /;
}

location /_upload {
upload_store 
/software/packages/galaxy/galaxy-dist/database/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;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   /usr/share/nginx/html;
}

The upload store is on a NFS filesystem.  There is nothing in the nginx error 
log.  There is nothing in the paster log.  I've noticed that files start to be 
written to the upload store directory but get cut off by a refresh:
-234101252030936
Content-Disposition: form-data; name=refresh

refresh

The upload usually tries again ~10 times, unless manually cutoff earlier, 
before giving up.  The user usually sees that the data is uploading and that 
message never goes away.

I should mention that I have not yet upgraded to the latest release:
$ hg summary
parent: 11216:c458a0fe1ba8

I also have debug settings on for galaxy.

Likely some setting I've messed up.  I'd be grateful for a point in the right 
direction.  I've looked through the archives and googled  bunch without success.

I saw there have been changes to how the upload module works with nginx 1.3.9+. 
 Should I downgrade my nginx if the newer version don't play nicely with galaxy?

Thanks,
-Sheldon


Sheldon Briand
NRC Research Computing Support Analyst
Research Computing Support / Soutien Informartique a la Recherche
Operations, Science Portfolio / Operations, Portefeuil des sciences
SSC-NRC / SPC-CNRC
Rm 329A, 1411 Oxford Street / Piece 329A, 1411 Rue Oxford
Halifax, NS  B3H 3Z1
902 426-1677
sheldon.bri...@ssc-spc.gc.ca

___
Please keep all replies on the list by using reply all
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/

[galaxy-dev] Nginx upload configuration question

2012-04-11 Thread Bartlett G Ailey
Dear All,

 

When I turn on Nginx upload (as below) I get and error: 

 

Not Found

The resource cannot be found

No route for /data/database/tmp/upload_store

 

The nginx upload settings for universe.ini are:

 

# 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 = True

 

# 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 = /data/database/tmp/upload_store

 

The nginx.conf settings are: 

 

location /_upload {

upload_store /data/database/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;

}

}

 

If I comment out the 2 universe.ini settings above then the upload works
correctly.

 

I would appreciate any suggestions,

 

Yours Bart.

 

___
Please keep all replies on the list by using reply all
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

  http://lists.bx.psu.edu/