Closed ThomasThelen closed 4 years ago
Authentication: Passed Navigation: Passed Browse: Passed Tale Creation: Failed Settings: Passed Publishing tests: Passed Regression tests: Passed Run: Passed
When creating a Jupyter with Spark! Tale I recieved the following trace. I created two new Tales with Jupyter Spark! they worked fine.
APIError: 500 Server Error: Internal Server Error ("mkdir /var/lib/docker/overlay2/6d9546c33aea02ae5321c0c1cb5a2af57400973dd02608b67f9afabd5499db12-init: no space left on device")
File "/usr/local/lib/python3.5/dist-packages/celery/app/trace.py", line 382, in trace_task
R = retval = fun(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/girder_worker/task.py", line 148, in __call__
results = super(Task, self).__call__(*_t_args, **_t_kwargs)
File "/usr/local/lib/python3.5/dist-packages/celery/app/trace.py", line 641, in __protected_call__
return self.run(*args, **kwargs)
File "/gwvolman/gwvolman/tasks.py", line 437, in build_tale_image
ret = _build_image(cli, tale_id, image, tag, temp_dir, REPO2DOCKER_VERSION)
File "/gwvolman/gwvolman/utils.py", line 317, in _build_image
'bind': '/host/tmp', 'mode': 'ro'
File "/usr/local/lib/python3.5/dist-packages/docker/models/containers.py", line 803, in run
detach=detach, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/docker/models/containers.py", line 861, in create
resp = self.client.api.create_container(**create_kwargs)
File "/usr/local/lib/python3.5/dist-packages/docker/api/container.py", line 430, in create_container
return self.create_container_from_config(config, name)
File "/usr/local/lib/python3.5/dist-packages/docker/api/container.py", line 441, in create_container_from_config
return self._result(res, True)
File "/usr/local/lib/python3.5/dist-packages/docker/api/client.py", line 267, in _result
self._raise_for_status(response)
File "/usr/local/lib/python3.5/dist-packages/docker/api/client.py", line 263, in _raise_for_status
raise create_api_error_from_http_exception(e)
File "/usr/local/lib/python3.5/dist-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
raise cls(e, response=response, explanation=explanation)
APIError: 500 Server Error: Internal Server Error ("mkdir /var/lib/docker/overlay2/6d9546c33aea02ae5321c0c1cb5a2af57400973dd02608b67f9afabd5499db12-init: no space left on device")
Cleaned the node up. Should be good to go.
Aside from the noted regressions in the other issues, I don't see any newly injected bugs. Closing.
Test Plan
https://github.com/whole-tale/wt-design-docs/issues/new?template=test_plan.md
Note: For all tests, repeat for supported browser/OS combinations.
Preconditions:
Authentication
[x] Basic login flow
[x] Basic logout flow
[x] Return-route for non-logged in users (#300)
Navigation
Browse
Preconditions:
Assumes production Tales present (e.g., LIGO, materials, etc).
No running instances
[x] General
[x] Search
[x] Filter
[x] View tale
[x] Launch instance
Manage
Preconditions
Empty home directory
No registered data
[x] Register General
[x] Register DataONE data
10.5065/D6862DM8
[x] Dataverse
[ ] Globus/MDF
Run
Preconditions:
No running Tale instances
[x] General
[x] Interact tab
[x] Files tab
[x] Metadata tab - Owned Tale
Environment
dropdown menuLicense
dropdownCreated by <your_name>
underAuthors
Published Location
readsThis Tale has not been published
[x] Home
[x] External data
doi:10.18739/A29G5GD0V
) on Manage > Data (see Manage > Register test cases above)[x] Workspaces
[x] Exporting - BagIt
run-local.sh
tagmanifest-sha256.txt
tagmanifest-md5.txt
manifest-sha256.txt
manifest-md5.txt
bag-info.txt
README.md
bagit.txt
fetch.txt
data/
metadata/
metadata
foldermanifest.json
andenvironment.json
fileLICENSE
fileSettings
[x] Default State
[x] Connect to DataONE
[x] Connect to Dataverse
[x] Connect to Zenodo
[x] Confirm tokens retained across logins #370
/user/me
endpoint to confirm tokens are still presentTale Creation
[x] Create RStudio Tale
[x] Compose Jupyter Tale
[x] Compose OpenRefine Tale
[x] Too many instances
Analyze in Whole Tale
Task 1: Importing a Dataset from Dataverse
These test cases cover potential situations that can occur when importing datasets from Dataverse.
Testing Steps:
Replication Data for: "Agricultural Fires and Health at Birth"
Input data
section matches the uri withData Source
appendedCreate New Tale and Launch
button is disabledCreate New Tale and Launch
science
Task 2: Importing a Dataset from DataONE
These test cases cover different scenarios that may happen when importing datasets from DataONE.
This test covers the ideal case where dataset importing has all of the needed information to properly run. This includes the dataset location, title, and selected environment.
Testing Steps:
Fire influences on forest recovery and associated climate feedbacks in Siberian Larch Forests, Russia
Selected data
section matches the uri withData Source
appendedRstudio
is selected in the Environments widgetCreate New Tale and Launch
button is enabledCreate New Tale and Launch
science
Analyze in Whole Tale
feature is deployed across a few DataONE test sites. This test ensures Whole Tale has the ability to import data from each of them.Links:
Testing Steps:
Create New Tale and Launch
Task 3: Shared Behavior
These cases show errors that are common between Dataverse and DataONE. Although they are tested using DataONE URIs, the errors should be the same when replacing it with a Dataverse URI.
This test covers the case where the name query parameter is missing. The expected behavior is that the uri query parameter is used instead.
Testing Steps:
https://dataverse.harvard.edu/api/access/datafile/3323458
Selected data
section matches the uri withData Source
appendedCreate New Tale and Launch
button is disabledCreate New Tale and Launch
This test covers the case where a user imports data from an external source and selects READ/WRITE in the Create Tale Modal.
Testing Steps (Variant 1):
Selected data
section matches the uri withData Source
appendedCreate New Tale and Launch
button is disabledREAD/WRITE
Create New Tale and Launch
Testing Steps (Variant 2):
Selected data
section matches the uri withData Source
appendedCreate New Tale and Launch
button is disabledREAD/WRITE
Create New Tale and Launch
Tale metadata tests
The purpose of these tests are to confirm that the metadata files (manifest.json, environment.json, LICENSE) we generate are correct.
[x] manifest.json
manifest.json
file undermetadata/
schema:author
createdBy
aggregates
aggregates
Datasets
[x] environment.json
metadata/environment.json
config
section from girder matches theconfig
section inenvironment.json
[x] LICENSE
LICENSE
fileLICENSE
file matches the selected license on the metadata pageLICENSE
changed appropriatelyPublishing tests
[x] Case 1: No Accounts Configured
Publish tale...
Go to Settings
[x] Case 2: Publishing to a Third Party
Publish tale...
Publish
metadata.xml
LICENSE
README.md
manifest.json
environment.json
Repeat for each third party provider
a. After publishing to DataONE, use girder to query the Tale
b. Ensure that the 'pid' field in the 'publishInfo' object has an identifier in a doi format
[x] Case 3: Re-published Tale
Published Location
in Run > metadataPublished Location
has changed to the correct package landing pageZenodo integration tests
doi:10.5281/zenodo.16384
ver_1
https://zenodo.org/record/1172960#.XidIvlNKh24
ver_2
doi:10.5281/zenodo.1172960
ver_2
doi:10.5281/zenodo.608984
ver_2
The register tests the following cases.
The register tests the following cases.
publishInfo
field on the tale object contains pid, repository, repository_id, urirun-local.sh
command to run the Tale locallyRegression tests
[x] Internal-state problems (#326)
/manage
viewtest123
) and click down into it/manage
viewtest123
folder and close the incognito tab/manage
view of your Home folder[x] Invalid instance ID (#333)
/run/ThisIsObviouslyNotARealID
/browse
page instead[x] Files don't overflow Manage page (#410)
[x] Handle read only Tales (#406)