index.html

Report generated on 12-Dec-2019 at 21:54:52 by pytest-html v2.0.1

Environment

BITBUCKET_BUILD_NUMBER 132
BITBUCKET_CLONE_DIR /opt/atlassian/pipelines/agent/build
BITBUCKET_COMMIT e6773dacd3701608394bc885b784645a7747fc36
BITBUCKET_REPO_OWNER stefancountryman
BITBUCKET_REPO_OWNER_UUID {e97f2c46-17bd-4c19-9f75-a8048a1ef558}
BITBUCKET_REPO_SLUG multimessenger-pipeline
BITBUCKET_REPO_UUID {5314ffc6-3f72-4f8c-b3d6-6c65e25a0043}
BITBUCKET_TAG v3.4.16
CI true
Packages {'pytest': '5.3.1', 'py': '1.8.0', 'pluggy': '0.12.0'}
Platform Linux-4.19.78-coreos-x86_64-with-debian-9.11
Plugins {'profiling': '1.7.0', 'html': '2.0.1', 'metadata': '1.8.0', 'cov': '2.8.1', 'arraydiff': '0.3', 'astropy-header': '0.1.1', 'remotedata': '0.3.1', 'openfiles': '0.4.0', 'doctestplus': '0.4.0'}
Python 3.7.5

Summary

62 tests ran in 32.46 seconds.

50 passed, 0 skipped, 12 failed, 0 errors, 0 expected failures, 0 unexpected passes

Results

Result Test Duration Links
Failed com/gracedb/__init__.py::llama.com.gracedb.GraceDb 0.00
272 renewal. The path to the new/renewed certificate **must** be the
273 same as for the old certificate.
274 reload_buffer (:obj:`int`, optional): buffer (in seconds) for reloading
275 a certificate in advance of its expiration. Only used if
276 ``reload_certificate`` is ``True``.
277
278 Examples:
279 Instantiate a client to use the production GraceDB server:
280
281 >>> g = GraceDb()
UNEXPECTED EXCEPTION: RuntimeError('No authentication credentials found.')
Traceback (most recent call last):

File "/opt/anaconda/lib/python3.7/doctest.py", line 1329, in __run
compileflags, 1), test.globs)

File "<doctest llama.com.gracedb.GraceDb[0]>", line 1, in <module>

File "/opt/anaconda/lib/python3.7/site-packages/llama/com/gracedb/__init__.py", line 258, in __init__
super().__init__(*args, fail_if_noauth=fail_if_noauth, **kwargs)

File "/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py", line 663, in __init__
reload_certificate=reload_certificate, reload_buffer=reload_buffer

File "/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py", line 203, in __init__
raise RuntimeError('No authentication credentials found.')

RuntimeError: No authentication credentials found.

/opt/anaconda/lib/python3.7/site-packages/llama/com/gracedb/__init__.py:281: UnexpectedException
Failed dev/upload/__init__.py::llama.dev.upload.upload_and_get_manifest 0.23
094 directory to confirm that you have access rights.
095
096 >>> # coding: utf-8
097 >>> import os
098 >>> from llama.dev.upload import upload_and_get_manifest
099 >>> from tempfile import TemporaryDirectory
100 >>> from pathlib import Path
101 >>> from requests import get
102 >>> from hashlib import sha256
103 >>> with TemporaryDirectory() as tmpdirpath:
UNEXPECTED EXCEPTION: S3UploadFailedError('Failed to upload /tmp/tmp8s9z0fyt/foo to test/llama/dev/upload/fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9: An error occurred (NoSuchBucket) when calling the PutObject operation: Unknown')
Traceback (most recent call last):

File "/opt/anaconda/lib/python3.7/site-packages/boto3/s3/transfer.py", line 279, in upload_file
future.result()

File "/opt/anaconda/lib/python3.7/site-packages/s3transfer/futures.py", line 73, in result
return self._coordinator.result()

File "/opt/anaconda/lib/python3.7/site-packages/s3transfer/futures.py", line 233, in result
raise self._exception

File "/opt/anaconda/lib/python3.7/site-packages/s3transfer/tasks.py", line 126, in __call__
return self._execute_main(kwargs)

File "/opt/anaconda/lib/python3.7/site-packages/s3transfer/tasks.py", line 150, in _execute_main
return_value = self._main(**kwargs)

File "/opt/anaconda/lib/python3.7/site-packages/s3transfer/upload.py", line 692, in _main
client.put_object(Bucket=bucket, Key=key, Body=body, **extra_args)

File "/opt/anaconda/lib/python3.7/site-packages/botocore/client.py", line 324, in _api_call
return self._make_api_call(operation_name, kwargs)

File "/opt/anaconda/lib/python3.7/site-packages/botocore/client.py", line 622, in _make_api_call
raise error_class(parsed_response, operation_name)

botocore.errorfactory.NoSuchBucket: An error occurred (NoSuchBucket) when calling the PutObject operation: Unknown


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

File "/opt/anaconda/lib/python3.7/doctest.py", line 1329, in __run
compileflags, 1), test.globs)

File "<doctest llama.dev.upload.upload_and_get_manifest[6]>", line 9, in <module>

File "/opt/anaconda/lib/python3.7/site-packages/llama/dev/upload/__init__.py", line 142, in upload_and_get_manifest
**kwargs)

File "/opt/anaconda/lib/python3.7/site-packages/llama/com/s3/__init__.py", line 143, in upload_file
client.upload_file(filename, bucket, key)

File "/opt/anaconda/lib/python3.7/site-packages/boto3/s3/inject.py", line 110, in upload_file
extra_args=ExtraArgs, callback=Callback)

File "/opt/anaconda/lib/python3.7/site-packages/boto3/s3/transfer.py", line 287, in upload_file
filename, '/'.join([bucket, key]), e))

boto3.exceptions.S3UploadFailedError: Failed to upload /tmp/tmp8s9z0fyt/foo to test/llama/dev/upload/fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9: An error occurred (NoSuchBucket) when calling the PutObject operation: Unknown

/opt/anaconda/lib/python3.7/site-packages/llama/dev/upload/__init__.py:103: UnexpectedException
Failed files/lvc_skymap/utils.py::llama.files.lvc_skymap.utils.SkymapFilename.canonicalize 0.00
126 ``ligo.gracedb.rest.HTTPError`` if a GraceDB query fails to connect.
127
128 For this event, a second version (v1) of ``bayestar.fits`` was created
129 at 2019-05-10 04:03:40 UTC; canonicalizing at an earlier date should
130 return v0 (the original) while a later date should return v1 (the
131 update):
132
133 >>> from dateutil.parser import parse
134 >>> skymap = SkymapFilename("bayestar.fits")
135 >>> skymap.canonicalize("S190510g", parse("2019-05-10 04:03:30 UTC"))
UNEXPECTED EXCEPTION: RuntimeError('No authentication credentials found.')
Traceback (most recent call last):

File "/opt/anaconda/lib/python3.7/doctest.py", line 1329, in __run
compileflags, 1), test.globs)

File "<doctest llama.files.lvc_skymap.utils.SkymapFilename.canonicalize[2]>", line 1, in <module>

File "/opt/anaconda/lib/python3.7/site-packages/llama/files/lvc_skymap/utils.py", line 160, in canonicalize
logs = GraceDb().logs(graceid).json()['log']

File "/opt/anaconda/lib/python3.7/site-packages/llama/com/gracedb/__init__.py", line 258, in __init__
super().__init__(*args, fail_if_noauth=fail_if_noauth, **kwargs)

File "/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py", line 663, in __init__
reload_certificate=reload_certificate, reload_buffer=reload_buffer

File "/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py", line 203, in __init__
raise RuntimeError('No authentication credentials found.')

RuntimeError: No authentication credentials found.

/opt/anaconda/lib/python3.7/site-packages/llama/files/lvc_skymap/utils.py:135: UnexpectedException
Failed test/test_bin.py::TestS190412mSkymapInfoCliTest::test 0.02
self = <llama.test.test_bin.TestS190412mSkymapInfoCliTest object at 0x7f59a2b40290>

def test(self):
"""Run this test with ``execute`` and then check whether outputs are as
expected with ``compare``."""
with tempfile.TemporaryDirectory() as tmpdir:
print("CREATED TMPDIR FOR ", self.EVENTID, ": ", tmpdir)
self.run = Run(tmpdir)
print("SET self.run for ", self, " TO ", self.run)
self.provision()
print("PROVISIONED TMPDIR FOR ", self.EVENTID, ", CONTENTS: ",
os.listdir(tmpdir))
> self.execute()

/opt/anaconda/lib/python3.7/site-packages/llama/test/classes.py:135:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/anaconda/lib/python3.7/site-packages/llama/test/test_bin.py:175: in execute
run_on_args(cliargs=cmd)
/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__main__.py:105: in run_on_args
args.skymap)
/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__init__.py:134: in generate_from_gracedb_superevent
superevent = GraceDb().superevent(graceid).json()
/opt/anaconda/lib/python3.7/site-packages/llama/com/gracedb/__init__.py:258: in __init__
super().__init__(*args, fail_if_noauth=fail_if_noauth, **kwargs)
/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py:663: in __init__
reload_certificate=reload_certificate, reload_buffer=reload_buffer
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <llama.com.gracedb.GraceDb object at 0x7f59a2b47910>
url = 'https://gracedb.ligo.org/api/', proxy_host = None, proxy_port = 3128
cred = None, username = None, password = None, force_noauth = False
fail_if_noauth = True, reload_certificate = False, reload_buffer = 300

def __init__(self, url=DEFAULT_SERVICE_URL, proxy_host=None,
proxy_port=3128, cred=None, username=None, password=None,
force_noauth=False, fail_if_noauth=False,
reload_certificate=False, reload_buffer=300):
"""
url (:obj:`str`, optional): URL of server API
proxy_host (:obj:`str`, optional): proxy host
proxy_port (:obj:`str`, optional): proxy port
cred (:obj:`tuple` or :obj:`str, optional): a tuple or list of
(``/path/to/cert/file``, ``/path/to/key/file) or a single path to
a combined proxy file (if using an X.509 certificate for
authentication)
username (:obj:`str`, optional): username for basic auth
password (:obj:`str`, optional): password for basic auth
force_noauth (:obj:`bool`, optional): set to True if you want to skip
credential lookup and use this client as an unauthenticated user
fail_if_noauth (:obj:`bool`, optional): set to True if you want the
constructor to fail if no authentication credentials are provided
or found
reload_certificate (:obj:`bool`, optional): if ``True``, your
certificate will be checked before each request whether it is
within ``reload_buffer`` seconds of expiration, and if so, it will
be reloaded. Useful for processes which may live longer than the
certificate lifetime and have an automated method for certificate
renewal. The path to the new/renewed certificate **must** be the
same as for the old certificate.
reload_buffer (:obj:`int`, optional): buffer (in seconds) for reloading
a certificate in advance of its expiration. Only used if
``reload_certificate`` is ``True``.

Authentication details:
You can:
1. Provide a path to an X.509 certificate and key or a single
combined proxy file
2. Provide a username and password
Or:
The code will look for a certificate in a default location
(``/tmp/x509up_u%d``, where ``%d`` is your user ID)
The code will look for a username and password for the specified
server in ``$HOME/.netrc``
"""
# Process service URL
o = urlparse(url)
host = o.hostname
port = o.port or 443

# Store some of this information
self._server_host = host
self._server_port = port
self._proxy_host = proxy_host
self._proxy_port = proxy_port
self._reload_certificate = reload_certificate
self._reload_buffer = reload_buffer

# Store information about credentials and authentication type
self.credentials = {}
self.auth_type = None

# Fail if conflicting arguments: (fail if no auth, but force no auth)
if fail_if_noauth and force_noauth:
err_msg = ('You have provided conflicting parameters to the '
'client constructor: fail_if_noauth=True and '
'force_noauth=True.')
raise ValueError(err_msg)

# Try to get user-provided credentials, if we aren't forcing
# no authentication
if not force_noauth:
credentials_provided = self._process_credentials(
cred, username, password)

# If the user didn't provide credentials in the constructor,
# we try to look up the credentials
if not force_noauth and not credentials_provided:
# Look for X509 certificate and key
cred = self._find_x509_credentials()
if cred:
self.credentials['cert_file'], self.credentials['key_file'] = \
cred
self.auth_type = 'x509'
else:
# Look for basic auth credentials in .netrc file
try:
basic_auth_tuple = safe_netrc().authenticators(host)
except IOError:
# IOError = no .netrc file found, pass
pass
else:
# If credentials were found for host, set them up!
if basic_auth_tuple is not None:
self.credentials['username'] = basic_auth_tuple[0]
self.credentials['password'] = basic_auth_tuple[2]
self.auth_type = 'basic'

if (fail_if_noauth and not self.credentials):
> raise RuntimeError('No authentication credentials found.')
E RuntimeError: No authentication credentials found.

/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py:203: RuntimeError
------------------------------Captured stdout call------------------------------
CREATED TMPDIR FOR S190412m : /tmp/tmp66lq7bzb SET self.run for <llama.test.test_bin.TestS190412mSkymapInfoCliTest object at 0x7f59a2b40290> TO Run(rundir="/tmp/tmp66lq7bzb", pipeline="Pipeline(<['Advok', 'CoincScatterI3LvcPdf', 'CoincScatterI3LvcPng', 'CoincScatterZtfI3LvcPdf', 'CoincScatterZtfI3LvcPng', 'CoincScatterZtfLVCPdf', 'CoincScatterZtfLVCPng', 'CoincSignificanceI3Lvc', 'CoincSignificanceSubthresholdI3Lvc', 'CoincSummaryI3LvcPdf', 'CoincSummaryI3LvcTex', 'FermiGRBsJSON', 'IceCubeNeutrinoList', 'IceCubeNeutrinoListCoincTxt', 'IceCubeNeutrinoListTex', 'IceCubeNeutrinoListTxt', 'LVAlertAdvok', 'LVAlertJSON', 'LVCGraceDbEventData', 'LvcDistancesJson', 'LvcGcnXml', 'LvcRetractionXml', 'LvcSkymapFits', 'LvcSkymapHdf5', 'PAstro', 'RctSlkI3CoincSummaryI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPng', 'RctSlkLmaCoincScatterZtfI3LvcPdf', 'RctSlkLmaCoincScatterZtfI3LvcPng', 'RctSlkLmaCoincScatterZtfLVCPdf', 'RctSlkLmaCoincScatterZtfLVCPng', 'RctSlkLmaCoincSignificanceI3Lvc', 'RctSlkLmaCoincSignificanceSubthresholdI3Lvc', 'RctSlkLmaCoincSummaryI3LvcPdf', 'RctSlkLmaLVAlertJSON', 'RctSlkLmaLVCGraceDbEventData', 'RctSlkLmaLvcDistancesJson', 'RctSlkLmaLvcGcnXml', 'RctSlkLmaLvcRetractionXml', 'RctSlkLmaSkymapInfo', 'SkymapInfo', 'ZtfTriggerList']>)") PROVISIONED TMPDIR FOR S190412m , CONTENTS: []
Failed test/test_bin.py::TestS190412mSkymapInfoCliPublic::test 0.03
self = <llama.test.test_bin.TestS190412mSkymapInfoCliPublic object at 0x7f59a1877d10>

def test(self):
"""Run this test with ``execute`` and then check whether outputs are as
expected with ``compare``."""
with tempfile.TemporaryDirectory() as tmpdir:
print("CREATED TMPDIR FOR ", self.EVENTID, ": ", tmpdir)
self.run = Run(tmpdir)
print("SET self.run for ", self, " TO ", self.run)
self.provision()
print("PROVISIONED TMPDIR FOR ", self.EVENTID, ", CONTENTS: ",
os.listdir(tmpdir))
> self.execute()

/opt/anaconda/lib/python3.7/site-packages/llama/test/classes.py:135:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/anaconda/lib/python3.7/site-packages/llama/test/test_bin.py:175: in execute
run_on_args(cliargs=cmd)
/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__main__.py:105: in run_on_args
args.skymap)
/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__init__.py:134: in generate_from_gracedb_superevent
superevent = GraceDb().superevent(graceid).json()
/opt/anaconda/lib/python3.7/site-packages/llama/com/gracedb/__init__.py:258: in __init__
super().__init__(*args, fail_if_noauth=fail_if_noauth, **kwargs)
/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py:663: in __init__
reload_certificate=reload_certificate, reload_buffer=reload_buffer
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <llama.com.gracedb.GraceDb object at 0x7f59a2d98290>
url = 'https://gracedb.ligo.org/api/', proxy_host = None, proxy_port = 3128
cred = None, username = None, password = None, force_noauth = False
fail_if_noauth = True, reload_certificate = False, reload_buffer = 300

def __init__(self, url=DEFAULT_SERVICE_URL, proxy_host=None,
proxy_port=3128, cred=None, username=None, password=None,
force_noauth=False, fail_if_noauth=False,
reload_certificate=False, reload_buffer=300):
"""
url (:obj:`str`, optional): URL of server API
proxy_host (:obj:`str`, optional): proxy host
proxy_port (:obj:`str`, optional): proxy port
cred (:obj:`tuple` or :obj:`str, optional): a tuple or list of
(``/path/to/cert/file``, ``/path/to/key/file) or a single path to
a combined proxy file (if using an X.509 certificate for
authentication)
username (:obj:`str`, optional): username for basic auth
password (:obj:`str`, optional): password for basic auth
force_noauth (:obj:`bool`, optional): set to True if you want to skip
credential lookup and use this client as an unauthenticated user
fail_if_noauth (:obj:`bool`, optional): set to True if you want the
constructor to fail if no authentication credentials are provided
or found
reload_certificate (:obj:`bool`, optional): if ``True``, your
certificate will be checked before each request whether it is
within ``reload_buffer`` seconds of expiration, and if so, it will
be reloaded. Useful for processes which may live longer than the
certificate lifetime and have an automated method for certificate
renewal. The path to the new/renewed certificate **must** be the
same as for the old certificate.
reload_buffer (:obj:`int`, optional): buffer (in seconds) for reloading
a certificate in advance of its expiration. Only used if
``reload_certificate`` is ``True``.

Authentication details:
You can:
1. Provide a path to an X.509 certificate and key or a single
combined proxy file
2. Provide a username and password
Or:
The code will look for a certificate in a default location
(``/tmp/x509up_u%d``, where ``%d`` is your user ID)
The code will look for a username and password for the specified
server in ``$HOME/.netrc``
"""
# Process service URL
o = urlparse(url)
host = o.hostname
port = o.port or 443

# Store some of this information
self._server_host = host
self._server_port = port
self._proxy_host = proxy_host
self._proxy_port = proxy_port
self._reload_certificate = reload_certificate
self._reload_buffer = reload_buffer

# Store information about credentials and authentication type
self.credentials = {}
self.auth_type = None

# Fail if conflicting arguments: (fail if no auth, but force no auth)
if fail_if_noauth and force_noauth:
err_msg = ('You have provided conflicting parameters to the '
'client constructor: fail_if_noauth=True and '
'force_noauth=True.')
raise ValueError(err_msg)

# Try to get user-provided credentials, if we aren't forcing
# no authentication
if not force_noauth:
credentials_provided = self._process_credentials(
cred, username, password)

# If the user didn't provide credentials in the constructor,
# we try to look up the credentials
if not force_noauth and not credentials_provided:
# Look for X509 certificate and key
cred = self._find_x509_credentials()
if cred:
self.credentials['cert_file'], self.credentials['key_file'] = \
cred
self.auth_type = 'x509'
else:
# Look for basic auth credentials in .netrc file
try:
basic_auth_tuple = safe_netrc().authenticators(host)
except IOError:
# IOError = no .netrc file found, pass
pass
else:
# If credentials were found for host, set them up!
if basic_auth_tuple is not None:
self.credentials['username'] = basic_auth_tuple[0]
self.credentials['password'] = basic_auth_tuple[2]
self.auth_type = 'basic'

if (fail_if_noauth and not self.credentials):
> raise RuntimeError('No authentication credentials found.')
E RuntimeError: No authentication credentials found.

/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py:203: RuntimeError
------------------------------Captured stdout call------------------------------
CREATED TMPDIR FOR S190412m : /tmp/tmpujmrjagn SET self.run for <llama.test.test_bin.TestS190412mSkymapInfoCliPublic object at 0x7f59a1877d10> TO Run(rundir="/tmp/tmpujmrjagn", pipeline="Pipeline(<['Advok', 'CoincScatterI3LvcPdf', 'CoincScatterI3LvcPng', 'CoincScatterZtfI3LvcPdf', 'CoincScatterZtfI3LvcPng', 'CoincScatterZtfLVCPdf', 'CoincScatterZtfLVCPng', 'CoincSignificanceI3Lvc', 'CoincSignificanceSubthresholdI3Lvc', 'CoincSummaryI3LvcPdf', 'CoincSummaryI3LvcTex', 'FermiGRBsJSON', 'IceCubeNeutrinoList', 'IceCubeNeutrinoListCoincTxt', 'IceCubeNeutrinoListTex', 'IceCubeNeutrinoListTxt', 'LVAlertAdvok', 'LVAlertJSON', 'LVCGraceDbEventData', 'LvcDistancesJson', 'LvcGcnXml', 'LvcRetractionXml', 'LvcSkymapFits', 'LvcSkymapHdf5', 'PAstro', 'RctSlkI3CoincSummaryI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPng', 'RctSlkLmaCoincScatterZtfI3LvcPdf', 'RctSlkLmaCoincScatterZtfI3LvcPng', 'RctSlkLmaCoincScatterZtfLVCPdf', 'RctSlkLmaCoincScatterZtfLVCPng', 'RctSlkLmaCoincSignificanceI3Lvc', 'RctSlkLmaCoincSignificanceSubthresholdI3Lvc', 'RctSlkLmaCoincSummaryI3LvcPdf', 'RctSlkLmaLVAlertJSON', 'RctSlkLmaLVCGraceDbEventData', 'RctSlkLmaLvcDistancesJson', 'RctSlkLmaLvcGcnXml', 'RctSlkLmaLvcRetractionXml', 'RctSlkLmaSkymapInfo', 'SkymapInfo', 'ZtfTriggerList']>)") PROVISIONED TMPDIR FOR S190412m , CONTENTS: []
Failed test/test_utils.py::test_memoize 0.00
def test_memoize():
"""Test in-memory ``memoize`` on a function."""
> memoize_func_helper()

/opt/anaconda/lib/python3.7/site-packages/llama/test/test_utils.py:100:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/anaconda/lib/python3.7/site-packages/llama/test/test_utils.py:91: in memoize_func_helper
assert func(*arguments) == results[i]
/opt/anaconda/lib/python3.7/site-packages/llama/test/test_utils.py:81: in func
return bare_func(*args)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = ('bar',), kwargs = {}, @py_assert0 = False, @py_format2 = 'assert False'

def called_once(*args, **kwargs): # pylint: disable=unused-argument
"""This function can only be called once, or else it fails."""
> assert has_not_been_called[0]
E assert False

/opt/anaconda/lib/python3.7/site-packages/llama/test/test_utils.py:38: AssertionError
Failed test/test_utils.py::test_memoize_class 0.00
def test_memoize_class():
"""Test ``utils.memoize`` for classes."""
# pick a few different return values
result_collections = [(), (3,), (3, 4)]
results = [None, 3, (3, 4)]
# pick a few different possible (hashable!) inputs
arg_collections = [(), ('age',), (4, 'foo', ('a', 'tuple'))]
for i, returnvals in enumerate(result_collections):
for arguments in arg_collections:
instance_method = memoize_helper(*returnvals)
class_method = memoize_helper(*returnvals)
property_method = memoize_helper(*returnvals)

class CallOnce(object):
"""This class has methods that can only be called once."""

@utils.memoize(method=True)
def meth(self, *args):
"""Test whether instance methods are memoizeable."""
# we are immediately using this class within this loop, so
# we don't need to worry about ``instance_methods`` (or the
# others) referring to a changing variable. For details,
# see: stackoverflow.com/questions/25314547
# pylint: disable=cell-var-from-loop
return instance_method(self, *args)

@classmethod
@utils.memoize(method=True)
def clas(cls, *args):
"""Test whether classmethods are memoizeable."""
# pylint: disable=cell-var-from-loop
return class_method(cls, *args)

@property
@utils.memoize(method=True)
def prop(self):
"""Test whether properties are memoizeable."""
# pylint: disable=cell-var-from-loop
return property_method(self)

instance = CallOnce()

# we should be able to call the below methods once to cache them...
assert instance.meth(*arguments) == results[i]
assert instance.clas(*arguments) == results[i]
assert instance.prop == results[i]

# then we can assert that the functions they rely on will raise
# exceptions if called again...
with pytest.raises(AssertionError):
instance_method(instance, *arguments)
with pytest.raises(AssertionError):
class_method(CallOnce, *arguments)
with pytest.raises(AssertionError):
property_method(instance)

# but due to caching, we should still get the same return values as
# before when using the @memoize methods.
> assert instance.meth(*arguments) == results[i]

/opt/anaconda/lib/python3.7/site-packages/llama/test/test_utils.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/anaconda/lib/python3.7/site-packages/llama/test/test_utils.py:139: in meth
return instance_method(self, *args)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<llama.test.test_utils.test_memoize_class.<locals>.CallOnce object at 0x7f59a2b46350>,)
kwargs = {}, @py_assert0 = False, @py_format2 = 'assert False'

def called_once(*args, **kwargs): # pylint: disable=unused-argument
"""This function can only be called once, or else it fails."""
> assert has_not_been_called[0]
E assert False

/opt/anaconda/lib/python3.7/site-packages/llama/test/test_utils.py:38: AssertionError
Failed test/test_listeners/test_gcn.py::TestLlamaHandlerMS181101ab::test 0.21
self = <llama.test.test_listeners.test_gcn.TestLlamaHandlerMS181101ab object at 0x7f59a18787d0>

def test(self):
with tempfile.TemporaryDirectory() as tmpdir:
self.gcn_archive = tmpdir
# if you run the test at midnight, the files might be different
# based on the date switch, so look for files in both places in
# case the date switches in the middle of the test
start = datetime.utcnow()
> super().test()

/opt/anaconda/lib/python3.7/site-packages/llama/test/test_listeners/test_gcn.py:82:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/anaconda/lib/python3.7/site-packages/llama/test/classes.py:135: in test
self.execute()
/opt/anaconda/lib/python3.7/site-packages/llama/test/test_listeners/test_gcn.py:73: in execute
run_on_voevent_file(files=filehandler.fullpath, handler=self.handler)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:313: in run_on_voevent_file
handler(payload, fromstring(payload))
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:187: in __call__
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py:51: in handle
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:220: in handle
handle_gcn(payload, root)
/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py:51: in handle
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:116: in handle_lvc_gcn
event.files.SkymapInfo.generate_from_lvc_gcn_xml(voe)
/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__init__.py:118: in generate_from_lvc_gcn_xml
alert_type=voe.alert_type,
/opt/anaconda/lib/python3.7/site-packages/llama/filehandler/__init__.py:1315: in generate
tmp_self._generate(*args, **kwargs)
/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__init__.py:208: in _generate
info['skymap_filename'] = skymap.canonicalize(info['graceid'])
/opt/anaconda/lib/python3.7/site-packages/llama/files/lvc_skymap/utils.py:160: in canonicalize
logs = GraceDb().logs(graceid).json()['log']
/opt/anaconda/lib/python3.7/site-packages/llama/com/gracedb/__init__.py:258: in __init__
super().__init__(*args, fail_if_noauth=fail_if_noauth, **kwargs)
/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py:663: in __init__
reload_certificate=reload_certificate, reload_buffer=reload_buffer
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <llama.com.gracedb.GraceDb object at 0x7f59a2d98310>
url = 'https://gracedb.ligo.org/api/', proxy_host = None, proxy_port = 3128
cred = None, username = None, password = None, force_noauth = False
fail_if_noauth = True, reload_certificate = False, reload_buffer = 300

def __init__(self, url=DEFAULT_SERVICE_URL, proxy_host=None,
proxy_port=3128, cred=None, username=None, password=None,
force_noauth=False, fail_if_noauth=False,
reload_certificate=False, reload_buffer=300):
"""
url (:obj:`str`, optional): URL of server API
proxy_host (:obj:`str`, optional): proxy host
proxy_port (:obj:`str`, optional): proxy port
cred (:obj:`tuple` or :obj:`str, optional): a tuple or list of
(``/path/to/cert/file``, ``/path/to/key/file) or a single path to
a combined proxy file (if using an X.509 certificate for
authentication)
username (:obj:`str`, optional): username for basic auth
password (:obj:`str`, optional): password for basic auth
force_noauth (:obj:`bool`, optional): set to True if you want to skip
credential lookup and use this client as an unauthenticated user
fail_if_noauth (:obj:`bool`, optional): set to True if you want the
constructor to fail if no authentication credentials are provided
or found
reload_certificate (:obj:`bool`, optional): if ``True``, your
certificate will be checked before each request whether it is
within ``reload_buffer`` seconds of expiration, and if so, it will
be reloaded. Useful for processes which may live longer than the
certificate lifetime and have an automated method for certificate
renewal. The path to the new/renewed certificate **must** be the
same as for the old certificate.
reload_buffer (:obj:`int`, optional): buffer (in seconds) for reloading
a certificate in advance of its expiration. Only used if
``reload_certificate`` is ``True``.

Authentication details:
You can:
1. Provide a path to an X.509 certificate and key or a single
combined proxy file
2. Provide a username and password
Or:
The code will look for a certificate in a default location
(``/tmp/x509up_u%d``, where ``%d`` is your user ID)
The code will look for a username and password for the specified
server in ``$HOME/.netrc``
"""
# Process service URL
o = urlparse(url)
host = o.hostname
port = o.port or 443

# Store some of this information
self._server_host = host
self._server_port = port
self._proxy_host = proxy_host
self._proxy_port = proxy_port
self._reload_certificate = reload_certificate
self._reload_buffer = reload_buffer

# Store information about credentials and authentication type
self.credentials = {}
self.auth_type = None

# Fail if conflicting arguments: (fail if no auth, but force no auth)
if fail_if_noauth and force_noauth:
err_msg = ('You have provided conflicting parameters to the '
'client constructor: fail_if_noauth=True and '
'force_noauth=True.')
raise ValueError(err_msg)

# Try to get user-provided credentials, if we aren't forcing
# no authentication
if not force_noauth:
credentials_provided = self._process_credentials(
cred, username, password)

# If the user didn't provide credentials in the constructor,
# we try to look up the credentials
if not force_noauth and not credentials_provided:
# Look for X509 certificate and key
cred = self._find_x509_credentials()
if cred:
self.credentials['cert_file'], self.credentials['key_file'] = \
cred
self.auth_type = 'x509'
else:
# Look for basic auth credentials in .netrc file
try:
basic_auth_tuple = safe_netrc().authenticators(host)
except IOError:
# IOError = no .netrc file found, pass
pass
else:
# If credentials were found for host, set them up!
if basic_auth_tuple is not None:
self.credentials['username'] = basic_auth_tuple[0]
self.credentials['password'] = basic_auth_tuple[2]
self.auth_type = 'basic'

if (fail_if_noauth and not self.credentials):
> raise RuntimeError('No authentication credentials found.')
E RuntimeError: No authentication credentials found.

/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py:203: RuntimeError
------------------------------Captured stdout call------------------------------
CREATED TMPDIR FOR MS181101ab-2-Initial : /tmp/tmpgyd_c9og SET self.run for <llama.test.test_listeners.test_gcn.TestLlamaHandlerMS181101ab object at 0x7f59a18787d0> TO Run(rundir="/tmp/tmpgyd_c9og", pipeline="Pipeline(<['Advok', 'CoincScatterI3LvcPdf', 'CoincScatterI3LvcPng', 'CoincScatterZtfI3LvcPdf', 'CoincScatterZtfI3LvcPng', 'CoincScatterZtfLVCPdf', 'CoincScatterZtfLVCPng', 'CoincSignificanceI3Lvc', 'CoincSignificanceSubthresholdI3Lvc', 'CoincSummaryI3LvcPdf', 'CoincSummaryI3LvcTex', 'FermiGRBsJSON', 'IceCubeNeutrinoList', 'IceCubeNeutrinoListCoincTxt', 'IceCubeNeutrinoListTex', 'IceCubeNeutrinoListTxt', 'LVAlertAdvok', 'LVAlertJSON', 'LVCGraceDbEventData', 'LvcDistancesJson', 'LvcGcnXml', 'LvcRetractionXml', 'LvcSkymapFits', 'LvcSkymapHdf5', 'PAstro', 'RctSlkI3CoincSummaryI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPng', 'RctSlkLmaCoincScatterZtfI3LvcPdf', 'RctSlkLmaCoincScatterZtfI3LvcPng', 'RctSlkLmaCoincScatterZtfLVCPdf', 'RctSlkLmaCoincScatterZtfLVCPng', 'RctSlkLmaCoincSignificanceI3Lvc', 'RctSlkLmaCoincSignificanceSubthresholdI3Lvc', 'RctSlkLmaCoincSummaryI3LvcPdf', 'RctSlkLmaLVAlertJSON', 'RctSlkLmaLVCGraceDbEventData', 'RctSlkLmaLvcDistancesJson', 'RctSlkLmaLvcGcnXml', 'RctSlkLmaLvcRetractionXml', 'RctSlkLmaSkymapInfo', 'SkymapInfo', 'ZtfTriggerList']>)") PROVISIONED TMPDIR FOR MS181101ab-2-Initial , CONTENTS: []
-------------------------------Captured log call--------------------------------
INFO llama.listen.gcn:__init__.py:309 Running LlamaHandlers(rundir='/tmp/tmpgyd_c9og', gcn_archive='/tmp/tmpxrb02qp9', manually_included=None) handler on /root/.local/share/llama/inputs/tests/event_files/MS181101ab-2-Initial/lvc_gcn.xml. INFO llama.listen.gcn:__init__.py:183 NEW PAYLOAD. IVORN: ivo://gwnet/LVC#MS181101ab-2-Initial INFO llama.listen.gcn:__init__.py:186 Running handler: handle_archive from llama.listen.gcn INFO llama.listen.gcn:__init__.py:252 Running handle_archive on gcn archive directory /tmp/tmpxrb02qp9 DEBUG llama.listen.gcn:__init__.py:262 Received GCN notice: ivo://gwnet/LVC#MS181101ab-2-Initial INFO llama.listen.gcn:__init__.py:272 Selected outpath /tmp/tmpxrb02qp9/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23MS181101ab-2-Initial INFO llama.listen.gcn:__init__.py:279 archived ivo://gwnet/LVC#MS181101ab-2-Initial INFO llama.listen.gcn:__init__.py:186 Running handler: handle from llama.listen.gcn INFO llama.listen.gcn:__init__.py:77 Running ``handle_lvc_gcn`` on rundir /tmp/tmpgyd_c9og with handler LvcGcnXml INFO llama.listen.gcn:__init__.py:83 2019-12-12 21:54:41.897094: superid: MS181101ab INFO llama.listen.gcn:__init__.py:83 2019-12-12 21:54:41.897182: alerttype: Initial INFO llama.listen.gcn:__init__.py:99 Event does not exist, initializing MS181101ab-2-Initial INFO llama.listen.gcn:__init__.py:115 Setting flags to preset 'TRIGGERED_TEST': FlagPreset({'UPLOAD': 'false', 'ROLE': 'test', 'ONLINE': 'true', 'ICECUBE_UPLOAD': 'false', 'MANUAL': 'false', 'BLINDED_NEUTRINOS': 'true', 'VETOED': 'false'}) WARNING llama.filehandler:__init__.py:1352 Exception while generating SkymapInfo(eventid="MS181101ab-2-Initial", rundir="/tmp/tmpgyd_c9og")
Failed test/test_listeners/test_gcn.py::TestLlamaHandlerS190425z::test 0.12
self = <llama.test.test_listeners.test_gcn.TestLlamaHandlerS190425z object at 0x7f59a1878450>

def test(self):
with tempfile.TemporaryDirectory() as tmpdir:
self.gcn_archive = tmpdir
# if you run the test at midnight, the files might be different
# based on the date switch, so look for files in both places in
# case the date switches in the middle of the test
start = datetime.utcnow()
> super().test()

/opt/anaconda/lib/python3.7/site-packages/llama/test/test_listeners/test_gcn.py:82:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/anaconda/lib/python3.7/site-packages/llama/test/classes.py:135: in test
self.execute()
/opt/anaconda/lib/python3.7/site-packages/llama/test/test_listeners/test_gcn.py:73: in execute
run_on_voevent_file(files=filehandler.fullpath, handler=self.handler)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:313: in run_on_voevent_file
handler(payload, fromstring(payload))
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:187: in __call__
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py:51: in handle
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:220: in handle
handle_gcn(payload, root)
/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py:51: in handle
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:109: in handle_lvc_gcn
__name__)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

msg = 'NEW EVENT: /tmp/tmprymjl4ab/S190425z-1-Initial'
desc = 'llama.listen.gcn', recover = True

def alert_maintainers(msg, desc=None, recover=True):
"""Shortcut to send a message to the LLAMA maintainer of LLAMA
functionality on the default LLAMA channel, tagging ``MAINTAINERS`` using
``tag_user`` and sending the message with ``send_message``. Import
this in other parts of the code to have a Slack-based logging/alert tool.
Optionally provide the name of the calling module (or some other
description) as ``desc``. Since this is meant to be used elsewhere in the
code (including parts of the code that may run on non-production servers),
it will fail if no ``SLACK_TOKENS['LLAMA']`` is defined. If
``recover=True``, suppress and log errors due to message sending failures;
otherwise, raise errors as usual."""
message = desc+' '+msg if desc is not None else msg
LOGGER.info('Alerting maintainers via slack: %s', msg)
return send_message(
organization='LLAMA',
> message=tag_users('LLAMA', MAINTAINERS, recover=recover)+message,
channel='llama-notifications',
recover=recover,
)
E NameError: name 'MAINTAINERS' is not defined

/opt/anaconda/lib/python3.7/site-packages/llama/com/slack/__init__.py:181: NameError
------------------------------Captured stdout call------------------------------
CREATED TMPDIR FOR S190425z-1-Initial : /tmp/tmprymjl4ab SET self.run for <llama.test.test_listeners.test_gcn.TestLlamaHandlerS190425z object at 0x7f59a1878450> TO Run(rundir="/tmp/tmprymjl4ab", pipeline="Pipeline(<['Advok', 'CoincScatterI3LvcPdf', 'CoincScatterI3LvcPng', 'CoincScatterZtfI3LvcPdf', 'CoincScatterZtfI3LvcPng', 'CoincScatterZtfLVCPdf', 'CoincScatterZtfLVCPng', 'CoincSignificanceI3Lvc', 'CoincSignificanceSubthresholdI3Lvc', 'CoincSummaryI3LvcPdf', 'CoincSummaryI3LvcTex', 'FermiGRBsJSON', 'IceCubeNeutrinoList', 'IceCubeNeutrinoListCoincTxt', 'IceCubeNeutrinoListTex', 'IceCubeNeutrinoListTxt', 'LVAlertAdvok', 'LVAlertJSON', 'LVCGraceDbEventData', 'LvcDistancesJson', 'LvcGcnXml', 'LvcRetractionXml', 'LvcSkymapFits', 'LvcSkymapHdf5', 'PAstro', 'RctSlkI3CoincSummaryI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPng', 'RctSlkLmaCoincScatterZtfI3LvcPdf', 'RctSlkLmaCoincScatterZtfI3LvcPng', 'RctSlkLmaCoincScatterZtfLVCPdf', 'RctSlkLmaCoincScatterZtfLVCPng', 'RctSlkLmaCoincSignificanceI3Lvc', 'RctSlkLmaCoincSignificanceSubthresholdI3Lvc', 'RctSlkLmaCoincSummaryI3LvcPdf', 'RctSlkLmaLVAlertJSON', 'RctSlkLmaLVCGraceDbEventData', 'RctSlkLmaLvcDistancesJson', 'RctSlkLmaLvcGcnXml', 'RctSlkLmaLvcRetractionXml', 'RctSlkLmaSkymapInfo', 'SkymapInfo', 'ZtfTriggerList']>)") PROVISIONED TMPDIR FOR S190425z-1-Initial , CONTENTS: []
-------------------------------Captured log call--------------------------------
INFO llama.listen.gcn:__init__.py:309 Running LlamaHandlers(rundir='/tmp/tmprymjl4ab', gcn_archive='/tmp/tmpef_mh9r9', manually_included=None) handler on /root/.local/share/llama/inputs/tests/event_files/S190425z-1-Initial/lvc_gcn.xml. INFO llama.listen.gcn:__init__.py:183 NEW PAYLOAD. IVORN: ivo://gwnet/LVC#S190425z-1-Initial INFO llama.listen.gcn:__init__.py:186 Running handler: handle_archive from llama.listen.gcn INFO llama.listen.gcn:__init__.py:252 Running handle_archive on gcn archive directory /tmp/tmpef_mh9r9 DEBUG llama.listen.gcn:__init__.py:262 Received GCN notice: ivo://gwnet/LVC#S190425z-1-Initial INFO llama.listen.gcn:__init__.py:272 Selected outpath /tmp/tmpef_mh9r9/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190425z-1-Initial INFO llama.listen.gcn:__init__.py:279 archived ivo://gwnet/LVC#S190425z-1-Initial INFO llama.listen.gcn:__init__.py:186 Running handler: handle from llama.listen.gcn INFO llama.listen.gcn:__init__.py:77 Running ``handle_lvc_gcn`` on rundir /tmp/tmprymjl4ab with handler LvcGcnXml INFO llama.listen.gcn:__init__.py:83 2019-12-12 21:54:42.367174: superid: S190425z INFO llama.listen.gcn:__init__.py:83 2019-12-12 21:54:42.367230: alerttype: Initial INFO llama.listen.gcn:__init__.py:99 Event does not exist, initializing S190425z-1-Initial INFO llama.listen.gcn:__init__.py:106 Setting flags to preset 'TRIGGERED_PUBLIC': FlagPreset({'ONLINE': 'true', 'MANUAL': 'false', 'ICECUBE_UPLOAD': 'true', 'BLINDED_NEUTRINOS': 'false', 'ROLE': 'observation', 'UPLOAD': 'true', 'VETOED': 'false'})
Failed test/test_listeners/test_gcn.py::TestLlamaHandlerS190521g::test 0.10
self = <llama.test.test_listeners.test_gcn.TestLlamaHandlerS190521g object at 0x7f59a9714ed0>

def test(self):
with tempfile.TemporaryDirectory() as tmpdir:
self.gcn_archive = tmpdir
# if you run the test at midnight, the files might be different
# based on the date switch, so look for files in both places in
# case the date switches in the middle of the test
start = datetime.utcnow()
> super().test()

/opt/anaconda/lib/python3.7/site-packages/llama/test/test_listeners/test_gcn.py:82:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/anaconda/lib/python3.7/site-packages/llama/test/classes.py:135: in test
self.execute()
/opt/anaconda/lib/python3.7/site-packages/llama/test/test_listeners/test_gcn.py:73: in execute
run_on_voevent_file(files=filehandler.fullpath, handler=self.handler)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:313: in run_on_voevent_file
handler(payload, fromstring(payload))
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:187: in __call__
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py:51: in handle
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:109: in handle_lvc_gcn
__name__)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

msg = 'NEW EVENT: /tmp/tmp_ps_9i0l/S190521g-1-Preliminary'
desc = 'llama.listen.gcn', recover = True

def alert_maintainers(msg, desc=None, recover=True):
"""Shortcut to send a message to the LLAMA maintainer of LLAMA
functionality on the default LLAMA channel, tagging ``MAINTAINERS`` using
``tag_user`` and sending the message with ``send_message``. Import
this in other parts of the code to have a Slack-based logging/alert tool.
Optionally provide the name of the calling module (or some other
description) as ``desc``. Since this is meant to be used elsewhere in the
code (including parts of the code that may run on non-production servers),
it will fail if no ``SLACK_TOKENS['LLAMA']`` is defined. If
``recover=True``, suppress and log errors due to message sending failures;
otherwise, raise errors as usual."""
message = desc+' '+msg if desc is not None else msg
LOGGER.info('Alerting maintainers via slack: %s', msg)
return send_message(
organization='LLAMA',
> message=tag_users('LLAMA', MAINTAINERS, recover=recover)+message,
channel='llama-notifications',
recover=recover,
)
E NameError: name 'MAINTAINERS' is not defined

/opt/anaconda/lib/python3.7/site-packages/llama/com/slack/__init__.py:181: NameError
------------------------------Captured stdout call------------------------------
CREATED TMPDIR FOR S190521g-1-Preliminary : /tmp/tmp_ps_9i0l SET self.run for <llama.test.test_listeners.test_gcn.TestLlamaHandlerS190521g object at 0x7f59a9714ed0> TO Run(rundir="/tmp/tmp_ps_9i0l", pipeline="Pipeline(<['Advok', 'CoincScatterI3LvcPdf', 'CoincScatterI3LvcPng', 'CoincScatterZtfI3LvcPdf', 'CoincScatterZtfI3LvcPng', 'CoincScatterZtfLVCPdf', 'CoincScatterZtfLVCPng', 'CoincSignificanceI3Lvc', 'CoincSignificanceSubthresholdI3Lvc', 'CoincSummaryI3LvcPdf', 'CoincSummaryI3LvcTex', 'FermiGRBsJSON', 'IceCubeNeutrinoList', 'IceCubeNeutrinoListCoincTxt', 'IceCubeNeutrinoListTex', 'IceCubeNeutrinoListTxt', 'LVAlertAdvok', 'LVAlertJSON', 'LVCGraceDbEventData', 'LvcDistancesJson', 'LvcGcnXml', 'LvcRetractionXml', 'LvcSkymapFits', 'LvcSkymapHdf5', 'PAstro', 'RctSlkI3CoincSummaryI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPng', 'RctSlkLmaCoincScatterZtfI3LvcPdf', 'RctSlkLmaCoincScatterZtfI3LvcPng', 'RctSlkLmaCoincScatterZtfLVCPdf', 'RctSlkLmaCoincScatterZtfLVCPng', 'RctSlkLmaCoincSignificanceI3Lvc', 'RctSlkLmaCoincSignificanceSubthresholdI3Lvc', 'RctSlkLmaCoincSummaryI3LvcPdf', 'RctSlkLmaLVAlertJSON', 'RctSlkLmaLVCGraceDbEventData', 'RctSlkLmaLvcDistancesJson', 'RctSlkLmaLvcGcnXml', 'RctSlkLmaLvcRetractionXml', 'RctSlkLmaSkymapInfo', 'SkymapInfo', 'ZtfTriggerList']>)") PROVISIONED TMPDIR FOR S190521g-1-Preliminary , CONTENTS: []
-------------------------------Captured log call--------------------------------
INFO llama.listen.gcn:__init__.py:309 Running LlamaHandlers(rundir='/tmp/tmp_ps_9i0l', gcn_archive='/tmp/tmpd4qz_d_1', manually_included=None) handler on /root/.local/share/llama/inputs/tests/event_files/S190521g-1-Preliminary/lvc_gcn.xml. INFO llama.listen.gcn:__init__.py:183 NEW PAYLOAD. IVORN: ivo://gwnet/LVC#S190521g-1-Preliminary INFO llama.listen.gcn:__init__.py:186 Running handler: handle_archive from llama.listen.gcn INFO llama.listen.gcn:__init__.py:252 Running handle_archive on gcn archive directory /tmp/tmpd4qz_d_1 DEBUG llama.listen.gcn:__init__.py:262 Received GCN notice: ivo://gwnet/LVC#S190521g-1-Preliminary INFO llama.listen.gcn:__init__.py:272 Selected outpath /tmp/tmpd4qz_d_1/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190521g-1-Preliminary INFO llama.listen.gcn:__init__.py:279 archived ivo://gwnet/LVC#S190521g-1-Preliminary INFO llama.listen.gcn:__init__.py:186 Running handler: handle from llama.listen.gcn INFO llama.listen.gcn:__init__.py:186 Running handler: handle_lvc_gcn from llama.listen.gcn INFO llama.listen.gcn:__init__.py:77 Running ``handle_lvc_gcn`` on rundir /tmp/tmp_ps_9i0l with handler LvcGcnXml INFO llama.listen.gcn:__init__.py:83 2019-12-12 21:54:42.539746: superid: S190521g INFO llama.listen.gcn:__init__.py:83 2019-12-12 21:54:42.539833: alerttype: Preliminary INFO llama.listen.gcn:__init__.py:99 Event does not exist, initializing S190521g-1-Preliminary INFO llama.listen.gcn:__init__.py:106 Setting flags to preset 'TRIGGERED_PUBLIC': FlagPreset({'ONLINE': 'true', 'MANUAL': 'false', 'ICECUBE_UPLOAD': 'true', 'BLINDED_NEUTRINOS': 'false', 'ROLE': 'observation', 'UPLOAD': 'true', 'VETOED': 'false'})
Failed test/test_listeners/test_gcn.py::TestGcndS190425z::test 0.11
self = <llama.test.test_listeners.test_gcn.TestGcndS190425z object at 0x7f59a97142d0>

def test(self):
with tempfile.TemporaryDirectory() as tmpdir:
self.gcn_archive = tmpdir
# if you run the test at midnight, the files might be different
# based on the date switch, so look for files in both places in
# case the date switches in the middle of the test
start = datetime.utcnow()
> super().test()

/opt/anaconda/lib/python3.7/site-packages/llama/test/test_listeners/test_gcn.py:82:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/anaconda/lib/python3.7/site-packages/llama/test/classes.py:135: in test
self.execute()
/opt/anaconda/lib/python3.7/site-packages/llama/test/test_listeners/test_gcn.py:73: in execute
run_on_voevent_file(files=filehandler.fullpath, handler=self.handler)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:313: in run_on_voevent_file
handler(payload, fromstring(payload))
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:187: in __call__
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py:51: in handle
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:220: in handle
handle_gcn(payload, root)
/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py:51: in handle
handler(payload, root)
/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py:109: in handle_lvc_gcn
__name__)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

msg = 'NEW EVENT: /tmp/tmp1ddffin5/S190425z-1-Initial'
desc = 'llama.listen.gcn', recover = True

def alert_maintainers(msg, desc=None, recover=True):
"""Shortcut to send a message to the LLAMA maintainer of LLAMA
functionality on the default LLAMA channel, tagging ``MAINTAINERS`` using
``tag_user`` and sending the message with ``send_message``. Import
this in other parts of the code to have a Slack-based logging/alert tool.
Optionally provide the name of the calling module (or some other
description) as ``desc``. Since this is meant to be used elsewhere in the
code (including parts of the code that may run on non-production servers),
it will fail if no ``SLACK_TOKENS['LLAMA']`` is defined. If
``recover=True``, suppress and log errors due to message sending failures;
otherwise, raise errors as usual."""
message = desc+' '+msg if desc is not None else msg
LOGGER.info('Alerting maintainers via slack: %s', msg)
return send_message(
organization='LLAMA',
> message=tag_users('LLAMA', MAINTAINERS, recover=recover)+message,
channel='llama-notifications',
recover=recover,
)
E NameError: name 'MAINTAINERS' is not defined

/opt/anaconda/lib/python3.7/site-packages/llama/com/slack/__init__.py:181: NameError
------------------------------Captured stdout call------------------------------
CREATED TMPDIR FOR S190425z-1-Initial : /tmp/tmp1ddffin5 SET self.run for <llama.test.test_listeners.test_gcn.TestGcndS190425z object at 0x7f59a97142d0> TO Run(rundir="/tmp/tmp1ddffin5", pipeline="Pipeline(<['Advok', 'CoincScatterI3LvcPdf', 'CoincScatterI3LvcPng', 'CoincScatterZtfI3LvcPdf', 'CoincScatterZtfI3LvcPng', 'CoincScatterZtfLVCPdf', 'CoincScatterZtfLVCPng', 'CoincSignificanceI3Lvc', 'CoincSignificanceSubthresholdI3Lvc', 'CoincSummaryI3LvcPdf', 'CoincSummaryI3LvcTex', 'FermiGRBsJSON', 'IceCubeNeutrinoList', 'IceCubeNeutrinoListCoincTxt', 'IceCubeNeutrinoListTex', 'IceCubeNeutrinoListTxt', 'LVAlertAdvok', 'LVAlertJSON', 'LVCGraceDbEventData', 'LvcDistancesJson', 'LvcGcnXml', 'LvcRetractionXml', 'LvcSkymapFits', 'LvcSkymapHdf5', 'PAstro', 'RctSlkI3CoincSummaryI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPng', 'RctSlkLmaCoincScatterZtfI3LvcPdf', 'RctSlkLmaCoincScatterZtfI3LvcPng', 'RctSlkLmaCoincScatterZtfLVCPdf', 'RctSlkLmaCoincScatterZtfLVCPng', 'RctSlkLmaCoincSignificanceI3Lvc', 'RctSlkLmaCoincSignificanceSubthresholdI3Lvc', 'RctSlkLmaCoincSummaryI3LvcPdf', 'RctSlkLmaLVAlertJSON', 'RctSlkLmaLVCGraceDbEventData', 'RctSlkLmaLvcDistancesJson', 'RctSlkLmaLvcGcnXml', 'RctSlkLmaLvcRetractionXml', 'RctSlkLmaSkymapInfo', 'SkymapInfo', 'ZtfTriggerList']>)") PROVISIONED TMPDIR FOR S190425z-1-Initial , CONTENTS: []
-------------------------------Captured log call--------------------------------
INFO llama.listen.gcn:__init__.py:309 Running LlamaHandlers(rundir='/tmp/tmp1ddffin5', gcn_archive='/tmp/tmpukq6p8be', manually_included=None) handler on /root/.local/share/llama/inputs/tests/event_files/S190425z-1-Initial/lvc_gcn.xml. INFO llama.listen.gcn:__init__.py:183 NEW PAYLOAD. IVORN: ivo://gwnet/LVC#S190425z-1-Initial INFO llama.listen.gcn:__init__.py:186 Running handler: handle_archive from llama.listen.gcn INFO llama.listen.gcn:__init__.py:252 Running handle_archive on gcn archive directory /tmp/tmpukq6p8be DEBUG llama.listen.gcn:__init__.py:262 Received GCN notice: ivo://gwnet/LVC#S190425z-1-Initial INFO llama.listen.gcn:__init__.py:272 Selected outpath /tmp/tmpukq6p8be/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190425z-1-Initial INFO llama.listen.gcn:__init__.py:279 archived ivo://gwnet/LVC#S190425z-1-Initial INFO llama.listen.gcn:__init__.py:186 Running handler: handle from llama.listen.gcn INFO llama.listen.gcn:__init__.py:77 Running ``handle_lvc_gcn`` on rundir /tmp/tmp1ddffin5 with handler LvcGcnXml INFO llama.listen.gcn:__init__.py:83 2019-12-12 21:54:42.688740: superid: S190425z INFO llama.listen.gcn:__init__.py:83 2019-12-12 21:54:42.688829: alerttype: Initial INFO llama.listen.gcn:__init__.py:99 Event does not exist, initializing S190425z-1-Initial INFO llama.listen.gcn:__init__.py:106 Setting flags to preset 'TRIGGERED_PUBLIC': FlagPreset({'ONLINE': 'true', 'MANUAL': 'false', 'ICECUBE_UPLOAD': 'true', 'BLINDED_NEUTRINOS': 'false', 'ROLE': 'observation', 'UPLOAD': 'true', 'VETOED': 'false'})
Failed test/test_listeners/test_gcn.py::TestGcndS190521g::test 6.35
self = <llama.test.test_listeners.test_gcn.TestGcndS190521g object at 0x7f59a974e910>

def test(self):
with tempfile.TemporaryDirectory() as tmpdir:
self.gcn_archive = tmpdir
# if you run the test at midnight, the files might be different
# based on the date switch, so look for files in both places in
# case the date switches in the middle of the test
start = datetime.utcnow()
> super().test()

/opt/anaconda/lib/python3.7/site-packages/llama/test/test_listeners/test_gcn.py:82:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <llama.test.test_listeners.test_gcn.TestGcndS190521g object at 0x7f59a974e910>

def test(self):
"""Run this test with ``execute`` and then check whether outputs are as
expected with ``compare``."""
with tempfile.TemporaryDirectory() as tmpdir:
print("CREATED TMPDIR FOR ", self.EVENTID, ": ", tmpdir)
self.run = Run(tmpdir)
print("SET self.run for ", self, " TO ", self.run)
self.provision()
print("PROVISIONED TMPDIR FOR ", self.EVENTID, ", CONTENTS: ",
os.listdir(tmpdir))
self.execute()
print("EXECUTED TEST FOR ", self, " TMPDIR CONTENTS: ",
os.listdir(tmpdir))
print("TMP EVENTDIR CONTENTS: ", os.listdir(self.event.eventdir))
> assert self.compare()
E AssertionError

/opt/anaconda/lib/python3.7/site-packages/llama/test/classes.py:139: AssertionError
------------------------------Captured stdout call------------------------------
CREATED TMPDIR FOR S190521g-1-Preliminary : /tmp/tmpijzgeaaz SET self.run for <llama.test.test_listeners.test_gcn.TestGcndS190521g object at 0x7f59a974e910> TO Run(rundir="/tmp/tmpijzgeaaz", pipeline="Pipeline(<['Advok', 'CoincScatterI3LvcPdf', 'CoincScatterI3LvcPng', 'CoincScatterZtfI3LvcPdf', 'CoincScatterZtfI3LvcPng', 'CoincScatterZtfLVCPdf', 'CoincScatterZtfLVCPng', 'CoincSignificanceI3Lvc', 'CoincSignificanceSubthresholdI3Lvc', 'CoincSummaryI3LvcPdf', 'CoincSummaryI3LvcTex', 'FermiGRBsJSON', 'IceCubeNeutrinoList', 'IceCubeNeutrinoListCoincTxt', 'IceCubeNeutrinoListTex', 'IceCubeNeutrinoListTxt', 'LVAlertAdvok', 'LVAlertJSON', 'LVCGraceDbEventData', 'LvcDistancesJson', 'LvcGcnXml', 'LvcRetractionXml', 'LvcSkymapFits', 'LvcSkymapHdf5', 'PAstro', 'RctSlkI3CoincSummaryI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPdf', 'RctSlkLmaCoincScatterI3LvcPng', 'RctSlkLmaCoincScatterZtfI3LvcPdf', 'RctSlkLmaCoincScatterZtfI3LvcPng', 'RctSlkLmaCoincScatterZtfLVCPdf', 'RctSlkLmaCoincScatterZtfLVCPng', 'RctSlkLmaCoincSignificanceI3Lvc', 'RctSlkLmaCoincSignificanceSubthresholdI3Lvc', 'RctSlkLmaCoincSummaryI3LvcPdf', 'RctSlkLmaLVAlertJSON', 'RctSlkLmaLVCGraceDbEventData', 'RctSlkLmaLvcDistancesJson', 'RctSlkLmaLvcGcnXml', 'RctSlkLmaLvcRetractionXml', 'RctSlkLmaSkymapInfo', 'SkymapInfo', 'ZtfTriggerList']>)") PROVISIONED TMPDIR FOR S190521g-1-Preliminary , CONTENTS: [] Server STDOUT: %s STDERR: %s INFO:gcn.serve:bound to 127.0.0.1:8099 INFO:gcn.serve:connected to ('127.0.0.1', 38948):8099 Listener STDOUT: %s STDERR: %s /opt/anaconda/lib/python3.7/site-packages/llama/classes.py:375: OptionalFeatureWarning: llama.com.s3 tried to load undefined environmental variables: LLAMA_COM_S3_REGION, LLAMA_COM_S3_ENDPOINT, LLAMA_COM_S3_BUCKET -- Specify the S3 region, endpoint, and bucket as env variables. Must specify all, or else defaults will be used: DEFAULT_REGION=nyc3, DEFAULT_ENDPOINT=nyc3.digitaloceanspaces.com, DEFAULT_BUCKET=llama warnings.warn(errmsg, OptionalFeatureWarning) /opt/anaconda/lib/python3.7/site-packages/llama/classes.py:375: OptionalFeatureWarning: llama.com.gracedb tried to load undefined environmental variables: LLAMA_GRACEDB_AUTH -- Set LLAMA_GRACEDB_AUTH to the S3 object key of the LIGO GraceDb robot keytab to automatically authenticate with GraceDb. Otherwise, do not authenticate automatically. warnings.warn(errmsg, OptionalFeatureWarning) /opt/anaconda/lib/python3.7/site-packages/llama/classes.py:375: OptionalFeatureWarning: llama.serve.gui.domain tried to load undefined environmental variables: LLAMA_DOMAIN -- Specify the domain on which LLAMA processes are running. warnings.warn(errmsg, OptionalFeatureWarning) /opt/anaconda/lib/python3.7/site-packages/llama/classes.py:375: OptionalFeatureWarning: llama.serve.gui tried to load undefined environmental variables: LLAMA_GUI_PORT -- Specify the port on which ``llama serve gui`` is running. warnings.warn(errmsg, OptionalFeatureWarning) /opt/anaconda/lib/python3.7/site-packages/llama/classes.py:375: OptionalFeatureWarning: llama.serve.gui tried to load undefined environmental variables: FILE_PREVIEWS, FULL_WIDTH_FILE_PREVIEWS -- Specify a comma-separated list of FileHandler classes from the llama.pipeline.Pipeline in use that should have file previews on event pages. `FILE_PREVIEWS` will take up less than the full width of the page on desktop and `FULL_WIDTH_FILE_PREVIEWS` will take up the full width. If none are specified, defaults will be used. warnings.warn(errmsg, OptionalFeatureWarning) /opt/anaconda/lib/python3.7/site-packages/llama/classes.py:375: OptionalFeatureWarning: llama.serve.jupyter tried to load undefined environmental variables: LLAMA_JUP_PORT -- Specify the port on which ``llama serve jupyter`` is running. warnings.warn(errmsg, OptionalFeatureWarning) /opt/anaconda/lib/python3.7/site-packages/llama/classes.py:375: OptionalFeatureWarning: llama.com.slack tried to load undefined environmental variables: LLAMA_SLACK_MAINTAINERS -- Specify the comma-delimited real names, user names, or user IDs for Slack users who should be notified of errors. warnings.warn(errmsg, OptionalFeatureWarning) /opt/anaconda/lib/python3.7/site-packages/llama/files/i3/json.py:53: OptionalFeatureWarning: Could not import ``realtime_tools`` IceCube project. Will use stub implementations of IceCube software instead for fetching IceCube data. If you have a workable version of ``realtime_tools`` somewhere, add it to your ``PYTHONPATH`` environmental variable to use it here. warnings.warn(msg, OptionalFeatureWarning) /opt/anaconda/lib/python3.7/site-packages/llama/files/i3/json.py:77: OptionalFeatureWarning: Could not import ``realtime_gfu``. Will use stub implementations of IceCube software instead for formatting IceCube GFU neutrinos. If you have a workable version of ``realtime_gfu`` somewhere, add it to your ``PYTHONPATH`` environmental variable to use it here. warnings.warn(msg, OptionalFeatureWarning) /opt/anaconda/lib/python3.7/site-packages/llama/classes.py:375: OptionalFeatureWarning: llama.com.do tried to load undefined environmental variables: DIGITALOCEAN --  You need to specify a digitalocean API token to use this ``llama com do``. You can generate one from your control panel on digitalocean.com. This script expects the DIGITALOCEAN environmental variable to be set to your API token. Feel free to put your API token in a ``.bashrc`` (or similar) startup script, but: *DO NOT UNDER ANY CIRCUMSTANCES VERSION CONTROL THAT API KEY!* It is effectively a username/password combination, and if your code repository containing that credential is ever exposed, someone will be able to use your token to spin up as many servers (e.g. for crypto-mining) as they want *ON YOUR DIME*! This is a **VERY COMMON ATTACK**; people will search for such keys on GitHub and BitBucket and find them in plain sight.  warnings.warn(errmsg, OptionalFeatureWarning) INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn.__main__: __main__.py:68, main - Starting GCN Listener, llama version 3.4.16. INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:183, __call__ - NEW PAYLOAD. IVORN: ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle_archive from llama.listen.gcn INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:252, handle_archive - Running handle_archive on gcn archive directory /tmp/tmp4d4f41hz DEBUG 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:262, handle_archive - Received GCN notice: ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:272, handle_archive - Selected outpath /tmp/tmp4d4f41hz/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190521g-1-Preliminary INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:279, handle_archive - archived ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle from llama.listen.gcn INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle_lvc_gcn from llama.listen.gcn INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:77, handle_lvc_gcn - Running ``handle_lvc_gcn`` on rundir /tmp/tmpijzgeaaz with handler LvcGcnXml INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:83, handle_lvc_gcn - 2019-12-12 21:54:44.336088: superid: S190521g INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:83, handle_lvc_gcn - 2019-12-12 21:54:44.336255: alerttype: Preliminary INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:99, handle_lvc_gcn - Event does not exist, initializing S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:208, init - Initializing git repository in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:215, init - Initialized repo. DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:218, init - Added .gitignore. DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:208, init - Initializing git repository in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:215, init - Initialized repo. DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:218, init - Added .gitignore. DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:225, add - ``git add`` ('-u',) in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:233, add - git added files ('-u',), STDERR: b'' STDOUT: b'' DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:225, add - ``git add`` ('.',) in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:233, add - git added files ('.',), STDERR: b'' STDOUT: b'' DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:260, commit_changes - ``git commit -m`` 'Changes before generating LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz").' in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:269, commit_changes - git committed 'Changes before generating LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz").', STDERR: b'[master (root-commit) ed445a0] Changes before generating LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz").\n 2 files changed, 11 insertions(+)\n create mode 100644 .gitignore\n create mode 100644 FLAGS.json\n' STDOUT: b'' DEBUG 2019-12-12 21:54:44 3094->MainThread llama.vetoes: vetoes.py:228, check - Running veto checks. DEBUG 2019-12-12 21:54:44 3094->MainThread llama.filehandler: __init__.py:1338, generate - Deleting tempfiles LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz/S190521g-1-Preliminary/.tmp.d/LvcGcnXml-lfscpx6w") from atomic generation of LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz") DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:225, add - ``git add`` ('-u',) in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:233, add - git added files ('-u',), STDERR: b'' STDOUT: b'' DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:225, add - ``git add`` ('.',) in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:233, add - git added files ('.',), STDERR: b'' STDOUT: b'' DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:260, commit_changes - ``git commit -m`` 'Done regenerating LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz"). Files added from manifest: lvc_gcn.xml ' in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:269, commit_changes - git committed 'Done regenerating LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz"). Files added from manifest: lvc_gcn.xml ', STDERR: b'[master 5eaebd2] Done regenerating LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz"). Files added from manifest:\n 3 files changed, 130 insertions(+)\n create mode 100644 .lvc_gcn.xml.intent.json\n create mode 100644 .lvc_gcn.xml.metadata.json\n create mode 100644 lvc_gcn.xml\n' STDOUT: b'' INFO 2019-12-12 21:54:44 3094->MainThread llama.listen.gcn: __init__.py:106, handle_lvc_gcn - Setting flags to preset 'TRIGGERED_PUBLIC': FlagPreset({'BLINDED_NEUTRINOS': 'false', 'VETOED': 'false', 'ONLINE': 'true', 'ROLE': 'observation', 'MANUAL': 'false', 'UPLOAD': 'true', 'ICECUBE_UPLOAD': 'true'}) DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:208, init - Initializing git repository in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:215, init - Initialized repo. DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:218, init - Added .gitignore. DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:225, add - ``git add`` ('-u',) in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:233, add - git added files ('-u',), STDERR: b'' STDOUT: b'' DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:225, add - ``git add`` ('.',) in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:233, add - git added files ('.',), STDERR: b'' STDOUT: b'' DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:260, commit_changes - ``git commit -m`` 'Changes before generating SkymapInfo(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz").' in /tmp/tmpijzgeaaz/S190521g-1-Preliminary DEBUG 2019-12-12 21:54:44 3094->MainThread llama.versioning: versioning.py:269, commit_changes - git committed 'Changes before generating SkymapInfo(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz").', STDERR: b'[master ec806bd] Changes before generating SkymapInfo(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz").\n 2 files changed, 3 insertions(+), 4 deletions(-)\n delete mode 100644 .lvc_gcn.xml.intent.json\n' STDOUT: b'' DEBUG 2019-12-12 21:54:44 3094->MainThread llama.vetoes: vetoes.py:228, check - Running veto checks. DEBUG 2019-12-12 21:54:44 3094->MainThread llama.filehandler: __init__.py:1338, generate - Deleting tempfiles SkymapInfo(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz/S190521g-1-Preliminary/.tmp.d/SkymapInfo-01wedrvz") from atomic generation of SkymapInfo(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz") WARNING 2019-12-12 21:54:44 3094->MainThread llama.filehandler: __init__.py:1352, generate - Exception while generating SkymapInfo(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz") exception in payload handler Traceback (most recent call last): File "/opt/anaconda/lib/python3.7/site-packages/llama/cli.py", line 927, in wrapper return func(*args, **kwargs) File "/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py", line 187, in __call__ handler(payload, root) File "/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py", line 51, in handle handler(payload, root) File "/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py", line 116, in handle_lvc_gcn event.files.SkymapInfo.generate_from_lvc_gcn_xml(voe) File "/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__init__.py", line 118, in generate_from_lvc_gcn_xml alert_type=voe.alert_type, File "/opt/anaconda/lib/python3.7/site-packages/llama/filehandler/__init__.py", line 1315, in generate tmp_self._generate(*args, **kwargs) File "/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__init__.py", line 208, in _generate info['skymap_filename'] = skymap.canonicalize(info['graceid']) File "/opt/anaconda/lib/python3.7/site-packages/llama/files/lvc_skymap/utils.py", line 160, in canonicalize logs = GraceDb().logs(graceid).json()['log'] File "/opt/anaconda/lib/python3.7/site-packages/llama/com/gracedb/__init__.py", line 258, in __init__ super().__init__(*args, fail_if_noauth=fail_if_noauth, **kwargs) File "/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py", line 663, in __init__ reload_certificate=reload_certificate, reload_buffer=reload_buffer File "/opt/anaconda/lib/python3.7/site-packages/ligo/gracedb/rest.py", line 203, in __init__ raise RuntimeError('No authentication credentials found.') RuntimeError: No authentication credentials found. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/anaconda/lib/python3.7/site-packages/gcn/voeventclient.py", line 186, in _ingest_packet handler(payload, root) File "/opt/anaconda/lib/python3.7/site-packages/llama/cli.py", line 932, in wrapper func.__module__, func.__name__) AttributeError: 'LlamaHandlers' object has no attribute '__name__' INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:183, __call__ - NEW PAYLOAD. IVORN: ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle_archive from llama.listen.gcn INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:252, handle_archive - Running handle_archive on gcn archive directory /tmp/tmp4d4f41hz DEBUG 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:262, handle_archive - Received GCN notice: ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:272, handle_archive - Selected outpath /tmp/tmp4d4f41hz/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190521g-1-Preliminary INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:278, handle_archive - outpath /tmp/tmp4d4f41hz/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190521g-1-Preliminary exists, not overwriting. dumping xml: <?xml version="1.0" ?> <voe:VOEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:voe="http://www.ivoa.net/xml/VOEvent/v2.0" xsi:schemaLocation="http://www.ivoa.net/xml/VOEvent/v2.0 http://www.ivoa.net/xml/VOEvent/VOEvent-v2.0.xsd"  version="2.0" role="observation" ivorn="ivo://gwnet/LVC#S190521g-1-Preliminary">  <Who>  <Date>2019-05-21T03:08:44</Date>  <Author>  <contactName>LIGO Scientific Collaboration and Virgo Collaboration</contactName>  </Author>  </Who>  <What>  <Param name="Packet_Type" dataType="int" value="150">  <Description>The Notice Type number is assigned/used within GCN, eg type=150 is an LVC_PRELIMINARY notice</Description>  </Param>  <Param name="internal" dataType="int" value="0">  <Description>Indicates whether this event should be distributed to LSC/Virgo members only</Description>  </Param>  <Param name="Pkt_Ser_Num" dataType="string" value="1">  <Description>A number that increments by 1 each time a new revision is issued for this event</Description>  </Param>  <Param name="GraceID" dataType="string" value="S190521g" ucd="meta.id">  <Description>Identifier in GraceDB</Description>  </Param>  <Param name="AlertType" dataType="string" value="Preliminary" ucd="meta.version">  <Description>VOEvent alert type</Description>  </Param>  <Param name="HardwareInj" dataType="int" value="0" ucd="meta.number">  <Description>Indicates that this event is a hardware injection if 1, no if 0</Description>  </Param>  <Param name="OpenAlert" dataType="int" value="1" ucd="meta.number">  <Description>Indicates that this event is an open alert if 1, no if 0</Description>  </Param>  <Param name="EventPage" dataType="string" value="https://gracedb.ligo.org/superevents/S190521g/view/" ucd="meta.ref.url">  <Description>Web page for evolving status of this GW candidate</Description>  </Param>  <Param name="Instruments" dataType="string" value="H1,L1,V1" ucd="meta.code">  <Description>List of instruments used in analysis to identify this event</Description>  </Param>  <Param name="FAR" dataType="float" value="3.80105501069e-09" ucd="arith.rate;stat.falsealarm" unit="Hz">  <Description>False alarm rate for GW candidates with this strength or greater</Description>  </Param>  <Param name="Group" dataType="string" value="CBC" ucd="meta.code">  <Description>Data analysis working group</Description>  </Param>  <Param name="Pipeline" dataType="string" value="pycbc" ucd="meta.code">  <Description>Low-latency data analysis pipeline</Description>  </Param>  <Param name="Search" dataType="string" value="AllSky" ucd="meta.code">  <Description>Specific low-latency search</Description>  </Param>  <Group type="GW_SKYMAP" name="bayestar">  <Param name="skymap_fits" dataType="string" value="https://gracedb.ligo.org/api/superevents/S190521g/files/bayestar.fits.gz" ucd="meta.ref.url">  <Description>Sky Map FITS</Description>  </Param>  </Group>  <Group type="Classification">  <Param name="BNS" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that the source is a binary neutron star merger (both objects lighter than 3 solar masses)</Description>  </Param>  <Param name="NSBH" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that the source is a neutron star-black hole merger (primary heavier than 5 solar masses, secondary lighter than 3 solar masses)</Description>  </Param>  <Param name="BBH" dataType="float" value="0.965882031742" ucd="stat.probability">  <Description>Probability that the source is a binary black hole merger (both objects heavier than 5 solar masses)</Description>  </Param>  <Param name="MassGap" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that the source has at least one object between 3 and 5 solar masses</Description>  </Param>  <Param name="Terrestrial" dataType="float" value="0.0341179682578" ucd="stat.probability">  <Description>Probability that the source is terrestrial (i.e., a background noise fluctuation or a glitch)</Description>  </Param>  <Description>Source classification: binary neutron star (BNS), neutron star-black hole (NSBH), binary black hole (BBH), MassGap, or terrestrial (noise)</Description>  </Group>  <Group type="Properties">  <Param name="HasNS" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that at least one object in the binary has a mass that is less than 3 solar masses</Description>  </Param>  <Param name="HasRemnant" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that a nonzero mass was ejected outside the central remnant object</Description>  </Param>  <Description>Qualitative properties of the source, conditioned on the assumption that the signal is an astrophysical compact binary merger</Description>  </Group>  </What>  <WhereWhen>  <ObsDataLocation>  <ObservatoryLocation id="LIGO Virgo"/>  <ObservationLocation>  <AstroCoordSystem id="UTC-FK5-GEO"/>  <AstroCoords coord_system_id="UTC-FK5-GEO">  <Time>  <TimeInstant>  <ISOTime>2019-05-21T03:02:29.447266</ISOTime>  </TimeInstant>  </Time>  </AstroCoords>  </ObservationLocation>  </ObsDataLocation>  </WhereWhen>  <How>  <Description>Candidate gravitational wave event identified by low-latency analysis</Description>  <Description>H1: LIGO Hanford 4 km gravitational wave detector</Description>  <Description>L1: LIGO Livingston 4 km gravitational wave detector</Description>  <Description>V1: Virgo 3 km gravitational wave detector</Description>  </How>  <Description>Report of a candidate gravitational wave event</Description> </voe:VOEvent> INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:279, handle_archive - archived ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle from llama.listen.gcn INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle_lvc_gcn from llama.listen.gcn INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:77, handle_lvc_gcn - Running ``handle_lvc_gcn`` on rundir /tmp/tmpijzgeaaz with handler LvcGcnXml INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:83, handle_lvc_gcn - 2019-12-12 21:54:45.338803: superid: S190521g INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:83, handle_lvc_gcn - 2019-12-12 21:54:45.338980: alerttype: Preliminary INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:97, handle_lvc_gcn - Event exists, not initializing S190521g-1-Preliminary ERROR 2019-12-12 21:54:45 3094->MainThread llama.filehandler: __init__.py:1299, generate - LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz") exists but is not obsolete; not regenerating. delete manually to regenerate. INFO 2019-12-12 21:54:45 3094->MainThread llama.listen.gcn: __init__.py:106, handle_lvc_gcn - Setting flags to preset 'TRIGGERED_PUBLIC': FlagPreset({'BLINDED_NEUTRINOS': 'false', 'VETOED': 'false', 'ONLINE': 'true', 'ROLE': 'observation', 'MANUAL': 'false', 'UPLOAD': 'true', 'ICECUBE_UPLOAD': 'true'}) exception in payload handler Traceback (most recent call last): File "/opt/anaconda/lib/python3.7/site-packages/llama/cli.py", line 927, in wrapper return func(*args, **kwargs) File "/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py", line 187, in __call__ handler(payload, root) File "/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py", line 51, in handle handler(payload, root) File "/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py", line 116, in handle_lvc_gcn event.files.SkymapInfo.generate_from_lvc_gcn_xml(voe) File "/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__init__.py", line 118, in generate_from_lvc_gcn_xml alert_type=voe.alert_type, File "/opt/anaconda/lib/python3.7/site-packages/llama/filehandler/__init__.py", line 1292, in generate '{}').format(self)) llama.utils.GenerationError: file being generated, try later: SkymapInfo(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz") During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/anaconda/lib/python3.7/site-packages/gcn/voeventclient.py", line 186, in _ingest_packet handler(payload, root) File "/opt/anaconda/lib/python3.7/site-packages/llama/cli.py", line 932, in wrapper func.__module__, func.__name__) AttributeError: 'LlamaHandlers' object has no attribute '__name__' INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:183, __call__ - NEW PAYLOAD. IVORN: ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle_archive from llama.listen.gcn INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:252, handle_archive - Running handle_archive on gcn archive directory /tmp/tmp4d4f41hz DEBUG 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:262, handle_archive - Received GCN notice: ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:272, handle_archive - Selected outpath /tmp/tmp4d4f41hz/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190521g-1-Preliminary INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:278, handle_archive - outpath /tmp/tmp4d4f41hz/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190521g-1-Preliminary exists, not overwriting. dumping xml: <?xml version="1.0" ?> <voe:VOEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:voe="http://www.ivoa.net/xml/VOEvent/v2.0" xsi:schemaLocation="http://www.ivoa.net/xml/VOEvent/v2.0 http://www.ivoa.net/xml/VOEvent/VOEvent-v2.0.xsd"  version="2.0" role="observation" ivorn="ivo://gwnet/LVC#S190521g-1-Preliminary">  <Who>  <Date>2019-05-21T03:08:44</Date>  <Author>  <contactName>LIGO Scientific Collaboration and Virgo Collaboration</contactName>  </Author>  </Who>  <What>  <Param name="Packet_Type" dataType="int" value="150">  <Description>The Notice Type number is assigned/used within GCN, eg type=150 is an LVC_PRELIMINARY notice</Description>  </Param>  <Param name="internal" dataType="int" value="0">  <Description>Indicates whether this event should be distributed to LSC/Virgo members only</Description>  </Param>  <Param name="Pkt_Ser_Num" dataType="string" value="1">  <Description>A number that increments by 1 each time a new revision is issued for this event</Description>  </Param>  <Param name="GraceID" dataType="string" value="S190521g" ucd="meta.id">  <Description>Identifier in GraceDB</Description>  </Param>  <Param name="AlertType" dataType="string" value="Preliminary" ucd="meta.version">  <Description>VOEvent alert type</Description>  </Param>  <Param name="HardwareInj" dataType="int" value="0" ucd="meta.number">  <Description>Indicates that this event is a hardware injection if 1, no if 0</Description>  </Param>  <Param name="OpenAlert" dataType="int" value="1" ucd="meta.number">  <Description>Indicates that this event is an open alert if 1, no if 0</Description>  </Param>  <Param name="EventPage" dataType="string" value="https://gracedb.ligo.org/superevents/S190521g/view/" ucd="meta.ref.url">  <Description>Web page for evolving status of this GW candidate</Description>  </Param>  <Param name="Instruments" dataType="string" value="H1,L1,V1" ucd="meta.code">  <Description>List of instruments used in analysis to identify this event</Description>  </Param>  <Param name="FAR" dataType="float" value="3.80105501069e-09" ucd="arith.rate;stat.falsealarm" unit="Hz">  <Description>False alarm rate for GW candidates with this strength or greater</Description>  </Param>  <Param name="Group" dataType="string" value="CBC" ucd="meta.code">  <Description>Data analysis working group</Description>  </Param>  <Param name="Pipeline" dataType="string" value="pycbc" ucd="meta.code">  <Description>Low-latency data analysis pipeline</Description>  </Param>  <Param name="Search" dataType="string" value="AllSky" ucd="meta.code">  <Description>Specific low-latency search</Description>  </Param>  <Group type="GW_SKYMAP" name="bayestar">  <Param name="skymap_fits" dataType="string" value="https://gracedb.ligo.org/api/superevents/S190521g/files/bayestar.fits.gz" ucd="meta.ref.url">  <Description>Sky Map FITS</Description>  </Param>  </Group>  <Group type="Classification">  <Param name="BNS" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that the source is a binary neutron star merger (both objects lighter than 3 solar masses)</Description>  </Param>  <Param name="NSBH" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that the source is a neutron star-black hole merger (primary heavier than 5 solar masses, secondary lighter than 3 solar masses)</Description>  </Param>  <Param name="BBH" dataType="float" value="0.965882031742" ucd="stat.probability">  <Description>Probability that the source is a binary black hole merger (both objects heavier than 5 solar masses)</Description>  </Param>  <Param name="MassGap" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that the source has at least one object between 3 and 5 solar masses</Description>  </Param>  <Param name="Terrestrial" dataType="float" value="0.0341179682578" ucd="stat.probability">  <Description>Probability that the source is terrestrial (i.e., a background noise fluctuation or a glitch)</Description>  </Param>  <Description>Source classification: binary neutron star (BNS), neutron star-black hole (NSBH), binary black hole (BBH), MassGap, or terrestrial (noise)</Description>  </Group>  <Group type="Properties">  <Param name="HasNS" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that at least one object in the binary has a mass that is less than 3 solar masses</Description>  </Param>  <Param name="HasRemnant" dataType="float" value="0.0" ucd="stat.probability">  <Description>Probability that a nonzero mass was ejected outside the central remnant object</Description>  </Param>  <Description>Qualitative properties of the source, conditioned on the assumption that the signal is an astrophysical compact binary merger</Description>  </Group>  </What>  <WhereWhen>  <ObsDataLocation>  <ObservatoryLocation id="LIGO Virgo"/>  <ObservationLocation>  <AstroCoordSystem id="UTC-FK5-GEO"/>  <AstroCoords coord_system_id="UTC-FK5-GEO">  <Time>  <TimeInstant>  <ISOTime>2019-05-21T03:02:29.447266</ISOTime>  </TimeInstant>  </Time>  </AstroCoords>  </ObservationLocation>  </ObsDataLocation>  </WhereWhen>  <How>  <Description>Candidate gravitational wave event identified by low-latency analysis</Description>  <Description>H1: LIGO Hanford 4 km gravitational wave detector</Description>  <Description>L1: LIGO Livingston 4 km gravitational wave detector</Description>  <Description>V1: Virgo 3 km gravitational wave detector</Description>  </How>  <Description>Report of a candidate gravitational wave event</Description> </voe:VOEvent> INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:279, handle_archive - archived ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle from llama.listen.gcn INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle_lvc_gcn from llama.listen.gcn INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:77, handle_lvc_gcn - Running ``handle_lvc_gcn`` on rundir /tmp/tmpijzgeaaz with handler LvcGcnXml INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:83, handle_lvc_gcn - 2019-12-12 21:54:46.338604: superid: S190521g INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:83, handle_lvc_gcn - 2019-12-12 21:54:46.338692: alerttype: Preliminary INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:97, handle_lvc_gcn - Event exists, not initializing S190521g-1-Preliminary ERROR 2019-12-12 21:54:46 3094->MainThread llama.filehandler: __init__.py:1299, generate - LvcGcnXml(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz") exists but is not obsolete; not regenerating. delete manually to regenerate. INFO 2019-12-12 21:54:46 3094->MainThread llama.listen.gcn: __init__.py:106, handle_lvc_gcn - Setting flags to preset 'TRIGGERED_PUBLIC': FlagPreset({'BLINDED_NEUTRINOS': 'false', 'VETOED': 'false', 'ONLINE': 'true', 'ROLE': 'observation', 'MANUAL': 'false', 'UPLOAD': 'true', 'ICECUBE_UPLOAD': 'true'}) exception in payload handler Traceback (most recent call last): File "/opt/anaconda/lib/python3.7/site-packages/llama/cli.py", line 927, in wrapper return func(*args, **kwargs) File "/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py", line 187, in __call__ handler(payload, root) File "/opt/anaconda/lib/python3.7/site-packages/gcn/handlers.py", line 51, in handle handler(payload, root) File "/opt/anaconda/lib/python3.7/site-packages/llama/listen/gcn/__init__.py", line 116, in handle_lvc_gcn event.files.SkymapInfo.generate_from_lvc_gcn_xml(voe) File "/opt/anaconda/lib/python3.7/site-packages/llama/files/skymap_info/__init__.py", line 118, in generate_from_lvc_gcn_xml alert_type=voe.alert_type, File "/opt/anaconda/lib/python3.7/site-packages/llama/filehandler/__init__.py", line 1292, in generate '{}').format(self)) llama.utils.GenerationError: file being generated, try later: SkymapInfo(eventid="S190521g-1-Preliminary", rundir="/tmp/tmpijzgeaaz") During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/anaconda/lib/python3.7/site-packages/gcn/voeventclient.py", line 186, in _ingest_packet handler(payload, root) File "/opt/anaconda/lib/python3.7/site-packages/llama/cli.py", line 932, in wrapper func.__module__, func.__name__) AttributeError: 'LlamaHandlers' object has no attribute '__name__' INFO 2019-12-12 21:54:47 3094->MainThread llama.listen.gcn: __init__.py:183, __call__ - NEW PAYLOAD. IVORN: ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:47 3094->MainThread llama.listen.gcn: __init__.py:186, __call__ - Running handler: handle_archive from llama.listen.gcn INFO 2019-12-12 21:54:47 3094->MainThread llama.listen.gcn: __init__.py:252, handle_archive - Running handle_archive on gcn archive directory /tmp/tmp4d4f41hz DEBUG 2019-12-12 21:54:47 3094->MainThread llama.listen.gcn: __init__.py:262, handle_archive - Received GCN notice: ivo://gwnet/LVC#S190521g-1-Preliminary INFO 2019-12-12 21:54:47 3094->MainThread llama.listen.gcn: __init__.py:272, handle_archive - Selected outpath /tmp/tmp4d4f41hz/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190521g-1-Preliminary INFO 2019-12-12 21:54:47 3094->MainThread llama.listen.gcn: __init__.py:278, handle_archive - outpath /tmp/tmp4d4f41hz/2019-12/12/ivo%3A%2F%2Fgwnet%2FLVC%23S190521g-1-Preliminary exists, not overwriting. dumping xml: <?xml version="1.0" ?> <voe:VOEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:voe="http://www.ivoa.net/xml/VOEvent/v2.0" xsi:schemaLocation="http://www.ivoa.net/xml/VOEvent/v2.0 http://www.ivoa.net/xml/VOEvent/VOEvent-v2.0.xsd"  version="2.0" role="observation" ivorn="ivo://gwnet/LVC#S190521g-1-Preliminary">  <Who>  <Date>2019-05-21T03:08:44</Date>  <Author>  <contactName>LIGO Scientific Collaboration and Virgo Collaboration EXECUTED TEST FOR <llama.test.test_listeners.test_gcn.TestGcndS190521g object at 0x7f59a974e910> TMPDIR CONTENTS: ['S190521g-1-Preliminary'] TMP EVENTDIR CONTENTS: ['.skymap_info.json.intent.json', '.git', 'FLAGS.json', 'lvc_gcn.xml', '.tmp.d', '.gitignore', '.lvc_gcn.xml.metadata.json']
Passed utils.py::llama.utils.get_voevent_param 0.01
No log output captured.
Passed utils.py::llama.utils.get_voevent_time 0.00
No log output captured.
Passed utils.py::llama.utils.parameter_factory 0.00
No log output captured.
Passed utils.py::llama.utils.rotate_angs2angs 0.00
No log output captured.
Passed utils.py::llama.utils.rotate_angs2vec 0.00
No log output captured.
Passed utils.py::llama.utils.write_gzip 0.00
No log output captured.
Passed utils.py::llama.utils.write_to_zip 0.01
No log output captured.
Passed dev/data/i3/__init__.py::llama.dev.data.i3.available_versions 0.85
No log output captured.
Passed event/__init__.py::llama.event.Event.printstatus 0.05
No log output captured.
Passed filehandler/__init__.py::llama.filehandler.JSONFile.checksum 0.00
No log output captured.
Passed files/fermi_grb.py::llama.files.fermi_grb.get_grbs_from_csv 0.01
No log output captured.
Passed files/lvc_gcn_xml.py::llama.files.lvc_gcn_xml.parse_ivorn 0.00
No log output captured.
Passed files/matlab.py::llama.files.matlab.matlab_eval 0.00
No log output captured.
Passed files/healpix/__init__.py::llama.files.healpix.HEALPixSkyMapFileHandler.read_healpix_from_file 0.07
No log output captured.
Passed files/healpix/__init__.py::llama.files.healpix.LvcHEALPixSkyMapFileHandler.read_healpix_from_file 0.00
No log output captured.
Passed files/healpix/psf.py::llama.files.healpix.psf.Psf.skymap_product 1.56
No log output captured.
Passed files/healpix/skymap.py::llama.files.healpix.skymap.HEALPixSkyMap._read_from_hdf5_group 0.00
No log output captured.
Passed files/healpix/skymap.py::llama.files.healpix.skymap.HEALPixSkyMap.dangle 0.00
No log output captured.
Passed files/healpix/skymap.py::llama.files.healpix.skymap.HEALPixSkyMap.nside2ang 0.00
No log output captured.
Passed files/healpix/skymap.py::llama.files.healpix.skymap.psf_gaussian 0.00
No log output captured.
Passed files/healpix/utils.py::llama.files.healpix.utils.nest2uniq 0.00
No log output captured.
Passed files/healpix/utils.py::llama.files.healpix.utils.uniq2nest_and_nside 0.00
No log output captured.
Passed files/healpix/utils.py::llama.files.healpix.utils.uniq2uniq_lowres 0.00
No log output captured.
Passed files/healpix/utils.py::llama.files.healpix.utils.uniq_intersection 0.00
No log output captured.
Passed files/healpix/utils.py::llama.files.healpix.utils.uniq_rasterize 0.00
No log output captured.
Passed files/i3/json.py::llama.files.i3.json.blinder 0.00
No log output captured.
Passed files/i3/json.py::llama.files.i3.json.get_archive 1.74
No log output captured.
Passed files/i3/json.py::llama.files.i3.json.get_archive_and_real_neutrinos 6.32
No log output captured.
Passed files/i3/json.py::llama.files.i3.json.get_dec_filter 0.04
No log output captured.
Passed files/i3/json.py::llama.files.i3.json.get_ra_filter 0.05
No log output captured.
Passed files/i3/json.py::llama.files.i3.json.get_real 2.41
No log output captured.
Passed files/i3/json.py::llama.files.i3.json.neutrino_archive_available_years 0.00
No log output captured.
Passed files/i3/utils.py::llama.files.i3.utils.ra_dec2zen_az 2.36
No log output captured.
Passed files/i3/utils.py::llama.files.i3.utils.zen_az2ra_dec 2.31
No log output captured.
Passed files/lvc_skymap/utils.py::llama.files.lvc_skymap.utils.SkymapFilename.basename 0.00
No log output captured.
Passed files/lvc_skymap/utils.py::llama.files.lvc_skymap.utils.SkymapFilename.extension 0.00
No log output captured.
Passed files/lvc_skymap/utils.py::llama.files.lvc_skymap.utils.SkymapFilename.filename 0.00
No log output captured.
Passed files/lvc_skymap/utils.py::llama.files.lvc_skymap.utils.SkymapFilename.version 0.00
No log output captured.
Passed test/test_bin.py::test_llama_pipeline_parser 0.01
No log output captured.
Passed test/test_bin.py::test_llama_run_parser 0.00
No log output captured.
Passed test/test_bin.py::test_mjd_interval 0.01
No log output captured.
Passed test/test_filehandler.py::TestObsolescenceAndLocking::test 0.60
No log output captured.
Passed test/test_filehandler.py::TestGenerationOrder::test 0.96
No log output captured.
Passed test/test_filehandler.py::test_filehandler_definition_consistency 0.06
------------------------------Captured stdout call------------------------------
searching in llama searching in llama.batch searching in llama.com searching in llama.com.dl searching in llama.com.do searching in llama.com.email searching in llama.com.gracedb searching in llama.com.s3 searching in llama.com.slack searching in llama.dev searching in llama.dev.background searching in llama.dev.background.pvalue searching in llama.dev.background.table searching in llama.dev.background.table_singles searching in llama.dev.clean searching in llama.dev.data searching in llama.dev.data.i3 searching in llama.dev.docs searching in llama.dev.docs.cli searching in llama.dev.dv searching in llama.dev.log searching in llama.dev.log.lvalert searching in llama.dev.upload searching in llama.event searching in llama.filehandler searching in llama.files searching in llama.files.coinc_significance searching in llama.files.healpix searching in llama.files.i3 searching in llama.files.lvc_skymap searching in llama.files.skymap_info searching in llama.files.slack searching in llama.flags searching in llama.install searching in llama.listen searching in llama.listen.gcn searching in llama.listen.lvalert searching in llama.poll searching in llama.poll.gracedb searching in llama.run searching in llama.serve searching in llama.serve.gui searching in llama.serve.gui.wsgi searching in llama.serve.jupyter searching in llama.test searching in llama.test.test_files searching in llama.test.test_listeners
Passed test/test_pipeline.py::test_default_pipeline_consistency 0.00
No log output captured.
Passed test/test_utils.py::test_memoize_helper 0.00
No log output captured.
Passed test/test_utils.py::test_write_gzip 0.00
No log output captured.
Passed test/test_utils.py::test_rotate_angs2vec 0.00
No log output captured.
Passed test/test_utils.py::test_get_grid_make_grid 0.00
No log output captured.
Passed test/test_utils.py::test_get_grid_north_pole 0.00
No log output captured.