-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Azure blob read/write integration test #7024
+131
−1
Merged
Changes from 35 commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
3a06506
Initial Blob Storage Read Test
kraefrei 0abca4b
Fix read test for azure
kraefrei 7a20b31
Add log workflow option to test
kraefrei ee4bb69
Merge branch 'develop' into WX-935
THWiseman 0e107ba
added environment variables to CI
THWiseman 28a3507
new script
THWiseman b7dd69e
denied
THWiseman 21a4e93
permissions
THWiseman 1b35ceb
testing
THWiseman 578f3a7
testing
THWiseman ccde773
i
THWiseman 91f7f72
per
THWiseman 33aad95
testing
THWiseman 196925f
testing
THWiseman cab62aa
change
THWiseman d5da50b
testing
THWiseman 1717090
testy'
THWiseman e709eac
testi
THWiseman 3d53660
testing
THWiseman fd8f65b
stomething
THWiseman 44534da
something
THWiseman 8b7c4f3
testing
THWiseman ccea5a4
testing
THWiseman d585005
testing
THWiseman a1ba566
test
THWiseman 0f0c481
emtpy
THWiseman 1ccf705
testing
THWiseman 05d5168
cleanup
THWiseman 8c9b37f
h
THWiseman f1e09e4
h
THWiseman de2bf9b
h
THWiseman 958db3c
newdir
THWiseman 0b80d19
h
THWiseman bcd11a5
remove
THWiseman 097985f
Merge branch 'develop' into WX-935
THWiseman 3407a08
Merge branch 'develop' into WX-935
kraefrei 70913a0
Add comment to clarify the config
kraefrei File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
16 changes: 16 additions & 0 deletions
16
centaur/src/main/resources/azureBlobTestCases/azure_blob_storage_read.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
name: azure_blob_storage_read | ||
testFormat: workflowsuccess | ||
backends: [Local] | ||
tags: ["blob", "azure"] | ||
retryTestFailures: false | ||
|
||
files { | ||
workflow: azure_blob_storage_read/azure_blob_storage_read.wdl | ||
inputs: azure_blob_storage_read/azure_blob_storage_read.inputs | ||
options: azure_blob_storage_read/azure_blob_storage_read.options | ||
} | ||
|
||
metadata { | ||
status: Succeeded | ||
"outputs.azure_blob_storage_read.s1": "This is my test file! Did it work??" | ||
} |
3 changes: 3 additions & 0 deletions
3
.../main/resources/azureBlobTestCases/azure_blob_storage_read/azure_blob_storage_read.inputs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"azure_blob_storage_read.file1": "https://centaurtesting.blob.core.windows.net/test-blob/testRead.txt" | ||
} |
3 changes: 3 additions & 0 deletions
3
...main/resources/azureBlobTestCases/azure_blob_storage_read/azure_blob_storage_read.options
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"final_workflow_log_dir": "https://centaurtesting.blob.core.windows.net/test-blob/test-cromwell-workflow-logs" | ||
} |
12 changes: 12 additions & 0 deletions
12
...src/main/resources/azureBlobTestCases/azure_blob_storage_read/azure_blob_storage_read.wdl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
version 1.0 | ||
|
||
workflow azure_blob_storage_read { | ||
|
||
input { | ||
File file1 | ||
} | ||
|
||
output { | ||
String s1 = read_string(file1) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -o errexit -o nounset -o pipefail | ||
# import in shellcheck / CI / IntelliJ compatible ways | ||
# shellcheck source=/dev/null | ||
source "${BASH_SOURCE%/*}/test.inc.sh" || source test.inc.sh | ||
|
||
#NB: This function ensures that the correct .conf file is being used by cromwell (among other things). | ||
#Blob storage requires a configuration file tailored for Azure. | ||
cromwell::build::setup_common_environment | ||
|
||
cromwell::build::setup_centaur_environment | ||
|
||
cromwell::build::assemble_jars | ||
|
||
cromwell::build::run_centaur | ||
|
||
cromwell::build::generate_code_coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
include required(classpath("application.conf")) | ||
include "build_application.inc.conf" | ||
|
||
filesystems { | ||
blob { | ||
class = "cromwell.filesystems.blob.BlobPathBuilderFactory" | ||
global { | ||
# One BFSM is shared across all BlobPathBuilders | ||
class = "cromwell.filesystems.blob.BlobFileSystemManager" | ||
config { | ||
container: "test-blob" | ||
endpoint: "https://centaurtesting.blob.core.windows.net" | ||
subscription: "62b22893-6bc1-46d9-8a90-806bb3cce3c9" | ||
} | ||
} | ||
} | ||
} | ||
|
||
engine { | ||
filesystems { | ||
local { | ||
enabled: false | ||
} | ||
http { | ||
enabled: false | ||
} | ||
blob { | ||
enabled: true | ||
} | ||
} | ||
} | ||
|
||
|
||
backend { | ||
default = "TES" | ||
providers { | ||
TES { | ||
actor-factory = "cromwell.backend.impl.tes.TesBackendLifecycleActorFactory" | ||
config { | ||
# Use for running on blob storage | ||
#root = "https://<storage-account>.blob.core.windows.net/cromwell/cromwell-executions" | ||
root = "cromwell-executions" | ||
dockerRoot = "/cromwell-executions" | ||
endpoint = "http://127.0.0.1:9000/v1/tasks" | ||
concurrent-job-limit = 1000 | ||
transform-blob-to-local-path = false | ||
filesystems { | ||
blob { | ||
enabled: true | ||
} | ||
local { | ||
enabled: true | ||
} | ||
http { | ||
enabled: true | ||
jgainerdewar marked this conversation as resolved.
Show resolved
Hide resolved
|
||
} | ||
} | ||
} | ||
|
||
# Have the engine (maybe) authenticate to docker.io. See BT-141 for more info. | ||
include "dockerhub_provider_config_v1.inc.conf" | ||
} | ||
} | ||
} |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like running this workflow doesn't result in any files being written to the blob container, is that right? Can we use a slightly more complicated workflow that will use the
Local
filesystem rather than TES, and execute a task?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does result in a log being written to the storage container with the supplied options. I can work on a different wdl though to run a task locally if you think thats a clearer test!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems better to exercise all parts of the system. I know I'm late to the party here, if it ends up not being an easy change I'm fine calling it out of scope.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This ended up being a more difficult change because the
Local
backend doesn't easily support working on filesystems other than the local one. For now I think this may need to wait.