1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/cdd8b8a66a98/
changeset: cdd8b8a66a98
user: dannon
date: 2013-02-06 03:55:12
summary: Cloudlaunch: During bucket scanning, catch S3ResponseError. Boto should handle this better in future versions, but for now this can happen if a non-us bucket is accessed.
affected #: 1 file
diff -r 022fd520c8ec2eee6221c44213c034be504735b8 -r cdd8b8a66a980d1761e47f9202114fbcfd218cf7 lib/galaxy/webapps/galaxy/controllers/cloudlaunch.py
--- a/lib/galaxy/webapps/galaxy/controllers/cloudlaunch.py
+++ b/lib/galaxy/webapps/galaxy/controllers/cloudlaunch.py
@@ -19,7 +19,7 @@
from galaxy.web.base.controller import BaseUIController
from galaxy.util.json import to_json_string
from boto.ec2.regioninfo import RegionInfo
-from boto.exception import EC2ResponseError
+from boto.exception import EC2ResponseError, S3ResponseError
from boto.s3.connection import OrdinaryCallingFormat, S3Connection
log = logging.getLogger(__name__)
@@ -28,6 +28,7 @@
DEFAULT_KEYPAIR = 'cloudman_keypair'
DEFAULT_AMI = 'ami-da58aab3'
+
class CloudController(BaseUIController):
def __init__(self, app):
@@ -55,7 +56,12 @@
buckets = s3_conn.get_all_buckets()
clusters = []
for bucket in buckets:
- pd = bucket.get_key('persistent_data.yaml')
+ try:
+ pd = bucket.get_key('persistent_data.yaml')
+ except S3ResponseError, e:
+ # This can fail for a number of reasons for non-us and/or CNAME'd buckets.
+ log.error("Problem fetching persistent_data.yaml from bucket: %s \n%s" % (e, e.body))
+ continue
if pd:
# This is a cloudman bucket.
# We need to get persistent data, and the cluster name.
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/ddc3b1579121/
changeset: ddc3b1579121
user: dannon
date: 2013-02-06 03:11:32
summary: Allow dynamic_options to use $__user_email__ as a filter_value. This would enable tools to use dynamic options defined in a file listing user_specific options for a tool (file paths, etc).
affected #: 1 file
diff -r 6ff0b52b5850733ed05c06790b351a2bdf66de48 -r ddc3b1579121233cec5b4c6717d43c97ddc040bc lib/galaxy/tools/parameters/dynamic_options.py
--- a/lib/galaxy/tools/parameters/dynamic_options.py
+++ b/lib/galaxy/tools/parameters/dynamic_options.py
@@ -53,8 +53,14 @@
self.keep = string_as_bool( elem.get( "keep", 'True' ) )
def filter_options( self, options, trans, other_values ):
rval = []
+ filter_value = self.value
+ try:
+ if trans.user.email:
+ filter_value = filter_value.replace('$__user_email__',trans.user.email)
+ except:
+ pass
for fields in options:
- if ( self.keep and fields[self.column] == self.value ) or ( not self.keep and fields[self.column] != self.value ):
+ if ( self.keep and fields[self.column] == filter_value ) or ( not self.keep and fields[self.column] != filter_value ):
rval.append( fields )
return rval
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/2b6800bbce75/
changeset: 2b6800bbce75
user: jgoecks
date: 2013-02-05 20:28:28
summary: Add 'log' level for stdio inspection.
affected #: 1 file
diff -r 2b7503087b4c2520bd6d7639d07933f960281792 -r 2b6800bbce751d434c9b22783a47de0ce522e355 lib/galaxy/tools/__init__.py
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -49,10 +49,16 @@
# that warning < fatal. This is really meant to just be an enum.
class StdioErrorLevel( object ):
NO_ERROR = 0
- WARNING = 1
- FATAL = 2
- MAX = 2
- descs = {NO_ERROR : 'No error', WARNING : 'Warning', FATAL : 'Fatal error'}
+ LOG = 1
+ WARNING = 2
+ FATAL = 3
+ MAX = 3
+ descs = {
+ NO_ERROR : 'No error',
+ LOG: 'Log',
+ WARNING : 'Warning',
+ FATAL : 'Fatal error'
+ }
@staticmethod
def desc( error_level ):
err_msg = "Unknown error"
@@ -1377,19 +1383,15 @@
# TODO: This method doesn't have to be part of the Tool class.
def parse_error_level( self, err_level ):
"""
- Return fatal or warning depending on what's in the error level.
- This will assume that the error level fatal is returned if it's
- unparsable.
+ Parses error level and returns error level enumeration. If
+ unparsable, returns 'fatal'
"""
- # What should the default be? I'm claiming it should be fatal:
- # if you went to the trouble to write the rule, then it's
- # probably a problem. I think there are easily three substantial
- # camps: make it fatal, make it a warning, or, if it's missing,
- # just throw an exception and ignore the exit_code element.
return_level = StdioErrorLevel.FATAL
try:
- if ( None != err_level ):
- if ( re.search( "warning", err_level, re.IGNORECASE ) ):
+ if err_level:
+ if ( re.search( "log", err_level, re.IGNORECASE ) ):
+ return_level = StdioErrorLevel.LOG
+ elif ( re.search( "warning", err_level, re.IGNORECASE ) ):
return_level = StdioErrorLevel.WARNING
elif ( re.search( "fatal", err_level, re.IGNORECASE ) ):
return_level = StdioErrorLevel.FATAL
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/2b7503087b4c/
changeset: 2b7503087b4c
user: jgoecks
date: 2013-02-05 18:36:59
summary: Tool stdout/err checking: (a) add tool id to error message and (b) add support for specifying 'both' as an alias for searching both stdout and stderr, which matches the documentation.
affected #: 1 file
diff -r 7b96c5b684d1dbf142a7f9caf7dce76c217d9e09 -r 2b7503087b4c2520bd6d7639d07933f960281792 lib/galaxy/tools/__init__.py
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -1086,7 +1086,7 @@
else:
self.trackster_conf = None
def parse_inputs( self, root ):
- r"""
+ """
Parse the "<inputs>" element and create appropriate `ToolParameter`s.
This implementation supports multiple pages and grouping constructs.
"""
@@ -1352,14 +1352,17 @@
# and anything to do with "err". If neither stdout nor
# stderr were specified, then raise a warning and scan both.
for src in src_list:
+ if re.search( "both", src, re.IGNORECASE ):
+ regex.stdout_match = True
+ regex.stderr_match = True
if re.search( "out", src, re.IGNORECASE ):
regex.stdout_match = True
if re.search( "err", src, re.IGNORECASE ):
regex.stderr_match = True
if (not regex.stdout_match and not regex.stderr_match):
- log.warning( "Unable to determine if tool stream "
- + "source scanning is output, error, "
- + "or both. Defaulting to use both." )
+ log.warning( "Tool id %s: unable to determine if tool "
+ "stream source scanning is output, error, "
+ "or both. Defaulting to use both." % self.id )
regex.stdout_match = True
regex.stderr_match = True
self.stdio_regexes.append( regex )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/7b96c5b684d1/
changeset: 7b96c5b684d1
user: james_taylor
date: 2013-02-05 05:30:32
summary: eggs: Update Paste and PasteDeploy
affected #: 1 file
diff -r 3720c0455a436c9812d8ccb8577fd042c59b2048 -r 7b96c5b684d1dbf142a7f9caf7dce76c217d9e09 eggs.ini
--- a/eggs.ini
+++ b/eggs.ini
@@ -46,8 +46,8 @@
nose = 0.11.1
NoseHTML = 0.4.1
NoseTestDiff = 0.1
-Paste = 1.6
-PasteDeploy = 1.3.3
+Paste = 1.7.5.1
+PasteDeploy = 1.5.0
pexpect = 2.4
python_openid = 2.2.5
python_daemon = 1.5.5
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/3720c0455a43/
changeset: 3720c0455a43
user: james_taylor
date: 2013-02-05 00:07:04
summary: logging: If sentry is configured attach to the root logger no matter how logging was originally configured
affected #: 1 file
diff -r 0856c4a75c92c56f54028f72502ce0ceb55b2e11 -r 3720c0455a436c9812d8ccb8577fd042c59b2048 lib/galaxy/config.py
--- a/lib/galaxy/config.py
+++ b/lib/galaxy/config.py
@@ -401,36 +401,34 @@
"""
Allow some basic logging configuration to be read from ini file.
"""
- # PasteScript will have already configured the logger if the appropriate
- # sections were found in the config file, so we do nothing if the
- # config has a loggers section, otherwise we do some simple setup
- # using the 'log_*' values from the config.
- if config.global_conf_parser.has_section( "loggers" ):
- return
- format = config.get( "log_format", "%(name)s %(levelname)s %(asctime)s %(message)s" )
- level = logging._levelNames[ config.get( "log_level", "DEBUG" ) ]
- destination = config.get( "log_destination", "stdout" )
- log.info( "Logging at '%s' level to '%s'" % ( level, destination ) )
# Get root logger
root = logging.getLogger()
- # Set level
- root.setLevel( level )
- # Turn down paste httpserver logging
- if level <= logging.DEBUG:
- logging.getLogger( "paste.httpserver.ThreadPool" ).setLevel( logging.WARN )
- # Remove old handlers
- for h in root.handlers[:]:
- root.removeHandler(h)
- # Create handler
- if destination == "stdout":
- handler = logging.StreamHandler( sys.stdout )
- else:
- handler = logging.FileHandler( destination )
- # Create formatter
- formatter = logging.Formatter( format )
- # Hook everything up
- handler.setFormatter( formatter )
- root.addHandler( handler )
+ # PasteScript will have already configured the logger if the
+ # 'loggers' section was found in the config file, otherwise we do
+ # some simple setup using the 'log_*' values from the config.
+ if not config.global_conf_parser.has_section( "loggers" ):
+ format = config.get( "log_format", "%(name)s %(levelname)s %(asctime)s %(message)s" )
+ level = logging._levelNames[ config.get( "log_level", "DEBUG" ) ]
+ destination = config.get( "log_destination", "stdout" )
+ log.info( "Logging at '%s' level to '%s'" % ( level, destination ) )
+ # Set level
+ root.setLevel( level )
+ # Turn down paste httpserver logging
+ if level <= logging.DEBUG:
+ logging.getLogger( "paste.httpserver.ThreadPool" ).setLevel( logging.WARN )
+ # Remove old handlers
+ for h in root.handlers[:]:
+ root.removeHandler(h)
+ # Create handler
+ if destination == "stdout":
+ handler = logging.StreamHandler( sys.stdout )
+ else:
+ handler = logging.FileHandler( destination )
+ # Create formatter
+ formatter = logging.Formatter( format )
+ # Hook everything up
+ handler.setFormatter( formatter )
+ root.addHandler( handler )
# If sentry is configured, also log to it
if config.sentry_dsn:
pkg_resources.require( "raven" )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/0856c4a75c92/
changeset: 0856c4a75c92
user: greg
date: 2013-02-04 21:22:53
summary: Uncomment temporary file cleanup block in tool shed functiona tests.
affected #: 1 file
diff -r b6be9c3a2d2df94f4d5236184a4392ec00961743 -r 0856c4a75c92c56f54028f72502ce0ceb55b2e11 test/tool_shed/functional_tests.py
--- a/test/tool_shed/functional_tests.py
+++ b/test/tool_shed/functional_tests.py
@@ -392,18 +392,18 @@
galaxyapp.shutdown()
galaxyapp = None
log.info( "Embedded galaxy application stopped" )
-# if 'TOOL_SHED_TEST_NO_CLEANUP' not in os.environ:
-# try:
-# for dir in [ tool_shed_test_tmp_dir ]:
-# if os.path.exists( dir ):
-# log.info( "Cleaning up temporary files in %s" % dir )
-# shutil.rmtree( dir )
-# except:
-# pass
-# if success:
-# return 0
-# else:
-# return 1
+ if 'TOOL_SHED_TEST_NO_CLEANUP' not in os.environ:
+ try:
+ for dir in [ tool_shed_test_tmp_dir ]:
+ if os.path.exists( dir ):
+ log.info( "Cleaning up temporary files in %s" % dir )
+ shutil.rmtree( dir )
+ except:
+ pass
+ if success:
+ return 0
+ else:
+ return 1
if __name__ == "__main__":
sys.exit( main() )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.